11
11

More than 5 years have passed since last update.

CentOS7でMediaWikiを公開する環境構築メモ

Last updated at Posted at 2015-06-17

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
/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
/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

参考:http://ufuso.jp/wp/?p=9266

その他に必要なソフトウェアの追加

yum -y install gcc-c++ php-devel httpd-devel icu libicu-devel
pecl install install

vi /etc/php.ini
/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
/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

 環境構築としては以上となります。

11
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11