6.
進階模組及網站備份與管理
一、Jill Booking場地預約模組
- 請從站長工具箱安裝「71」號jill_booking場地預約模組,並進行該模組偏好設定。
- 進行「選單設定」按「匯入個模組編輯選項」,以方便日後進行場地預約
- 先到後台「新增場地」,截止時間可以不設。設好場地後,請進行「時段設定」。
- 時段若不符合實際需求,可以點「時段標題」自行修改。
- 只要是允許預約的群組成員,都可以使用預約系統,自行點擊日期便可按下想預約的時段。
- 若需要大量或長期的預約,可以用批次預約,並選擇日期範圍來進行預約。
- 若場地需要審核,則進行「審核者設定」,並在前台「審核清單」進行審核。
二、利用Jill Query 來建立自製的查詢工具
- 請從站長工具箱安裝「83」號jill_query簡易查詢模組,並進行該模組偏好設定。
- 此模組的用途是提供線上的資料查詢,資料來源可從Excel匯入。下載匯入範例
- 後台可設定多個查詢事件,依據不同情境,方法有二:
- 「資料管理」:針對查詢事件設定EXCEL欄位,以產生Excel匯入檔,讓其他人可以下載填寫並匯入資料(例如用來調查各班成績,設好欄位後,由各班導師填寫成績匯入,供家長學生查詢)
- 「匯入並建立」:直接匯入現有Excel檔,並依據其中欄位及資料來建立搜尋。
- 先準備好一個完整內容的xlsx檔,到後台的「匯入並建立」匯入之。
- 設定要提供哪幾個欄位作為搜尋依據(關鍵字搜尋就是只要輸入部份文字就可以,不需完全符合),要顯示哪些欄位等設定。
- 接著進行「設定搜尋運算符」,
and
就是同時要符合所有搜尋欄位,or
就是任一個欄位即可
- 最後就可以從前臺搜尋資料。
- 若要更新資料,可以從前台「匯入資料」來重新匯入Excel檔,若發現只有部份資料有誤,亦可直接點擊該表格欄位,直接輸入修改即可。
- 後台「資料管理」可以設定該搜尋要開放給哪些群組、是否要設密碼以,亦可複製或匯出。
- 若是設成「公開」則可從前臺點擊「觀看所有公開資料」來觀看完整內容。
三、Protector 防護模組之應用
- 請從後台「模組」→「安裝模組」安裝「Protector」。
- 接著至站長工具箱的「XOOPS升級」安裝「Protector防護模組中文語系補丁」
- 新版的防護模組已經不需要在mainfile.php引入任何檔案,若有請刪除之。
- 最重要的設定都在偏好設定中,謹記一個原則,別設定的太嚴苛,否則很容易自己被檔住。
- 其實並不建議安裝此模組,除非網站真的有被攻擊現象。因為常常裝了擋到自己。萬一自己被防護模組檔在門外刪掉「
xoops_lib/modules/protector/configs/group1ips*
」即可
- 如果是因為設了黑名單IP範圍而無法登入的,那麼請刪掉「
badip*
」
四、網站平常的保養
- 主機的php.ini中的
display_error
請設成on
(否則看不到真正錯誤訊息)。
- 一定要裝站長工具箱tad_adm,並確定有將模組使用權開給「訪客」(否則無法急救)
- 請盡量照按站長工具箱後台的「主機環境」建議值來設定
php.ini
(減少各種問題)
- XOOPS確定在2.5.9以上,所有模組務必隨時升級到最新版。(可至https://campus-xoops.tn.edu.tw訂閱升級通知)
- 系統偏好設定「自動編譯您修改的樣板檔?」務必設成「是」。
- 系統偏好設定「使用者可選擇的佈景」務必包含「預設佈景」。
- 系統偏好設定「預設樣板群組」確定是「
default
」
五、網站不太嚴重時的問題排除
- 先別用IE,尤其是舊版IE(10以下),建議用FireFox或Chrome來操作
- 如果不幸您遇到了,網站空白,或許也無法進去,那沒關係,若您有裝Tad Adm站長工具箱,那麼,您只要輸入「http://網址/modules/tad_adm」就可以由此處登入,並進到後台去做設定。
- 記得使用Tad後台,右下角若有紅色訊息,請點一點修正之;右上角若有吸塵器圖示,也按之以清除舊的樣板檔
- 請先進到TadTools的模組後台初始設定,看看是否有條綠色的設定,若沒有,請更新tadtools至最新版,若一樣沒有,檢查系統偏好設定其中預設佈景是否有包含在「使用者可選用的佈景」中。若發現有重複佈景,請至系統偏好設定,重新按一下儲存即可。若 Tadtools是3.26版以下,則須按照這篇說明來升級之,不然網站會掛掉。
- 請用tad_adm或tad_admin把所有模組更新到最新版。
- 移除防護模組:如果您真的不是對這模組很熟悉,別輕易去修改其設定,甚至乾脆就別用他,因為,很多時候,壞人沒擋到,都先擋到自己人或管理員。
六、當網站空白或無窮導向時
- 若有裝tad_adm,則直接連到「http://網址/modules/tad_adm」以登入開除錯。
- 可在瀏覽器試著輸入「http://網址/modules/tad_adm/pma.php」進入資料庫(若無法連線,請看第七點)。將「
config
」表中「conf_name
」值為「debug_mode
」的那筆資料(通常為編號13)其「conf_value
」值改為「1
」即可開啟除錯。
- 若還是空白,有可能是被防護模組擋下,因此,建議暫時關閉或反安裝Protector 防護模組。
- 記得修改「
/xoops_data/configs/xoopsconfig.php
」將「"debugLevel" => 2,
」改為「"debugLevel" => 0,
」如此,未登入才看得到錯誤訊息。
- 善用站長工具箱的「關閉所有區塊」和「關閉所有模組」來判斷問題出在模組還是區塊。
- 如果問題出在區塊,請至區塊管理將區塊一個一個陸續關閉,看關掉那一個之後變成正常,那就是該區塊出問題(建議先檢查tadgallery區塊)。有問題的區塊先嘗試去做完整的區塊設定並務必儲存設定,看看能否改善。
七、用資料庫緊急安裝站長工具箱(適用網站無法登入時)
- 先到https://campus-xoops.tn.edu.tw/modules/tad_modules/index.php?module_sn=17下載tad_adm,並解壓,將tad_adm上傳到網站上的
modules
目錄下
- 接著進入資料庫,執行以下SQL語法(請自行替換正確的前置字串):
INSERT INTO `前置字串_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');
八、利用資料庫管理工具執行更多管理功能
- 還原佈景:將「
config
」表中「conf_name
」值為「theme_set
」的那筆資料(通常為編號7)其「conf_value
」值改為「default
」即可回到預設佈景。
- 重設密碼:在「
users
」表中編輯要改密碼的使用者,在「pass
」輸入新密碼,並選擇左邊的「函數」選單值為「MD5
」,送出即可。
- 關閉模組:在「
modules
」表中編輯要關閉的模組,將「isactive
」設為「0
」即可。
- 關閉區塊:在「
newblocks
」表中編輯要關閉的區塊,將「visible
」設為「0
」即可。
- 關閉某模組區塊:在「
modules
」表中找出該模組的mid
編號,在「newblocks
」表中用「搜索」功能找出mid
屬於該編號的所有區塊,按照上法,關閉之即可。
九、無法登入,或登入成功後仍顯示沒有登入
- 若確定帳號密碼無誤,但一直無法登入成功,原因通常有三種,一是瀏覽器cookie作祟,二是session的資料表壞了,第三種則是空間不足,無法寫入。
- 清除cookie方法有二:
- 在瀏覽器中,按 Ctrl + Shift + Delete ,如此,就會跳出清除cookie的設定畫面 ,務必勾選 cookie,然後選「所有紀錄」或者「不限時間」,並清除之即可。
- 至https://chrispederick.com/work/web-developer/,安裝
web-developer
元件,「選擇齒輪圖示 → Cookies → Delete Domain Cookies」即可(推薦)。
- 修復session資料表:「http://網址/modules/tad_adm/pma.php」登入資料庫,找到
session
資料表,勾選,並到下方選擇「修復資料表」即可。
- 若是空間不足(linux較常見),執行
df
,看看「/」是否為100%,若是,請想辦法擴充和刪除不必要資料。
十、外觀不正常時(或外觀只剩選單,沒有下半部時)
- 先至後台 tadtools的初始設定按一下儲存。
- 若是有頁首頁尾,但沒有模組內容,請至後台模組按一下該模組的「更新」重讀樣板檔即可。
- 按Tad後台右上角的「清快取」。自行用FTP連到
/xoops_data/cache/smarty_compile
去自行刪除樣板檔也行。
- Tad後台右上角若有吸塵器圖示,也按之以清除舊的樣板檔。
- 若是有裝tad_login,則可先關閉模組試試網站是否恢復正常,若是,表示是tad_login出問題。確定主機PHP版本為PHP5.4以上,並且主機有支援
php_curl
。
- 接著至tad_themes(佈景管理)偏好設定將「導覽列的登入選項」選擇「僅顯示XOOPS的登入界面」或「不顯示登入選項」試試。
- 若是有安裝多人網頁模組tad_web,則請先關閉該模組的「選單」區塊試試。
十一、畫面出現 Internal Server Error(網站管理員才有辦法處理)
- 看在那一個模組出現,然後檢查該模組目錄下是否有.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檔試試。
十二、站長工具箱之應用
- 到前台觀察會員人數,若人數多的離譜,請至後台試試「清除垃圾帳號」
- 區塊或模組頁面不正常顯示時可「清除XOOPS快取」
- 「清除session資料表」若佔的空間過多,請執行「清除session資料表」
- 若裝新佈景後網站出問題,請點「將xxx佈景還原為default佈景」
- 忘記站長密碼時,請點選「我忘了管理員密碼」,接著點「先點此寄送救援密碼至管理員信箱」,接著將收到的密碼輸入「輸入救援密碼」框中即可登入改密碼。
- 平時若有收到「救援密碼」的信請勿驚慌,99.99%都是搜尋引擎的爬蟲所觸發,無關緊要。
- 若網站需要升級備份、搬移,可以參考「網站升級或搬移指南」的說明。
- 後台的「XOOPS升級」可進行網站的系統升級或補丁(也就是修補功能)
- 後台的「畫面救星」:用來清除或觀察舊樣板,功能同Tad後台的吸塵器圖示。
- 後台的「備份」可以用來備份uploads資料夾,但若是檔案太大(超過1G)可能就比較難
十三、實體檔案的備份
- 實體檔案的備份只要把網頁根目錄整個複製或用FTP把整個網頁目錄(如:public_html)以及網頁目錄外的xoops_data及xoops_lib下載下來即可。
- 若是linux主機可以用pietty等終端機工具登入,然後下指令,將整個目錄打包亦可:
-zcvpf
備份檔.tar.gz 欲備份目錄,例如:
tar -zcvpf web.tar.gz public_html
十四、資料庫的備份
- 資料庫要備份之前,可以先清除幾個資料表,以縮小資料庫檔案。
session
資料表、logcounterx_log
資料表(若有裝logcounterx計數器的話)
- 若「多餘」欄位有值,可將該資料表勾選,然後進行最佳化。
- 進入資料庫管理,登入後選擇XOOPS的資料庫,接著點「匯出」,「儲存」為「SQL」,資料表選「
DROP+CREATE
」,資料選「INSERT
」,確定下面有全勾即可「匯出」。
- 若要直接備份實體檔案,請記得關閉MySQL伺服器,然後至
/var/lib/mysql
(不同主機環境位置可能不同)下將所有資料備份回來即可。
- XOOPS後台內建的「維護」功能亦可匯出資料,但須將「
/modules/system/admin/maintenance/dump
」設為777才能使用。
十五、備份還原
- 實體檔案的備份只要把檔案上傳至新主機的網頁目錄即可,Linux主機則需注意目錄的寫入權限,一般而言,
uploads
、xoops_data
含底下所有目錄檔案要能寫入(777)。
- 資料庫的則利用phpMyAdmin或adminer的「匯入」功能,將SQL整個匯入指定的資料庫即可。
- 當SQL檔非常大的時可用BigDump(https://www.ozerov.de/bigdump)來匯入
十六、網站搬移(假設從練習主機搬到自己的電腦中)
- 利用FTP軟體(如FileZilla)連上新主機,左邊切換到
C:\my_xoops\www
,清除裡面的所有檔案,右邊切換到public_html
下,將右邊的所有東西下載到右邊,接著將右邊上一層的xoops_data
、xoops_lib
全部下載到左邊的C:\my_xoops\
下即可。
- 若目的端是Linux,請將
uploads
、xoops_data
含底下所有目錄檔案均設為777:
chmod -R /網頁路徑/uploads 777
- 匯出資料庫內容:進行講義十四點的第3小點,匯出網站的sql檔
- 用文字編輯器開啟sql檔,進行網址替換(Ctrl+H),將「
http://stu.tncomu.tn.edu.tw/~帳號
」取代成「http://localhost
」,存檔。
- 執行本地端資料庫http://localhost/modules/tad_adm/pma.php,先建立一個同名資料庫,然後點進該資料庫,執行匯入功能,選取剛剛的sql檔,匯入之。
- 若搬移的目的地主機無法自建資料庫,那就匯入指定資料庫後,修改
xoops_data/data/secure.php
修改XOOPS_DB_USER
(資料庫帳號)、XOOPS_DB_PASS
(資料庫密碼)、XOOPS_DB_NAME
(資料庫名稱)這幾個設定 。