LoginSignup
3
3

More than 5 years have passed since last update.

Amazon LinuxでMeidaWiki 1.26.2を動かすまでのまとめ

Posted at

0. Amazon LinuxのVM作成

EC2のインスタンス起動画面で、一番上に表示されているAmazon Linuxを選択しました。以下のAMIです。

amzn-ami-hvm-2015.09.1.x86_64-gp2 (ami-383c1956)

サイズはt2.microで、ストレージ以外はデフォルト設定のままです。ストレージはデフォルトは8GBなのですが、16GBに変更して作成しました。

ゲートウェイは80、443を全公開、SSHを自分のIPだけ公開という定番パターンです。

1. Apacheのインストール

ここから先はsuした状態のコマンドを並べます。sudoされる方は適宜読み替えてください。

Apacheインストール
$ yum install httpd
$ chkconfig httpd on
$ chkconfig --list httpd
DocumentRootの確認
$ cat /etc/httpd/conf/httpd.conf | grep DocumentRoot
DocumentRoot "/var/www/html"
Apache起動
$ /etc/init.d/httpd start

ブラウザでウェルカムが出るかを確認します。確認できたらセキュリティ設定します。
http://qiita.com/bezeklik/items/1c4145652661cf5b2271
ほぼコチラでOKですが、 autoindex.conf は存在しませんでした。

Apache再起動
$ service httpd restart

2. MySQLのインストール

MySQLインストール
$ yum install mysql
$ yum install mysql-server
$ chkconfig mysqld on
$ chkconfig --list mysqld
言語設定
$ vi /etc/my.cnf

[mysqld]
# 最終行に以下を追加
character-set-server=utf8
MySQL起動
$ /etc/init.d/mysqld start

以下、rootのパスワードなど設定しますので、記録を忘れずに!

セキュリティ自動設定
$ mysql_secure_installation

設定したパスワードでログインしてみます。

起動確認
$ mysql -u root -p

3. MediaWiki用のデータベースとユーザの作成

ログイン
$ mysql -u root -p
作成
mysql> create database dbnameForWiki;
mysql> grant all privileges on dbnameForWiki.* to 'usernameForWiki'@'localhost' identified by 'passwordForWiki';
mysql> quit

4. PHPのインストール

PHPとライブラリのインストール
$ yum install php php-mbstring php-pear php-xml php-mysql

こんなバージョンが入りました。

PHPのバージョン確認
$ php -v
PHP 5.3.29 (cli) (built: May 12 2015 22:42:19)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
タイムゾーン設定
$ vi /etc/php.ini
date.timezone = "Asia/Tokyo"

5. MediaWikiに必要なPHPライブラリのインストール

APC(Alternative_PHP_Cache)
$ yum install php-pecl-apc
intl_PECL拡張機能
$ yum install gcc-c++, php-devel, httpd-devel
$ yum install icu libicu-devel
$ pecl install intl
.
.
.
Specify where ICU libraries and headers can be found [DEFAULT] :エンター押す
.
.
.
Build process completed successfully
Installing '/usr/lib64/php/modules/intl.so'
install ok: channel://pecl.php.net/intl-3.0.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=intl.so" to php.ini

指示通りにphp.iniに追記する。

APC(Alternative_PHP_Cache)
$ vi /etc/php.ini

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

extension=intl.so

Amazon Linuxはepel最初から入っているっぽい。

GD
$ yum --enablerepo=epel install php-gd
ImageMagick
$ yum install ImageMagick ImageMagick-perl

最後にApache再起動しとく。

$ service httpd restart

6. MediaWikiのインストール

ディレクトリは適当なワーキングディレクトリを用意してください。

ダウンロードして解凍
$ wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz
$ tar -xzvf mediawiki-1.26.2.tar.gz

htmlの下のディレクトリ名は適当に名付けてください。Wikipediaっぽいならwikiですかね……

ファイルコピー
$ mkdir /var/www/html/mwiki
$ cp -R mediawiki-1.26.2/* /var/www/html/mwiki/
$ chown -R apache:apache /var/www/html/mwiki/
Apache設定追加
$ 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>

一応再起動する。

$ service httpd restart

ここから先はWebのインストーラがありますので、Webブラウザでアクセスします。なので、最初の方でWebブラウザでの疎通や動作確認を怠っていると、ここで繋がらなかったり、エラーだったりしたときに、えらく面倒なことになりますので御注意ください。

http://EC2のIPアドレス/mwiki/

mwikiのところは自分で決めたディレクトリ名になります。Webブラウザで開くとインストーラーのUIが表示されますので、あとは対話して進めていけばOKです。以下のような情報を聞かれます。

  • ホスト ⇒ localhostでOKです
  • データベース ⇒ MySQLでcreate databaseした名前
  • ユーザ ⇒ MySQLでgrantしたユーザ名
  • パスワード ⇒ MySQLでgrantしたパスワード
  • インストール作業と同じアカウントを使用する
  • ストレージエンジン ⇒ InnoDB
  • データベースの文字セット ⇒ UTF-8
  • ウィキ名 ⇒ ご自由にどうぞ
  • プロジェクト名前空間 ⇒ ウィキ名と同じでOK
  • 管理アカウント:ユーザ名 ⇒ ご自由にどうぞ(ただしWikiなので履歴に表示されます)
  • 管理アカウント:パスワード ⇒ ご自由にどうぞ
  • 管理アカウント:メール ⇒ ご自由にどうぞ(ただし受信できるもの)
  • 公開ウィキ ⇒ ライセンスフッターを付けない(他でも可能)
  • 画像およびファイルのアップロードを有効
  • Instant Commons機能の利用
  • 高度な設定:memcachedの利用:サーバー ⇒ 127.0.0.1:11211

これでLocalSettings.phpが出力されますので、保存しておきます。scpでアップするか、エディタで直接コピペしてしまってもOKです。

$ vi /var/www/html/mwiki/LocalSettings.php

#ローカルのPCからコピペ
画像フォルダ権限設定
$ chown -R apache:apache /var/www/html/mwiki/images

7. memcachedのインストール

インストール
$ yum install memcached
$ yum install php-pecl-memcache
$ chkconfig memcached on
$ chkconfig
確認
$ php -i | grep memcache
起動
$ memcached -d -m 64 -p 11211 -u memcached

8. 動作確認

Apache再起動。

$ service httpd restart

さきほどのインストーラ画面を再度開くと、Wikiのトップが表示されるはずです。

http://EC2のIPアドレス/mwiki/

右上のログインから、先ほど作成したアカウントでログインしてみます。ページの更新も試してみてください。ログイン前であればIPが記録され、ログイン後であればユーザ名が記録されます。

ついでに、memcachedの動作確認もしておきましょう。

memcachedの動作確認
$ memcached-tool localhost:11211 display

これでItemがずらずらっと表示されればOKです。
あとはご自由にコンテンツを作成しましょう!

ちなみに、EC2のCloudWatchのモニタリング画面でCPU使用率を確認したらこんな感じでした。全て1分間平均です。

  • アイドリング時(アクセスなし) ⇒ 0.2%
  • トップページを1回表示した時 ⇒ 1%
  • ページを1回更新した時 ⇒ 1.5%

閲覧主体のWikiであれば、t2.microでもそこそこのアクセスはさばけそうですね。

3
3
0

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