首页 > 代码库 > SUSE Enterpris 11 SP2搭建mediawiki
SUSE Enterpris 11 SP2搭建mediawiki
0、libxml2的安装
libxml是一个用来解析XML文档的函数库。
a)检查可用软件包
终端输入命令:zypper se libxml2
出现Abort, retry, ignore? [a/r/i/?] (a):
输入i,选择忽视即可
b)安装libxml2
终端输入命令: zypper install libxml2
出现Abort, retry, ignore? [a/r/i/?] (a):
输入i,选择忽视即可
请求下载输入y
c)安装libxml2-develop : zypper install libxml2-develop
遇到询问,同上
注1:由于适合公司服务器版本的libxml2的RPM包手动下载难以找到,最好采用上述自动下载安装以免出错^__^
1、Apache 2.0 的安装
下载Apache 2.0
执行以下Linux命令进行安装
a)gzip -d httpd-2_0_NN.tar.gz
b)tar xvf httpd-2_0_NN.tar
c)cd httpd-2_0_NN
d)./configure –enable-so
e)make
f)make install
现在您已经将 Apache 2.0.NN 安装在 /usr/local/apache。本安装支持可装载模块和标准的 MPM prefork。
之后,可以使用如下命令启动 Apache 服务器:
/usr/local/apache2/bin/apachectl start
如果成功,您可以停止 Apache 服务器并继续安装其他:
/usr/local/apache2/bin/apachectl stop
2、MySQL的安装
a)下载http://www.mysql.com/downloads ,版本要高于4.0.14
终端输入命令:zypper se mysql
终端输入命令:zypper install mysql-community-server
b)安装后启动mysql服务
终端输入命令:rcmysql start
注2:rcmysql start有可能出现以下错误
Starting service MySQL warning: /var/lib/mysql/mysql.sock didn’t appear within 30 seconds
chmod: cannot access `/var/run/mysql/mysqld.pid‘: No such file or directory
解决办法:修改/etc/my.cnf注释掉skip-networking
c)用下面的命令连接mysql,测试是否成功
mysql -uroot -p
Enter password:
输入密码(默认为空,不需输入直接回车)后出现了“mysql>”提示符,恭喜你,安装成功!
注3:如果出现连接MySQL找不到mysql.sock文件,程序报错:Can’t connect to local MySQL Server through socket ‘/tmp/mysql.sock’
解决办法是终端输入命令:ln -s /var/lib/mysql/mysqld.sock /tmp/mysql.sock
d)新建wiki用数据库
mysql> create database wikidb;
mysql> show databases;
+—————————+
| Database |
+—————————+
| information_schema |
| #mysql50#.tmp |
| mysql |
| test |
| ttmgrportal |
| wikidb |
+—————————-+
3、PHP的安装
下载PHP 5.5.12:http://cn2.php.net/downloads.php
有.bz2和.gz两种压缩包,都可以下载
执行以下Linux命令进行安装
a)gunzip php-NNi.tar.gz
b)tar -xvf php-NN.tar
注4:a,b两步骤可一步完成:tar -zxvf php-NNi.tar.gz
如果下载的是.bz2包可以这样解压:bzip2 -d php-NNi.tar.bz2得到tar包
c)cd ../php-NN
d)./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql
e)make clean
注5:如果在安装前不clean一下,有可能会导致错误:Cannot load modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol: libiconv
f)make ZEND_EXTRA_LIBS=’-liconv’
注6:make时如果不添加参数,会出现make: *** [sapi/cli/php] Error 1错误
g)make install
h)cp /usr/php-NN/php.ini-development /usr/local/lib/php.ini
i)编辑 httpd.conf 文件
vim /usr/local/apache2/conf/httpd.conf
在适当位置添加一行:
LoadModule php5_module modules/libphp5.so
在适当位置添加两行:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
j)启动您的 Apache 服务器:
/usr/local/apache2/bin/apachectl start
4、Mediawiki的安装
a)Mediawiki下载:http://www.mediawiki.org/wiki/Download
b)把下载文件解压并copy到目录:/usr/local/apache2/htdocs
c)为使用方便可以更改文件夹名字 mv mediawiki-1.22.6 mediawiki
d)通过浏览器访问index.php文件(例如http://192.168.1.187/mediawiki/index.php),这时安装过程自动开始,软件会检查系统配置。
注7:地址要加上index.php,否则mediawiki的php页面不能被Apache解析,如果上述所有步骤有误也可能造成index.php不能解析,
确保mediawiki加压后的文件夹与Apache的主页index.html在同一个目录中
e)安装完成后按提示下载LocalSettings.php文件,然后编辑
编辑文件 includes/DefaultSettings.php:
1) 开启上传文件功能
设置$wgEnableUploads为true;
设置/usr/php-NN/php.ini-development 中的file_uploads为on;
2) 设置允许上传的文件类型
$wgFileExtensions = array( ‘png’, ‘gif’, ‘jpg’, ‘jpeg’,’doc’,’xls’,’mpp’,’pdf’,’ppt’,’tiff’,’bmp’,’docx’, ‘xlsx’, ‘ pptx’,’ps’,’odt’,’ods’,’odp’,’odg’ );
列表中可以添加自己需要使用的格式
3) 允许上传的文件大小
设置/usr/php-NN/php.ini-development中的$wgMaxUploadSize的值;
设置/usr/php-NN/php.ini-development中的upload_max_filesize和post_max_size的值
注8:最终允许上传文件的最大值为以上两者的最小值
如果上传的文件过大则需修改php.ini-development中的max_execution_time = 0
如果上传doc或者docx文件时,经常会出现:文件扩展名“.***” 与检测到的文件MIME类型(application/zip)不匹配,解决方法修改$wgVerifyMimeType = false
注9:设置$wgShowSQLErrors=true,访问出错页面时,可以显示出错的SQL语句。
4) MediaWiki引用外部图片
设置$wgAllowExternalImages = true
设置$wgAllowCopyUploads = true
f)为使上传图片显示缩略图并可以预览,需要安装Imagemagick
终端输入命令:
zypper install Imagemagick
zypper install ImageMagick-devel
5、常见错误及解决办法
1) 数据库安装错误,启动mediawiki会导致:
A database query error has occurred. This may indicate a bug in the software.
Query:
SELECT lc_value FROM `rzrkl10n_cache` WHERE lc_lang = ‘zh-cn’ AND lc_key = ‘deps’ LIMIT 1
Function: LCStore_DB::get
Error: 1146 Table ‘wikidb.rzrkl10n_cache’ doesn’t exist (localhost)
解决办法:重启Mysql数据库,如果仍不行就重装Mysql,参考上文
2) 安装完 mediawiki后打开首页,却出现如下错误提示:
Fatal exception of type MWException
解决办法是在生成的 localSettings.php 文件中,查找如下行:
require_once “$IP\\extensions\\LocalisationUpdate\\LocalisationUpdate.php”;
在其下增加如下行代码即可:
$wgLocalisationUpdateDirectory = “$IP/cache”;
3) 上传文件出错:
无法创建目录“mwstore://local-backend/local-public/0/03”
解决办法是给/usr/local/apache2/htdocs/mediawiki/下的images目录增加可写权限:chmod +x images/
4) 上传图片无法预览缩略图:
解决办法是安装ImageMagick,终端输入命令:
zypper install Imagemagick
zypper install ImageMagick-devel
5) Mysql连接找不到mysql.sock文件
注10:这里假定Mysql能够启动,但是连接出错。如果Mysql启动时就出现错误,参考上文安装过程的注释。
连接Mysql数据库时
运行程序报错:Can’t connect to local MySQL Server through socket ‘/tmp/mysql.sock’
这个错误的提示是说,不能通过’/tmp/mysql.sock’连接到服务器。Mysql.sock是创建与mysqld服务器相关的MySQL通信端点所使用的套接字。
而PHP标准配置正是通过’/tmp/mysql.sock’来连接数据库,可能是一些mysql的安装方法将mysql.sock放到了别的地方,可以通过修改/etc/mysql/my.cnf文件
(或者/etc/my.conf文件,和mysql安装的方法有关,该配置文件的路径可能会有所不同)来修改它,打开文件可以看到如下的语句:
[mysqld]
Socket = /var/lib/mysql/mysql.sock
说明mysqld.sock文件放在了/var/lib/mysql/文件夹下,所以不能在/tmp路径下找到该文件,通过做一个链接文件就可以解决这个问题:
您可以在命令行下手动输入如下命令:
ln -s /var/lib/mysqld/mysqld.sock /tmp/mysql.sock
修改完之后,程序就OK了。
6、参考文档:
http://www.blogjava.net/hengheng123456789/articles/74059.html
http://www.mediawiki.org/wiki/Manual:Configuration_settings/zh
http://bbs.51cto.com/thread-604812-1.html
SUSE Enterpris 11 SP2搭建mediawiki