CentOS7でMediaWikiを公開する環境構築メモ
あらまし
なんとなくOS再起動したらブート画面でフリーズして困り果てて再インストールしたので、過程をメモ。また、諸所の作業の意味に関する説明は重要なものを除いてしません。
cmd install
のような整形テキストは、実行するコマンドや、ファイルの編集内容を表します。
CentOS7のインストール
諸所の設定は省略。
Webサーバのインストール
yum -y install httpd
yum -y install php php-mbstring php-pear php-xml php-mysql
vi /etc/httpd/conf/httpd.conf
# 以下のように該当する行を編集
ServerAdmin #自分の連絡先メールアドレス
ServerName #サーバのFQDN(私はポート:80も併記)
<Directory "/var/www/html">
Options Includes ExecCGI FollowSymlinks
AllowOverride All
LogFormat "%h ... %!414r ... #%rの間に "!414"をはさむ
AddHandler cgi-script .cgi .pl
# AddDefaultCharset UTF-8
# 以下を最終行に追加
ServerTokens Prod
KeepAlive On
ln -s /usr/bin/perl /usr/local/bin/perl
whereis perl
# /usr/local/bin/perl が含まれていればOK
chown -R ユーザ名:apache /var/www/html
systemctl start httpd
systemctl enable httpd
以上の作業を済ませて、ブラウザから your.domain.net などと打ち込んで「アクセスできない」という旨のメッセージが表示された場合、ファイアウォールの設定の変更が必要な可能性があります。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
vi /etc/sysconfig/selinux
# 以下のように該当する行を編集
SELINUX=disabled
症状が改善されない場合、ネットワークの設定を確認します。
nslookup サーバのFQDN
# Address ***.***.***.*** が出てくるのでメモ
vi /etc/sysconfig/network-scripts/ifcfg-em1
# ネットワーク設定のファイル名は環境によって差があるので注意
# 以下のように該当する行を編集
IPADDR0=メモしたIPv4アドレス
以上の行程で私の環境では外部からの接続に成功しましたが、これでもなお症状が改善されない場合、私の手には負えません。
参考:http://ufuso.jp/wp/?p=15122
MySQLのインストール
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
vi /etc/my.cnf
# 以下のように該当する行を編集
symblic-links=0
# 最終行に追記
character-set-server=utf8
systemctl enable mysqld.service
systemctl start mysqld.service
# MySQLの初期設定
mysql-secure-installation
# 全部エンターキーでOK
mysql -u root -p
# 初期設定で指定したパスワード入力してログイン
# mysqlのサービスが走っていないと失敗するので注意
create database mwiki;
grant all privileges on mwiki.* to 'ユーザ名'@'localhost' identified by 'MySQLのパスワード';
quit
その他に必要なソフトウェアの追加
yum -y install gcc-c++ php-devel httpd-devel icu libicu-devel
pecl install install
vi /etc/php.ini
# 以下のように該当する行をコメントアウト
;Dynamic Extensions;
# 最終行に追加
extension=intl.so
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -irh epel-release-7-5.noarch.rpm
yum -y --enablerepo=epel install php-gd
MediaWikiのインストール
インストールするバージョンに合わせて、ダウンロードするURLを確認する。https://www.mediawiki.org/wiki/Download
wget https://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.1.tar.gz
tar -xzvf mediawiki-1.25.1.tar.gz
mv mediawiki-1.25.1/* /var/www/html/mwiki/
chown -R ユーザ名:apache /var/www/html/mwiki/
vi /etc/httpd/conf/httpd.conf
# 最終行に追加
<Directory "/var/www/html/mwiki/images">
AddType text/plain .html .htm .shtml .php
php_admin_flag engine off
</Directory>
参考:https://www.mediawiki.org/wiki/Manual:Security/ja
以上の作業が済んだら http://your.domain.net/mwiki にアクセスして、Webページのインタフェースで初期設定を進めていきます。
私は特に設定したのは以下の項目です。
- 「データベースの設定」ホスト:localhost、データベース:mwiki、ユーザ:ユーザ名、パスワード:MySQLのパスワード
- ☑インストール作業と同じアカウントを使用する。ストレージエンジン→InnoDB、データベースの文字セット→UTF-8
- ☑画像およびファイルのアップロードを有効、☑Instant Commons機能の利用
- 「高度な設定」◎memcachedの利用 サーバー:
127.0.0.1:11211
-- memcachedのインストールは後の節で説明
インストールが完了すると、LocalSettings.phpが出力されるので/var/www/html/mwiki/
に設置します。
memcachedのインストール
yum -y install memcached
firewall-cmd --permanent --zone=public --add-port=11211/tcp
yum install -y php-memcache
systemctl start memcached.service
systemctl enable memcached.service
画像のアップロードとサムネイルの有効化
chown -R apache:apache /var/www/html/mwiki/images
yum -y install ImageMagick ImageMagick-perl
systemctl restart httpd
参考:http://ufuso.jp/wp/?p=15333
環境構築としては以上となります。