centosインストールmediawiki

8937 ワード

centosインストールmediawiki
Mediawikiのダウンロードwget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz
指定したディレクトリに解凍tar zxvf mediawiki-1.25.2.tar.gz -C /var/www/ mv mediawiki-1.25.2/ mediawiki
ダウンロードnginxとphpとその関連依存性yum install nginx
centos 7 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注意この2行
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.confphp-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