作為一個完全不懂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,我們察看一下這個檔案,會發現這樣一段内容,如圖
有一行内容大概是這樣的 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,一切就緒,可以通過配置,完成你需要的後續工作了。