主題: [分享] 將Lifetype從Windows server搬移到Linux server上 作者: falldog 於 八月 26, 2007, 08:26:16 上午 原文出自:http://falldog.no-ip.org/lifetype/post/1/44
之前在windows上執行,有時候會造成Apache莫名奇妙地失靈,所以才想將server移至Linux Ubuntu上執行。這樣子所吃的資源可能也會比較少一點。 以下紀錄了移機的過程,主要遇到的問題有...編碼以及轉簡潔網址的問題。 [事前準備工作] 將Windows的資料備份出來 將apache底下的lifetype整個資料夾壓縮備份起來(用zip壓縮,傳至Linux上再用unzip解壓縮) 進入phpMyAdmin後,將lifetype資料庫輸出至檔案中lifetype.sql(請選擇「使用完整新增指令」) 在Ubunte上安裝Apache、Mysql、PHP(在這邊不多加著墨) % sudo apt-get install apache2 % sudo apt-get install mysql % sudo apt-get install php % sudo apt-get install php-mysql 將原本Windows的lifetype程式碼,傳至apache2預設資料夾/var/www/ unzip lifetype.zip 上網下載phpMyAdmin,用來管理mysql資料庫 wget http://xxxxx.tar.gz/ tar -xvzf xxxx.tar.gz [重建Database] 利用phpMyAdmin建立一個lifetype資料庫,校對要調成utf8_unicode_ci 在Windows匯出的lifetype.sql檔前面加上 SET NAMES utf8; SET CHARACTER_SET_CLIENT=utf8; SET CHARACTER_SET_RESULTS=utf8; 在cmd line下指令,匯入lifetype.sql檔 mysql [lifetype DB name] -u[Name] -p[Password] < lifetype.sql \ --default-character-set=utf8 # 因為mysql的預設編碼為latin1,因為需設定正確的character-set才能匯入 # 或是直接更改mysql預設的編碼方式為utf8就更乾脆了,可修改mysql的設定檔my.cnf # [client] # default-character-set=utf8 # [mysqld] # default-character-set=utf8 # default-collation=utf8_general_ci [建置Lifetype網站] 把原本在Windows上的lifetype資料夾複製到/var/www後,建議是把wizard.php抓回來,重新建置一遍,這樣子會比較簡單一點,否則要自己動手修改一些東西。 修改/lifetype/config/config.properties.php內的db_host為 $config['db_host'] = localhost 將tmp及gallery這兩個資料夾權限改為777 % cd /var/www/lifetype % chmod 777 tmp % chmod 777 gallery 看gallery底下有幾個資料夾就改幾個資料夾的權限,因為這些都是blog user上傳檔案的資料夾,因為本站只有一個user,blog_user_id為1,所以就只有一個資料夾「1」 % cd gallery % chmod 777 1 輸入網站的網址,試試看是否正常運作。照理來說,到目前為止應該都是正常的。 % /etc/init.d/apache2 start 如果出現Error Message: apache2: Could not determine the server's fully qualified domain name, using 127.0.1.1 for ServerName 在/etc/apache2/apache2.conf中,加入ServerName localhost即可 但是,要進入admin.php的後台管理系統卻會失敗,因為原本網站的IP跟新網站的IP不一樣,而原本的DB中紀錄的base_url導致網頁中的連結都不正常了。 @解決方法:利用phpMyAdmin進入lifetype的DB,進入lt_config這個Table。修改其中的兩項參數: base_url blog_does_not_exist_url 將這兩個url參數中的網址改成新的IP就行了! 網站中如有使用authImage外掛,可能會發現在產生驗證圖檔時,出現錯誤訊息「You don't have GD support compiled in, we cannot create an authimage. Please activate GD Support.」。這是因為你的php5沒有使用GD module,因為只要將GD module安裝起來即可,以下為Ubuntu的做法 % apt-get install php5-gd % /etc/init.d/apache2 restart [使用簡潔網址] 有使用簡潔網址的人,因為Ubuntu預設沒有掛載mod_rewrite,所以要先將module rewrite掛進來,因為apache在安裝時,其實已經裝載好,只是尚未load而已。而load的語法已寫好放在/etc/apache2/mods-available中,只要做個link放至mods-enabled,apache就會自動去load了 % sudo ln -s /etc/apache2/mods-available/rewrite.load \ /etc/apache2/mods-enabled/rewrite.load 或是 % sudo a2enmod rewrite 修改/etc/apache2/sites-enabled/000-default 先找到 <Directory /var/www> ... </Directory> 將其中的AllowOverride後的None改為All Options後面要有FollowSymLinks 然後重新啟動Apache /etc/init.d/apache2 restart 順利的話,應該就一切正常了:) 可惜的是,我一點也不順利....Orz,我開網頁時,一直遇到error 500,打開apache的error.log檔來看時,顯示的錯誤是:「/var/www/lifetype/.htaccess: </Files> without matching <Files> section 」我一直不知道是哪裡的問題,千萬百試之後,才發現,我的.htaccess檔的編碼是utf8,後來把它改成ansi編碼就OK了~我猜可能是從windows複製過來linux後的才變這樣。 |