2012年8月16日 星期四

sfs3設定注意事項

sfs3設定注意事項

sfs3學務系統的安裝步驟實在很簡單,解開壓縮檔後直接使用setup就可以搞定。
底下紀錄的是一些應該要設定的注意事項
一、系統裝完後會告訴你要做的事情如下(路徑要看自己怎麼設定喔!):
chmod 644 include/config.php
rm -f install.php
mkdir /var/www/sfs3/data/    <===通常都建立好了,用來存放上傳資料的
chmod 777 /var/www/sfs3/data/   <===改成大家都可以傳的權限
加入底下的東西到httpd.conf或其他apache的設定檔裡,不加的話那個學務系統title的圖示也不會出來= ="
Alias /upfiles/ '/var/www/html/sfs3/data/'
<Directory '/var/www/html/sfs3/data/'>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
二、學務系統更新:
1.弄個vi sfs_up.sh之類的檔案,裏面寫入:
#!/bin/sh
cd /var/www/html
wget http://sfscvs.tc.edu.tw/sfs_stable5.tar.gz  
tar zxf sfs_stable5.tar.gz
cp -af sfs3_stable/* sfs3/
rm -rf sfs3_stable
rm -f sfs_stable5.tar.gz
rm -f sfs3/install.php
將sfs_up.sh這個檔案權限改為可執行後執行即可。
(特別注意:因應台中縣市合併,原本的tcc改為tc。2013.03.07註)


2.加入自動更新排程:輸入crontab -e之後寫入
20 4 */2 * * /放置路徑/sfs_up.sh每兩天的4:20時更新一次
或是直接用vi寫入/etc/crontab裡面囉(管理比較方便)

題外話(補充sfs3系統說明不足處),如果要用sfs3.1本身的更新功能,也可以照系統裡的說明將script貼好並且調整權限,crontab裡面寫入
1 * * * * /root/upsfs.php
即可),日後心血來潮要更新也可以直接下指令

三、網路上沒寫清楚,如果要將sfs3裝在utf8顯示的電腦上與utf8網頁程式共生共存,調整事項如下:
1.開啟apache底下的httpd.conf,找到根目錄的選項如
Options Indexes FolloeSymLinks
AllowOverride None
Order allow,deny
Allow from all
,第一行多加MultiViews多國語言支援這一項:
Options Indexes FolloeSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
調整完畢後找到AddDefaultCharset這一行註解掉,變成
#AddDefaultCharset UTF-8
這行本來的效果是忽略html語法中meta標籤的字集編碼設定。 apache2.x的不同版本可能略有差異,請google一下就對了。
2.調整php.ini檔案
這個東西很容易忘記,特別是網頁當中會用到php語法的務必將這個選項註解掉。
default_charset = "utf8"
改為
;default_charset = "utf8"
其他安全性調整選項參見PHP防止SQL-Injection?

四、sfs3的預設資料庫編碼為latin1,連線校對亦然。
當該死(因為被編碼弄到頭很痛...)的資料庫要還原時,請記得創建資料使用latin1連線校對,然後mysql指令匯入回去記得加上--default-character-set=latin1就對了!!!
五、遠端備份指令,底下參考資料中抄來的,在你常下備份指令的地方用vi加入以下的東西,記得要改: 例如:
vi sfsbackup.sh
#!/bin/sh
rm –rf /備份存檔路徑/*.*      //視你要不要刪除之前的備份決定要不要寫
cd /var/www/            //sfs3程式的存在路徑
tar zcvf /備份存檔路徑/`/bin/date +%Y%m%d`_sfs3_html.tar.gz sfs3
/usr/bin/mysqldump -u root -p密碼 sfs3 > /存檔路徑/`date +%Y%m%d`_sfs3.sql

cd /備份存檔路徑
/usr/bin/ncftpput -u username -p password xxx.xxx.xxx.xxx /遠端ftp站台上傳的檔案目錄路徑 *
要用以前記得檢查是不是已經裝好ncftp,否則上面的ncftpput指令就會失靈啦! (centos裝這東西比較麻煩,裝ncftp教學請點這裡)

六、到這邊總算可以說完成了!收工!
---------------------------------------------------------
註:如果說要改成UTF8,工程比較浩大一點,解決資料庫都設定成UTF8編碼之後,先到sfs3/include/config.php裡找到 =$CONN->Connect($mysql_host,$mysql_user,$mysql_pass,$mysql_db); 這一行底下加入
mysql_query('SET NAMES utf8;');
mysql_query('SET CHARACTER_SET_CLIENT=big5');
mysql_query('SET CHARACTER_SET_RESULTS=big5');
改utf8時自己遇到要改的字有: 底下是vi的指令
%s/涂\\/涂/g
%s/愧\\/愧/g
%s/枯\\/枯/g
%s/閱\\/閱/g
%s/璞\\/璞/g
%s/俞\\/俞/g
%s/蓋\\/蓋/g
%s/餐\\/餐/g
%s/功\\/功/g
%s/珮\\/珮/g
%s/許\\/許/g
%s/吭\\/吭/g
%s/淚\\/淚/g
%s/穀\\/穀/g
%s/歿\\/歿/g
%s/\\r\
/\
/g
%s/\\r//g
%s/\',/',/gc
註2: 我的iptables設定大致如下:
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
/sbin/iptables -P   INPUT DROP
/sbin/iptables -P  OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P  PREROUTING ACCEPT
/sbin/iptables -t nat -P      OUTPUT ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT

/sbin/iptables -A INPUT -i lo -p all -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -s 163.19.160.0/24  -p all -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -s 192.168.101.0/24  -p all -j ACCEPT

#sfs3 outside-work
/sbin/iptables -A INPUT -s 120.104.199.0/255.255.240.0 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -s 169.254.30.56/32 -p tcp --dport 80 -j ACCEPT

#想讓他進來的特定人士大概就這樣寫吧
/sbin/iptables -A INPUT -s 59.126.215.177 -p all -j ACCEPT

#擋ping設定
/sbin/iptables -A INPUT -p icmp --icmp-type 8 -j DROP
參考資料
1.http://163.17.90.135/plog/
2.將sfs3資料庫由latin1更改成utf8
3.建功sfs3更新
4.sfs3備份還原筆記

沒有留言:

張貼留言