一、VM上的環境:
原本考量使用新版的Apache2.4,配合PHP5.6與MariaDB100,架好後連同資料庫轉碼完成,才發現自然攝影中心網站主程式無法相容PHP5.6與MariaDB100的新函式,所以只好降版成Apache2.2、PHP5.3與MySQL5.5,會用PHP5.3是因為網站主程式實在太舊,連PHP5.4都不支援了。
二、Dump原資料庫與轉碼:
1. mysqldump --default-character-set=latin1 -u root -p -B 資料庫名 > 資料庫名.sql
原系統的資料庫是MySQL4.X版,預設語系是latin1。
2. perl -pi -e 's/TYPE=MyISAM/ENGINE=MyISAM/' 資料庫名.sql
將sql檔中的 TYPE=MyISAM字串替代成 ENGINE=MyISAM
三、Import原資料庫進VM
1. mysql -uroot -p 資料庫名 --default-character-set=utf8 --force < 資料庫名.sql
將資料庫預設語系設成UTF8,並忽略錯誤訊息。因為資料庫太大了,透過phpMyAdmin 匯入會出現問題。
2. 匯入過程發現vbb35cpsession、vbb35session這兩個表無法匯入成功,還好這兩個表不
大,所以重新用phpMyAdmin在新、舊主機之前匯出與匯入。
四、移轉網站內容部份
自然攝影中心網站創建10餘年,中間已移機過一次,加上提供會員貼圖,所以不只是資料庫很大,Content部份更大,本想透過打包成壓縮檔再傳上VM解壓縮,再更改屬性,結果發現有內容會遺漏,所以只好在兩部Servet中建構Sync。安裝Sync方式略,僅列出設定部份。無論Server還是Client端,請在/usr/local/etc/rsyncd中加入
command_args="-4 --daemon" #以免Rsync以只以預設的IPV6協定傳輸
Server端:
於rsyncd.conf中加入:
[web]
commet = backup ns25
path = /
auth users = username
uid = root
gid = wheel
secrets file = /usr/local/etc/rsync/rsyncd.secrets
read only = no
dont compress = *.gz *.tgz *.zip *.bz2
username:password
此處的username與rsyncd.conf的設定需一致。
存檔後chmod 600 rsyncd.secrets
Client端:
新增/usr/local/etc/rsyncd.secrests(或/usr/local/etc/rsync/rsyncd.secrets),內容如下:
password
存檔後chmod 600 rsyncd.secrets
Client端與Server端的password需一致。
於Client端下指令如下:
/usr/local/bin/rsync -avzP --delete /home/nc username@Server端_IP::web
其中/home/nc是我要同步的Client目錄,同步到Server端的/下。
系統會要求輸入password,輸入之前設定的即可。
五、修改網站程式
1. 錯誤訊息:Assigning the return value of new by reference is deprecated
修改init.php程式,找到 = & new 字串,將&去掉,存檔,共有7處。
修改class_core.php,找到 = & new 字串,將&去掉,存檔,有1處。
2. 錯誤訊息:Function set_magic_quotes_runtime() is deprecated
這是因為原程式magic_quotes_runtime函式語法較舊。
修改class_core.php,找到set_magic_quotes_runtime(0);字串,修改成
ini_set("magic_quotes_runtime", 0);
存檔。
六、看看新網站上的圖和文章是否正常顯示。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。