星期五, 8月 21, 2009

彰縣版ACFS MandrivaLinux2009.1安裝sfs3 學務系統記要

彰縣版acfs MandrivalLinux2009.1安裝後,要轉移舊的sfs到這台機器,有幾點要注意:

1.先執行/bin/updaterpm.sh,再執行urpmi php-iconv php-zip
2.修正/etc/php.ini 將
magic_quotes_gpc=Off
改為
magic_quotes_gpc=On

3.停止資料庫服務和網頁服務
/etc/init.d/mysqld stop
/etc/init.d/httpd stop

4.將原有/home/webadmin/html/下的sfs3資料夾刪除,並下載新版的sfs_stable並解壓縮
cd /home/webadmin/html/
rm -rf sfs3
wget
http://sfscvs.tcc.edu.tw/sfs_stable.tar.gz
tar zxvf sfs_stable.tar.gz
mv sfs3_stable  /home/webadmin/html/sfs3


5.將原有備份下來的data資料夾,置於/home/webadmin/html/sfs3/,並且變更權限
chown apache.apache -R /home/webadmin/html/sfs3/data  

6.修改/home/webadmin/html/sfs3/include/config.dist.php 設定檔
cd  /home/webadmin/html/sfs3/include/
cp config.dist.php config.php


/**********************************
 系統設定
***********************************/
//程式根目錄 PATH
$SFS_PATH = "/home/webadmin/html/sfs3";

//學務管理首頁程式 URL (設定時,保留最後的 "/" )
$SFS_PATH_HTML =" /sfs3/ ";

//學校首頁 URL
$HOME_URL ="localhost";

/**********************************
  MYSQL 連接設定
***********************************/
// mysql 主機
$mysql_host ="localhost";

// mysql 使用者
$mysql_user ="root";

// mysql 密碼
$mysql_pass ="";//預設為superuser

// 資料庫名稱
$mysql_db   ="sfs3";
/**********************************
  上載檔案設定
***********************************/
//上載檔案放置位置,上載目錄權限需設為 777
$UPLOAD_PATH = "/home/webadmin/html/sfs3/data/";

//別名 (alias)  apache 在設定檔 httpd.conf 中加入  WIN32 在IIS管理員中設定
$UPLOAD_URL = "/sfs3/data/";




*************************************

7.資料庫的轉移

依據彰化縣自由軟體交流網上http://163.23.89.100/free/viewthread.php?tid=537&extra=page%3D1需注意

(1)備註清除問題
舊版的舊版學藉系統務必執行備註清除工作
否則匯入新版時資料庫將出現資料遺失的問題

清除方式:
由網頁登入舊的學籍系統找到 [問題工具箱/備註清除]
並執行[備註清除動作],之後資料庫的檔案才備份下來放到新系統去。

原本學校舊的sfs3是安裝在Centos5.2上,先試看看直接將整個sfs3資料庫tar下來,再丟到新的機器上的/var/lib/mysql,然後執行
mysqlcheck -uroot -p密碼 -r sfs3
發現會出現一些incorrect key file for table..的錯誤訊息,所以只好再回到舊機器上執行
mysqldump -uroot -p密碼 --default-character-set=latin1 sfs3 > sfs3_db_backup.sql

到新的系統執行資料庫導入(註:mysqld服務要啟動)
[建立空白資料庫]
mysqladmin -uroot -p create  sfs3
[將舊資料導入空白資料庫]
mysql -uroot  -p   sfs3 < sfs3_db_backup.sql
再check一下資料庫
mysqlcheck -u root -p  -r sfs3
如果都顯示Ok,就表示一切沒問題

8.到新的學務系統,看一下有模組路徑對不對,不對的話到【系統管理】->【模組權限管理】,開一個模組,再儲存,以修正模組路徑

9.到【系統管理】->【問題工具箱】->【學籍修正】看是否可以執行,還是出現
Smarty error: unable to read resource: "/home/webadmin/html/sfs3/es/..../templates/address.htm"

程式目前執行位置:/home/webadmin/html/sfs3/include/libs/Smarty.class.php 的第 1092

若是出現這個訊息,就要注意兩個地方

(1)/home/webadmin/html/sfs3/data/templates_c 是否可以寫入
(2)/home/webadmin/html/sfs3/include/config.php的路徑設定,是否和httpd.conf一致,上面我們的網頁路徑設定為/home/webadmin/html/sfs3,但是2009.1這一版,的路徑預設為/var/www/html ,所以導致以上問題的產生,因此再修改/etc/httpd/conf/httpd.conf
大約第425行
,將DocumentRoot "/var/www/html" 改為
DocumentRoot "/home/webadmin/html" ,儲存後,重新啟動apache,
發現好像還是一樣的情形,那就再看一下httpd.conf 的最後一行,是否有
Include conf/vhosts.d/*.conf,若有,那表示這個設定檔有設Virtual Host,有兩個辦法
(a)將之註解
(b)到/etc/httpd/conf/vhosts.d/
修改00_default_vhosts.conf
在46行的地方,看是否有
<Virtual Host *:80>
ServerName www.sinsen.com.tw
DocumentRoot  /var/www/html    //此行改為DocumentRoot /home/webadmin/html
</VirtualHost>

修改完後,再重新啟動apache,應該就不會出現這個錯誤訊息!

******************************************************

註:

修改mysql的root 密碼

#mysql mysql -u root -p
#Enter password: //這邊輸入原來mysql root的密碼
mysql>set password for 'root'@'localhost' = password('新的密碼');
mysql>flush privileges;

增加一個新的使用者以便於管理sfs3資料庫
mysql>GRANT ALL ON sfs3.* TO '新的使用者名稱'@'localhost' IDENTIFIED BY '新的使用者密碼' WITH GRANT OPTION;
mysql>flush privileges;
註:上面一定要有localhost ,不能只有新的使用者名稱,不然無法連線mysql

沒有留言: