天天看點

搭建mediawiki小記

作為一個完全不懂php的碼農,整個過程還是稍微有點難度的。

廢話不說先看效果 http://dev.cloudisk.snda.com/w/

看起來還行是吧,至少沒有想象中那麼差。

好的,如何做?

首先需要準備一台伺服器,推薦Linux伺服器,搭建起來Lamp,不過本文Windows伺服器也可以參考

這個過程相信很多人相當熟悉,但是還是有幾個要注意的地方,不熟悉Lamp搭建的閱讀者,可以參考其他文章安裝部分内容,在這裡主要說明一下需要注意的地方

嗯,搭建之前,要去mediawiki官網下載下傳一個最新版本的包(推薦下在tar.gz包),可以點選[這裡],筆者使用的是mediawiki-1.20.4版本,新版本可能有所不同,請參見mediawiki官方版本更新說明。什麼下好了?我還沒說完你怎麼就下好了,那……那就下好了吧,在Windows下可以使用WinRAR等工具進行打開,如果是需要放到Linux伺服器上,這個tar.gz包先别删掉。

先來了解一下我們安裝mediawiki的時候,需要哪些支援

看看根目錄打開後,有個index.php,我們察看一下這個檔案,會發現這樣一段内容,如圖

搭建mediawiki小記

有一行内容大概是這樣的 if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) {

就說明我這個版本的mediawiki需要安裝5.3.2以上的php才能用,低版本的直接提示版本低打不開頁面。吐槽下真坑爹。

好了,開始搭Lamp,熟悉這一步的可以稍微看看參數就跳過了,好讓我們開始吧。

神馬?你不會裝Linux系統?你不知道什麼是shell?哦……你按一下Ctrl+W試試看,有驚喜。

好了,我知道你們Linux系統裝好了,不管你是什麼系統,這裡介紹的都是編譯安裝,如果你喜歡yum、喜歡apt-get,完全沒問題。我盡量在這裡說明需要注意的地方。如果失敗了,還是請循規蹈矩的來。

既然是Lamp,L完了就是a,下個apache2裝上吧。

推薦安裝到  /usr/local/apache2

這裡快要遇到第一個坑了。

因為伺服器上可能會有各種其他工作,是以如果在編譯apache2的時候有使用--with-mpm子產品,請在編譯mysql的時候加上 --enable-thread-safe-client.。這是php5.2的一個改進,在php5.2.0之前的版本都不需要mysql啟用安全線程。我們剛剛看過,需要的php版本已經在5.2之上,是以這裡一定要注意。

阿帕奇其他的問題參見[這裡]之類的文章安裝起來,然後配置完成,Windows使用者可以考慮裝個xampp之類的,一次搞定全部。

然後是mysql,mysql安裝的時候,請一定要越過第一個坑。

推薦安裝到 /usr/local/mysql

如果已經裝了mysql,但是不清楚mysql的帳号密碼,可以想辦法使用safemode跳過并修改mysql表

在lam了之後就是p,下載下傳[php]

這裡稍微講一下安裝的編譯指令好了。

安裝之前,需要安裝libxml2,如果使用yum或者apt,别忘了安裝php-xml,否則可能出現各種意外。

tar zxvf libxml*.tar.gz 
cd libxml*
./configure --prefix=/usr/local/libxml2 
make
make install
           

完成,開始裝php,筆者搭建mediawiki的時候用的是php5.4.14

這個

tar zvxf php-*.tar.gz 
cd php-*
           
# 如果你的 mysql、apache等應用裝在其他地方請修改這裡的路徑
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/ local/libxml2
make 
make install 
           

成功了嗎?沒成功?把錯誤貼到百度去找問題然後解決掉

--with-apxs2=/usr/local/apache2/bin/apxs是為了連結生成libphp5.so

拷貝php配置

cp php-*/php.ini.dist /usr/local/php/lib/php.ini 
           

如果沒有php.ini.dist 則把php.ini-development php.ini-production中的任何一個重命名為php.ini.dist即可。

配置httpd.conf

在LoadModule最後一排加上

LoadModule version_module modules/libphp5.so
           

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容        (.前面有空格)

  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
           

重起apache

/usr/local/apache2/bin/httpd -k restart
           

寫一個測試頁面看看

<?php 
 phpinfo(); 
?>;
           

儲存為/usr/local/apache2/htdocs/phpinfo.php

打開浏覽器[到這裡]看看

如果有很長一大串的php資訊輸出,說明你得到它了(u got it !)

終于要回到我們的mediawiki了,是不是快把正事兒忘了?

上傳。然後

tar zvxf mediawiki-*.tar.gz 
           

拷貝到可以被apache解析的目錄中

然後通過浏覽器通路,OK,一切就緒,可以通過配置,完成你需要的後續工作了。