2015年7月21日 星期二

安裝Discuz作爲個人wiki

之前一直找一種記錄自己平常的學習心得或是備忘錄。曾經用過一些wiki的軟體但是效果都不太好,每一次還要先創造頁面,也沒有時間,不斷更新的歷程也不好整理。後來我發現其實討論區就是一種很好知識整理的方式。

思考過程就是自己和自己討論不是嗎?

 找來找去,discuz算是發展相當完備的套件(事實上功能已經超過我的需求)。現在最新的版本是discuz 3.2,下面是我自己爲了建立個人wiki爲目的,所需要最基本的設定,不是真的建立一個公共的討論站,因此是以方便使用而不考慮安全因素

我的安裝環境是LIVA X / opensuse 13.2 64bit



1.把套件下載下來之後複製到外接usb硬碟。然後把這個資料夾鏈接到www的根目錄下。

ln -s /mnt/exdisk/discuz discuz

chown -R wwwrun:run /mnt/exdisk/discuz  #設定權限

在開始安裝之前,需要先爲它建立mysql的資料庫給discuz用。
打開phpmyadmin,建立名爲discuz_db3的資料庫。同時新增一個合法使用者,discuzusr並設定好密碼,使用該資料庫。
特別要注意的是通常新增使用者的使用資料庫權限,允許登入主機是"localhost",但還要增加"127.0.0.1"這個位置。如果不這麽做,在po新的文章所使用的編輯器界面的圖示可能會有不正常顯示的問題(我也不知道爲什麽)。













從瀏覽器 /localhost/discuz/install 開始安裝直到完成。

2.調整網站的IP位置。
如果在別的電腦(在192.168.11.X網域下不同IP),可能會發現個人的頭像不能顯示,想要上傳功能也沒有顯示出來。大概是路徑出了問題。
登入管理中心》站長》UCenter設置,UCenter訪問地址,原來是localhost,改成真實的IP位置,我的是 192.168.11.9/discuz/uc_server。
在UCenter IP也做相同處理。




3.上傳附件尺寸限制。
附件,包含想要上傳大尺寸的圖片都會碰到這個問題,一般預設爲2M,實在太少。這個問題要分成兩個部分,一個是檔案大小的限制;一個是製作GB縮圖的過程中對於『解析度』太高的照片也會限制。

修改 /etc/php5/apache2/php.ini,建議可以參考這篇設定的數值。
  1. max_execution_time= 300 
  2. max_input_time = 300
  3. memory_limit = 800M
  4. post_max_size = 200M
  5. upload_max_filesize = 200M
  6. default_socket_timeout = 300
  7. mysql.connect_timeout = 600
在discuz的目錄下,我的是在  /mnt/exdisk/discuz/source/class/discuz/class_upload.php 
找到以下程式碼:
function get_image_info($target, $allowswf = false) {
                $ext = discuz_upload::fileext($target);
                $isimage = discuz_upload::is_image_ext($ext);
                if(!$isimage && ($ext != 'swf' || !$allowswf)) {
                        return false;
                } elseif(!is_readable($target)) {
                        return false;
                } elseif($imageinfo = @getimagesize($target)) {
                        list($width, $height, $type) = !empty($imageinfo) ? $imageinfo : array('', '', '');
                        $size = $width * $height;
                        if($size > 16777216 || $size < 16 ) {
                                return false;
                        } elseif($ext == 'swf' && $type != 4 && $type != 13) {
                                return false;
                        } elseif($isimage && !in_array($type, array(1,2,3,6,13))) {
                                return false;
                        }
                        return $imageinfo;
                } else {
                        return false;
                }
        }

 $size > 16777216限制了解析度,直接加個0吧肯定夠,改成$size > 167772160 

存檔退出。

重新啓動apahce

rcapache2 restart

最後更新discuz的緩存後就可以了。 
管理中心》工具》更新緩存

 

0 意見: