"網站建置技術文件" 修訂間的差異
小 (→在首頁加上熱點頁面的前十名) |
|||
行 73: | 行 73: | ||
$sql = "SELECT * FROM `page` WHERE page_namespace='0' and `page_title` NOT IN ('".implode("','",$black_list)."') ORDER BY page_counter DESC LIMIT 0,10"; | $sql = "SELECT * FROM `page` WHERE page_namespace='0' and `page_title` NOT IN ('".implode("','",$black_list)."') ORDER BY page_counter DESC LIMIT 0,10"; | ||
將找到的資料整理後 UPDATE recentchanges、revision、text 這三個 table | 將找到的資料整理後 UPDATE recentchanges、revision、text 這三個 table | ||
− | $list .= $i . '. [['.$res['page_title'].']]('.number_format($res['page_counter']).'次瀏覽) | + | $list .= $i . '. [['.$res['page_title'].']]('.number_format($res['page_counter']).'次瀏覽)'; |
分別更新 rc_new_len rev_len old_text | 分別更新 rc_new_len rev_len old_text | ||
"UPDATE `text` SET `old_text` = '".$list."' WHERE `old_id`=''"; | "UPDATE `text` SET `old_text` = '".$list."' WHERE `old_id`=''"; |
於 2008年10月23日 (四) 17:43 的修訂
目錄
- 1 開放以LDAP帳號登入認證
- 2 開放上傳檔案,並設限檔案副檔名類別
- 3 禁止一般使用者建立新帳號
- 4 設定只有登入系統的使用者,才有權利編輯頁面
- 5 置換首頁logo圖檔,為計中logo
- 6 設定正確的時區顯示
- 7 網址從/mediawiki/index.php/ 改成 /wiki/ 式網址,以達成縮短網址
- 8 加裝 template: languages extensions,以支援英文版 content頁面編輯
- 9 加裝 category tree extensions,以支援 subcategory
- 10 加裝 tinymce extensions
- 11 將登入/登出改為英文
- 12 在首頁加上熱點頁面的前十名
開放以LDAP帳號登入認證
1、在 /usr/local/etc/openldap/ldap.conf 中加上一行
- TLS_REQCERT never
2、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- require_once( 'extensions/LdapAuthentication.php');
- $wgAuth = new LdapAuthenticationPlugin();
- $wgLDAPDomainNames = array("Portal");
- $wgLDAPEncryptionType = array('Portal' => 'ssl');
- $wgLDAPServerNames = array("Portal"=>"140.115.17.30");
- $wgLDAPSearchStrings = array("Portal"=>"uid=USER-NAME,ou=People,dc=cc,dc=ncu");$wgLDAPUseLocal = true;
- $wgLDAPAddLDAPUsers = false;
- $wgLDAPUpdateLDAP = false;
- $wgLDAPMailPassword = false;
- $wgLDAPRetrievePrefs = false;
- $wgMinimalPasswordLength = 1;
開放上傳檔案,並設限檔案副檔名類別
1、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgEnableUploads = true;
- $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'ppt', 'pdf', 'docx', 'xlsx', 'pptx', 'vsd', 'pps' );
- $wgFileBlacklist = array('html', 'htm', 'js', 'jsb','php', 'phtml', 'php3', 'php4', 'phps','shtml', 'jhtml', 'pl', 'py', 'cgi','exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
禁止一般使用者建立新帳號
1、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgGroupPermissions['*']['createaccount'] = false;
- $wgGroupPermissions['sysop']['createaccount'] = true;
設定只有登入系統的使用者,才有權利編輯頁面
1、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgGroupPermissions['*']['edit'] = false;
- $wgGroupPermissions['user']['edit'] = true;
置換首頁logo圖檔,為計中logo
1、先將計中logo圖檔,上傳放置於mediawiki\skins\wiki.gif
2、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgLogo="https://wiki.cc.ncu.edu.tw/mediawiki/skins/wiki.gif";
設定正確的時區顯示
1、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgLocaltimezone="Asia/Taipei";
- $wgLocalTZoffset=date("Z")/60;
網址從/mediawiki/index.php/ 改成 /wiki/ 式網址,以達成縮短網址
1、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgArticlePath = "/wiki/$1";
2、修改/usr/local/etc/apache22/httpd.conf,增加以下內容:
- Alias /wiki /home/www/mediawiki/index.php
- Alias /index.php /home/www/mediawiki/index.php
加裝 template: languages extensions,以支援英文版 content頁面編輯
1、將此檔檔案:P.tgz下載後,解壓縮到 mediawiki 下的 extensions 資料夾
2、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
加裝 category tree extensions,以支援 subcategory
1、將此檔檔案:C.tgz下載後,解壓縮到 mediawiki 下的 extensions 資料夾
2、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgUseAjax = true;
- require_once( 'extensions/CategoryTree/CategoryTree.php' );
加裝 tinymce extensions
1、將此檔檔案:T.tgz下載後,解壓縮到 mediawiki 下的 extensions 資料夾
2、修改MediaWiki設定檔LocalSettings.php,增加以下內容:
- $wgUseTinymce = true;
- $wgDefaultUserOptions ['showtoolbar'] = 0;
- $wgTinymceTheme = "msword";
- require_once("$IP/extensions/tinymce/TinyMCE_MW.php");
將登入/登出改為英文
先到 mediawiki/languages/messages/ 資料夾下
複製 MessagesEn.php 中 # Login and logout pages 區段的內容
在 MessagesZh_tw.php 中 取代原本的 #Login and logout pages 區段的內容
即可將 login/logout 相關文字改為英文 (包括登入/註冊頁面)
在首頁加上熱點頁面的前十名
先新增一個 template 接著進入資料庫 在 recentchanges、revision、text 這三個 table 中找到剛剛新增的 template 的相對應欄位 分別將 rc_id、rev_text_id、old_id 記下來 寫一隻 php 程式進入資料庫 `page` 這個 table 抓出 page_namespace 為 0 的資料 按照 page_counter 做遞減排序,即可得到熱點頁面的排名
$sql = "SELECT * FROM `page` WHERE page_namespace='0' and `page_title` NOT IN ('".implode("','",$black_list)."') ORDER BY page_counter DESC LIMIT 0,10";
將找到的資料整理後 UPDATE recentchanges、revision、text 這三個 table
$list .= $i . '. [['.$res['page_title'].']]('.number_format($res['page_counter']).'次瀏覽)';
分別更新 rc_new_len rev_len old_text
"UPDATE `text` SET `old_text` = '".$list."' WHERE `old_id`="; "UPDATE `revision` SET `rev_len` = '".strlen($list)."' WHERE `rev_text_id`="; "UPDATE `recentchanges` SET `rc_new_len` = '".strlen($list)."' WHERE `rc_id`=";
接著在首頁 include 剛剛新增的 template 熱點頁面就會顯示在首頁了 將此 php 程式寫入 crontable 在每日 0 點 1 分時執行,所以每天將更新一次前十名 只要更改 crontable 的設定就可以修改更新的頻率