您的位置:首页 > 运维架构 > Linux

centos安装mediawiki

2015-09-01 17:23 489 查看

centos安装mediawiki

下载mediawiki

wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz[/code] 

解压到指定目录

tar zxvf mediawiki-1.25.2.tar.gz -C /var/www/


mv mediawiki-1.25.2/ mediawiki


下载nginx和php及其相关依赖

yum install nginx


centos7安装nginx

# 下载对应当前系统版本的nginx包
wget  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # 建立nginx的yum仓库
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 下载并安装nginx
yum install nginx


yum install php php-devel


yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc


配置nginx

server {
server_name yourdomain;
root /var/www/mediawiki;
index index.php;

client_max_body_size 5m;
client_body_timeout 60;

access_log /tmp/wiki.log;

location / {
try_files $uri $uri/ @rewrite;
}

location @rewrite {
rewrite ^/(.*)$ /index.php?title=$1&$args;
}

location ^~ /maintenance/ {
return 403;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
expires max;
log_not_found off;
}

location = /_.gif {
expires max;
empty_gif;
}

location ^~ /cache/ {
deny all;
}

location /dumps {
root /var/www/mediawiki/local;
autoindex on;
}
}


fastcgi_params 注意这两行

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name; ## 我的默认没有这行

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;


启动php,重启nginx

php-cgi -b 127.0.0.1:9000
(后面使用php-fpm代替)

nginx -s reload


配置页面

要设置mysql密码

mysql> set password for root@localhost = password('root');


进行界面配置

选择配置,并将下载文件放入mediawiki根目录

上传多个页面到wiki

https://meta.wikimedia.org/wiki/MediaWiki_Bulk_Page_Creator

通过接口上传python代码

baseurl = 'http://wiki.xxx.com/api.php'

def wiki_login():
data = {
"action": "login",
"lgname": "xxx",
"lgpassword": "xxx",
"format": "json",
}
r1 = requests.post(baseurl, data=data)
token = r1.json()['login']['token']
data2 = {"lgtoken": token}
data.update(data2)
r2 = requests.post(baseurl, data=data, cookies=r1.cookies)
return r2.cookies

def wiki_token():
data = {"action": "query","meta": "tokens", "format": "json", "type": "csrf"}
cookies = wiki_login()
r3 = requests.post(baseurl, data=data, cookies=cookies)
rsp = r3.json()
cookies = cookies.copy()
cookies.update(r3.cookies)
return rsp["query"]["tokens"]["csrftoken"], cookies

def wiki_edit(title, text):
headers = {'content-type': 'application/x-www-form-urlencoded'}
token, cookies = wiki_token()
data = {
"action": "edit",
"format": "json",
"title": title,
'summary': "summary",
"text": text,
"contentmodel": "wikitext",
"contentformat": "text/x-wiki",
"token": token,
}
r = requests.post(baseurl, data=data, headers=headers, cookies=cookies)


php-fpm

yum install php-fpm


进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块


配置文件

/etc/php-fpm.conf


查看php-fpm进程数:

ps aux | grep -c php-fpm


直接操作

php-fpm 启动:
/usr/local/php/sbin/php-fpm
php-fpm 关闭:
kill -INT `cat /var/run/php-fpm/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`


脚本操作

/etc/init.d/php-fpm start|stop|status|restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: