目标运行环境,linux + nginx + php + mysql
资源:
mediawiki:http://www.mediawiki.org/wiki/Download 我的版本是1.19.1
php5:http://pp.net/downloads.php 我的版本是 php-5.3.8
mysql5:http://我的私服/tools/mysql-5.1.50.tar.gz
注意:MySQL 5 support is required since MediaWiki 1.19 – if you are using an older version of MySQL and cannot upgrade, you should use MediaWiki 1.18.4
这里要求mediawiki1.19.1 必须使用mysql 5,老版本不再支持。
安装mysql:
因为要让php支持mysql,在php安装时要引用mysql 的头部和资源文件,因此这里我先安装一个mysql
tar -xzvf
./configure --prefix=/home/mysql/
make && install
安装php:
./configure --prefix=/home/server/php-5.3.8/ --with-config-file-path=/home/server/php-5.3.8/ --enable-fastcgi --enable-debug --with-mysql=/home/mysql/
--with-mysql 官方文档写也可以写成--with-mysql=mysqlnd,由于我的mysql并未启动,故直接写文件路径。
configure报错,configure: error: xml2-config not found. Please check your libxml2 installation ,缺少libxml2的安装包
下载了一个libxml2-2.7.2.tar.gz
解压 tar zxvf libxml2-2.7.2.tar.gz
cd libxml2-2.7.2
./configure --prefix=/usr/local/libxml2
make && make install
继续configure
还是有问题,出现:xml2-config not found,缺少一些libxml2的附属包,如libxml2-devel等,采用一次性办法解决
apt-get install libxml2-dev
再configure,成功。
make && make install
将php.ini-production 放到php的安装路径下,修改为php.ini
安装mediawiki:
在linux 目标目录下,wget http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.1.tar.gz
之后解压缩, tar -xzvf mediawiki-1.19.1.tar.gz 得到工程文件夹 mediawiki-1.19.1
设置nginx:
配置Nginx的PHP FastCGI
将以下内容保存为fastcgi_params文件,保存于/usr/local/nginx/conf下(Ubuntu可保存于/etc/nginx下),他为我们的FastCGI模块设置了基本的环境变量:
#fastcgi_params
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
请特别注意"fastcgi_script_name"一行,PHP-CGI特别需要此行信息来确定PHP文件的位置。
另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,打开cgi.fix_pathinfo选项:
cgi.fix_pathinfo=1;
这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。
接下来在nginx的配置中针对php文件配置其利用FastCGI进程来执行:
然后启动 php-cgi,在/home/server/php-5.1.8/bin 目录下,执行
./php-cgi -b 127.0.0.1:9000
php已经启动
配置访问server
server {
server_name 我的域名;
index index.php;
root /home/workspace/mediawiki/mediawiki-1.19.1/;
location ~ .*.php$ {
include /home/nginx/conf/fastcgi_params;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
}
}
sudo /home/nginx/sbin/nginx -t 检查是否有拼写错误,显示successful
sudo /home/nginx/sbin/nginx -s reload 重启nginx
至此,初始化配置文笔,在浏览器中访问 http://我的域名 ,进入配置向导页面
注:选择数据库时选择mysql,效率更高。
向导完毕后生成 LocalSettings.php 页面,这是对wiki的配置管理页面。
配置管理:
1、设置logo
上传一张图片到images文件夹下,如,titleline2.PNG,修改LocalSettings.php中的$wgLogo变量,我的如下:
$wgLogo = "images/titleline2.PNG";
2、权限设置
wiki 的注册用户都是有编辑和读的权限的,因此只需要对匿名用户进行设置,如下,匿名用户可读,不可编辑,注册账户可添加账户
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['user']['createaccount'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = true;
3、图片上传
【版本1.5.X及更高版本】取消这一行的行首#号
# $wgEnableUploads = true;
4、设置上传其他文件
找到DefaultSettings.php,一般在 “工程/includes/” 文件夹下
修改 $wgFileExtensions 的参数,我的如下:
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg','ppt','doc','pdf','xls','txt','pptx','docx');
5、设置上传文件大小
设置上传文件大小,php默认的上传文件大小是2M,这个限制太严格,需要扩大一些,这是由php的配置来控制
在php的安装目录下,打开php.ini,修改
post_max_size = 10M
upload_max_filesize = 10M
至此,配置完毕,可以打开首页,放心的使用了
引用:
http://www.laruence.com/2009/07/28/1030.html
http://codex.wordpress.org.cn/Mediawiki%E5%BC%80%E6%94%BE%E5%9B%BE%E5%83%8F%E4%B8%8A%E4%BC%A0