2013年11月25日 星期一

[網管筆記] SFS3 VM 主機設置方法

參考資料:育英國小 來上電腦課 http://blogs.yyes.chc.edu.tw/post/2/4703

想法:
使用內部 IP 架設 sfs3 學務管理系統,
再利用 O2 防火牆 - NAT- 目的 NAT 來轉址。

安裝 Debian 時會以 DHCP 的方式派發 IP,
以我們環境而言是困擾的,記得在派發 IP 時按 Cancel 來取消,
以便進入手動設定網路環境。






【更新及安裝套件】
以 apt 指令先作系統更新,再安裝 SFS 必備的「LAMP」相關套件:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 php5 mysql-server php5-mysql

【Rsync 檔案同步傳輸複製】
sudo rsync -av --delete username@163.23.xxx.xxx:/var/lib/mysql/sfs3/ /var/lib/mysql/sfs3/
sudo rsync -av --delete username@163.23.xxx.xxx:/var/www/sfs3/ /var/www/sfs3/

【學務系統設定】
複製過來的學務系統網址、路徑與原先不同,而資料庫的使用者及密碼也可能不符,即使在測試階段也需修改設定才能正常顯示網頁:
sudo vi /var/www/sfs3/include/config.php
檢查一下第12.15行的路徑設定,MySQL 資料庫設定部份在第37.40.43.46行,檔案上傳位置由第53.55行指定。

如果想要利用 O2 NAT 虛擬機 IP ,請在這邊設定實體 IP



【自動更新程式設定】﹣sfs3update.sh

#!/bin/bash
cd /tmp/
/usr/bin/wget http://sfscvs.tc.edu.tw/sfs_stable5.tar.gz
/bin/tar zxf sfs_stable5.tar.gz
/bin/rm setup.sh -f
/bin/rm sfs3_stable/install.php -f
/bin/cp sfs3_stable/* /var/www/sfs3/ -af
/bin/rm -f sfs_stable5.tar.gz
/bin/rm -rf sfs3_stable/

echo " * SFS Update Complete!!"

【Apache 設定】
新增上傳檔案路徑別名
sudo vi /etc/apache2/apache2.conf
最後一行加入下列設定:
Alias /upfiles/ "/var/www/sfs3/data/"

這個設定會影響學務系統網頁左上方3.1版圖案的正常顯示,以及校務佈告欄模組公告附加檔案的上傳下載。



VirtualHost 設定 (可省略)
sudo vi /etc/apache2/sites-enabled/virtualhost
加入

# Name Based Virtual hosts
<VirtualHost 虛擬主機內部 IP:80>
ServerName sfs.xxxx.chc.edu.tw
DocumentRoot /var/www/sfs3
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>

「/etc/apache2/sites-enabled/virtualhost」這個檔案須自行建立,檔名不拘。

可是,其中「Options FollowSymLinks」的上一行起,至下兩行共四行的相關設定,是為了防止 Apache 傳回網站目錄中檔案完整清單的安全設定,如果不寫在這裡,一定要記得放入 Apache 的設定檔裡。

Apache 設定到此結束,重新啟動服務:
sudo /etc/init.d/apache2 restart

【連結列修正】
測試階段時主機的網址與原先學務系統不同,登入學務系統的第一件事就是修正這個問題,找出「系統管理 > 系統維護與管理 > 連結列修正」,執行後才能修正各個模組的連結網址。
點選系統選單中各個模組,不僅能正常開啟外,查看瀏覽器網址列顯示的路徑,也應是目前主機的位址。

【系統測試】
學務系統裡測試了幾個以前系統遷移或升級後曾有異常的地方:
‧校務佈告欄公告時,檔案可否附加及下載。
‧各班學籍資料可否顯示。
‧「成績繳交管理查詢」是否正常。
‧轉入學生學籍資料中「戶口資料」能否補登。
‧「許功蓋閱俞……」等字可否正常輸入、不致顯示亂碼。


【O2 防火牆設定】-【防火牆】-【NAT】-【目的NAT】