[1052] XOOPS輕鬆架
一、 基本必要設定
- 主機的php.ini中的display_error也要設成on。
- 一定要裝站長工具箱tad_adm,並確定有將模組使用權開給「訪客」
- 請盡量照按站長工具箱後台的「主機環境」建議值來設定php.ini
- XOOPS確定在2.5.7以上,所有模組務必更新到最新版。
- 系統偏好設定「自動編譯您修改的樣板檔?」務必設成「是」。
- 系統偏好設定「使用者可選擇的佈景」務必包含「預設佈景」。
- 系統偏好設定「預設樣板群組」確定是「default」
- 若沒有安裝tad_adm站長工具箱,請進資料庫來開啟除錯:將「config」表中「conf_name」值為「debug_mode」的那筆資料(通常為編號13)其「conf_value」值改為「1」即可開啟除錯。
- 若有上傳tad_adm模組,但沒安裝,亦可在瀏覽器輸入「http://網址/modules/tad_adm/pma.php」,然後進入資料庫,同上一點方式修改即可。
- 若有裝tad_adm,則直接連到「http://網址/modules/tad_adm」以登入開除錯。
- 若還是空白,就有可能是被防護模組擋下,因此,建議關閉之。
- 記得修改「/xoops_data/configs/xoopsconfig.php」將「"debugLevel" => 2,」改為「"debugLevel" => 0,」如此,未登入才看得到錯誤訊息。
- 善用站長工具箱的「關閉所有區塊」和「關閉所有模組」來判斷問題出在模組還是區塊。
- 如果問題出在區塊,請至區塊管理將區塊一個一個陸續關閉,看關掉那一個之後變成正常,那就是該區快出問題。有問題的區塊先嘗試去做完整的區塊設定並務必儲存設定,看看能否改善。
- 先進入資料庫,執行以下SQL語法(xx_modules請自行替換正確的前置字串): INSERT INTO `xx_modules` ( `name`, `version`, `last_update`, `weight`, `isactive`, `dirname`, `hasmain`, `hasadmin`, `hassearch`, `hasconfig`, `hascomments`, `hasnotification`) VALUES ('站長工具箱', 255, 1412347040, 0, 1, 'tad_adm', 1, 1, 0, 1, 0, 0);
- 接著觀察「站長工具箱」的模組編號,即mid的值,並在下方語法填入正確mid數字,接著再執行: INSERT INTO `前置字串_group_permission` (`gperm_groupid`, `gperm_itemid`, `gperm_modid`, `gperm_name`) VALUES (1, mid的值, 1, 'system_admin'), (1, mid的值, 1, 'block_read'), (1, mid的值, 1, 'module_admin'), (1, mid的值, 1, 'module_read'), (2, mid的值, 1, 'module_read'), (3, mid的值, 1, 'module_read');
- 如此,站長工具箱便裝起來了!
- 若是原本就偶有裝站長工具箱,只是沒開權限給訪客,請進資料庫執行
INSERT INTO `前置字串_group_permission` (`gperm_groupid`, `gperm_itemid`, `gperm_modid`, `gperm_name`) VALUES
(3, mid的值, 1, 'module_read');
- 原因通常有兩種,一是session的資料表壞了,第二種則是空間不足,無法寫入。
- 登入資料庫,找到session資料表,勾選,並到下方選擇「修復資料表」即可。
- 若是空間不足(linux較常見),執行df,看看「/」是否為100%
- 還原佈景:將「config」表中「conf_name」值為「theme_set 」的那筆資料(通常為編號7)其「conf_value」值改為「default」即可回到預設佈景。
- 重設密碼:在「users」表中編輯要改密碼的使用者,在「pass」輸入新密碼,並選擇左邊的「函數」選單值為「MD5」,送出即可。
- 關閉模組:在「modules」表中編輯要關閉的模組,將「isactive」設為「0」即可。
- 關閉區塊:在「newblocks」表中編輯要關閉的區塊,將「visible」設為「0」即可。
- 關閉某模組區塊:在「modules」表中找出該模組的mid編號,在「newblocks」表中用「搜索」功能找出mid屬於該編號的所有區塊,按照上法,關閉之即可。
- 新版的防護模組已經不需要在mainfile.php引入任何檔案,若有請刪除之。
- 防護模組最重要的設定都在偏好設定中,謹記一個原則,別設定的太嚴苛,否則很容易自己被檔住。
- 其實並不建議安裝此模組,除非網站真的有備攻擊現象。因為常常裝了是擋到自己。萬一自己被防護模組檔在門外刪掉「xoops_lib/modules/protector/configs/group1ips*」即可
- 如果是因為設了黑名單IP範圍而無法登入的,那麼請刪掉「badip*」
- 先至後台 tadtools的初始設定按一下儲存。
- 若只是部份模組頁面是空白的,請至後台模組按一下該模組的「更新」試試。
- 至後台「維護」清除快取。自行用FTP連到/xoops_data/cache/smarty_compile去自行刪除樣板檔也行。
- 至後台「樣板」,左邊切換至目前使用的樣板,點選其下的modules,若發現底下出現三個以上的資料夾,則請用FTP連至主機,將「themes/使用佈景/modules/」底下的東西全部刪除。然後再線上更新該佈景一次即可。若佈景是自己手動下載(非線上安裝版)或花錢請人設計的,則請再上傳一次佈景即可。至此,應可排除樣板問題。
- 先至後台 tadtools的初始設定按一下儲存。
- 若是有裝tad_login,則可先關閉模組試試網站是否恢復正常,若是,表示是tad_login出問題。確定主機PHP版本為PHP5.4以上,並且主機有支援php_curl。
- 接著至tad_login完成FB設定,或者至tad_login偏好設定將「導覽列的登入選項」選擇「僅顯示XOOPS的登入界面」試試。
- 若是有安裝多人網頁模組tad_web,則請先關閉「選單」區塊試試。
- 看在那一個目錄出現,然後檢查該目錄下是否有.htaccess檔,若有刪除之試試。
- 若刪除後就正常,那就是Apache主機設定不正確所致。
- 如果網站是放在主目錄如 /var/www,那麼請檢查httpd.conf (或 /etc/apache2/sites-enabled/000-default)
- 如果網站是放在使用者目錄下如 /home/使用者/public_html,那麼請檢查mods-available/userdir.conf
- 找到網站目錄設定(或使用者網站目錄設定),看看其中的 AllowOverride 設定
- 您可以設成「AllowOverride All」或者「AllowOverride Options AuthConfig FileInfo Limit」(重點在那個 Options 一定要有)
- 設好重啟Apache並放回.htaccess檔試試。
- 實體檔案的備份只要把網頁根目錄整個複製或用FTP把整個網頁目錄下載下來即可。務必記得備份在網頁目錄外的xoops_data及xoops_lib
- 若是linux主機可以用pietty等終端機工具登入,然後下指令,將整個目錄打包亦可:
- -zcvpf 備份檔.tar.gz 欲備份目錄,例如: tar -zcvpf web.tar.gz public_html xoops_data xoops_lib
- 若是想要最精簡的備份:只備份uploads目錄即可(亦即使用者上傳的所有檔案)。
- 資料庫要備份之前,可以先清除幾個資料表,以縮小資料庫檔案。
- (1) session資料表、logcounterx_log資料表(若有裝logcounterx計數器的話)
- (2) 若「多餘」欄位有值,可將該資料表勾選,然後進行最佳化。
- 資料庫要備份前,先確定內容中的中文是否正確,若看起來是亂碼,且資料表的校對是「latin1_swedish_ci」(一般都是Big5網站居多)那麼,請裝修正過的phpMyAdmin(http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=17 )以讀取正確資料。
- 若要直接備份實體檔案,請記得關閉MySQL伺服器,然後至/var/lib/mysql(不同主機環境位置可能不同)下將所有資料備份回來即可。
- XOOPS後台內建的「維護」功能亦可會出資料,但須將「/modules/system/admin/maintenance/dump」設為777才能使用。
- 亦可用phpMyAdmin或adminer之類的工具來備份:
- 實體檔案的備份只要把檔案上傳至新主機的網頁目錄即可,Linux主機則需注意目錄的寫入權限,一般而言,uploads、xoops_data底下所有目錄檔案要能寫入(777)。
tar zxvf web.tar.gz
- 「TYPE=MyISAM」在MySQL 5.1.8版以後就不支援這種用法了,所以,若是您的MySQL版本大於5.1.8版者,一定要改為「ENGINE=MyISAM」才行。
- 資料庫的則利用phpMyAdmin或adminer的「匯入」功能,將SQL整個匯入指定的資料庫即可。
- 若是搬移網站,記得修改mainfile.php以及xoops_data/data/secure.php內容。
- 官網:http://www.ozerov.de/bigdump/
- 用文字編輯器開啟bigdump.php後,到42~44行分別輸入資料庫名稱、資料庫帳號、資料庫密碼等資訊,以便讓bigdump.php可以連線資料庫。
- 修改後存檔,接著請將bigdump.php以及剛剛匯出的SQL檔利用FTP上傳到網頁根目錄中。
- 開啟瀏覽器,輸入「http://網址/bigdump.php」,他會自動找出SQL檔出來,您直接按Start Import連結即可開始進行匯入。
- 檢查主機版本,可透過tad_adm站長工具箱中檢查PHP版本,若是您的PHP是5.2以下的,那麼最新您也只能升級到XOOPS 2.4.5。PHP 5.3.7以下的話,只能裝PHP 2.5.7以下的版本。
- 若主機的PHP版本是7以上,那只能裝XOOPS 2.5.8以上版本。
- 升級前,您可以先將您的網站關閉,待升級後,再打開,以避免升級中途剛好有人在瀏覽或新增資料。請到後台偏好設定將「關閉網站」選為「是」即可。
- 下載新版XOOPS,如:http://120.115.2.90/modules/tad_uploader/index.php?of_cat_sn=16
- 解壓縮,先找到htdocs/xoops_data和xoops_lib並將新的xoops_data和xoops_lib上傳覆蓋。
- 解壓縮目錄中除了install目錄和mainfile.php檔案以及xoops_data和xoops_lib不要上傳以外,其他檔案均上傳覆蓋到遠端主機網頁目錄中。
- 若上傳了install目錄以及mainfile.php,那會變成重新安裝。
- linux下mainfile.php 需要設成777。include/license.php也需要設成777。
- 將upgrade升級程式目錄整個上傳到遠端的網頁目錄public_html下
- 用瀏覽器執行「http://網址/upgrade/」以進入升級畫面。
- 結束後,請刪除upgrade目錄
- 若是用XOOPS輕鬆架者,建議把原有的mainfile.php覆蓋回去,以保持原有輕鬆架的彈性。(當然不覆蓋回去也沒關係)
- 將mainfile.php改為444
- 由於系統升級會連同裡面的內建模組一起升級,模組也記得去進行更新。
- 升級2.5.8必須執行「 http://網址/modules/system/admin.php?fct=modulesadmin&op=update&module=system 」,例如:
http://163.26.52.243/~帳號/modules/system/admin.php?fct=modulesadmin&op=update&module=system
- 請到後台的「維護」功能,將三個快取目錄都清一清,以免留下以 些早期的樣板,導致畫面不正常。
- 到後台「偏好設定→系統設定→一般設定」然後將「關閉網站」選為「否」,您的網站可以重新開張囉!
- 不需要會 rsync 指令,就可以用 rsync 強大的功能:
- 用法如下,假設,要把 A主機中 X資料夾的東西,移到 B主機的 Y 資料夾
- A主機 ( 來源資料端 ):關閉防火牆,切換到 X 資料夾底下,執行以下指令: wget http://120.115.2.108/uploads/rsend mv rsend rsend.sh chmod +x ./rsend.sh ./rsend.sh
- 這時候,螢幕上會出現三行指令,選第一行來copy ,然後貼到另一個ssh視窗
- B主機 (接收資料端):關閉防火牆,切換到 Y 資料夾底下,執行剛剛複製的指令即可。
- 完成後,分別在兩台機器上,重新啟動防火牆