Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

MediaWikiの環境をdocker-composeで簡易的に構築する

MediaWikiの環境をdocker-composeで簡易的に構築する

環境情報

2019/12/12時点

  • MacOS X 10.15.1(19B88)
  • Docker 19.03.5
  • MediaWiki 1.33.1
  • MySQL 5.7.28
    • 2019/12/12時点ではMySQLのコンテナは8.0.18が最新ですが、このバージョンだとMediaWikiの初期設定画面での操作でエラーが発生し正常に動作しなかったため、5.7.28のバージョンを利用しています。

docker-composeのディレクトリ構成

.
├── db
│   └── mysql
│       └── var_lib_mysql
├── mediawiki
│   └── images
└── docker-compose.yml

docker-compose.ymlの定義内容

version: '3'
services:
  mediawiki:
    container_name: wiki
    image: mediawiki:latest
    restart: always
    ports:
      - 80:80
    volumes:
      - ./mediawiki/images:/var/www/html/images
  mysql:
    container_name: db
    image: mysql:5.7.28
    environment:
      #イメージの起動時に作成するデータベースの名前
      MYSQL_DATABASE: my_wiki
      #このユーザはMYSQL_DATABASE変数で指定されたデータベースに対してスーパーユーザとしての権限(GRANT ALL)を保持する
      MYSQL_USER: mysqluser
      #MYSQL_USERのパスワード
      MYSQL_PASSWORD: mysqluser00
      # MySQLにおけるスーパーユーザであるrootアカウントに設定するためのパスワード
      MYSQL_ROOT_PASSWORD: mysqluser000
    ports:
      - "3306:3306"
    volumes:
      - ./db/mysql/var_lib_mysql:/var/lib/mysql

MediaWikiの初期設定をする

docker-compose up -dで起動したあと、下記手順を実行してMediaWikiの初期設定を行います。

1. MediaWikiにアクセスする

にアクセスするとset up the wikiというリンクのあるページが表示される。

スクリーンショット 2019-12-11 20.18.33.png

2. set up the wikiリンクをクリックする

3. 言語の選択画面で続行ボタンを押下する

スクリーンショット 2019-12-11 20.23.50.png

4. MediaWikiへようこそ!画面で続行ボタンを押下する

screencapture-127-0-0-1-mw-config-index-php-2019-12-11-20_27_38.png

5. データベースに接続画面で以下の情報を入力して続行ボタンを押下する

  • データベースのホスト
    • mysql (docker-compose.ymlで定義したmysqlのコンテナ)
  • データベース名
    • my_wiki
  • データベースのユーザー名
    • mysqluser
  • データベースのパスワード
    • mysqluser00

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_39_43.png

6. データベースの設定画面で続行ボタンを押下する

スクリーンショット 2019-12-12 7.47.17.png

7. 名前の画面で値を設定し、続行ボタンを押下する

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_49_51.png

8. インストールの画面で続行ボタンを押下する

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_51_15.png

9. インストールの確認画面で続行ボタンを押下する

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_52_14.png

10. LogalSettings.phpファイルのダウンロード

上記手順の続行ボタンを押下するとLocalSettings.phpファイルがダウンロードされるので、./mediawiki/配下にダウンロードする。

.
├── db
│   └── mysql
│       └── var_lib_mysql
├── mediawiki
│   └── images
│   └── LocalSettings.php  ←  ここに配置
└── docker-compose.yml

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_56_26.png

11. 一度docker-compose downを実行してコンテナを停止する

$ docker-compose down

12. docker-compose.ymlファイルにLocalSettings.phpのvolumes記述を追加する

version: '3'
services:
  mediawiki:
    container_name: wiki
    image: mediawiki:latest
    restart: always
    ports:
      - 80:80
    volumes:
      - ./mediawiki/images:/var/www/html/images
      - ./mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php ← この行を追加

13. docker-compose up -d でコンテナを再度起動する

$ docker-compose up -d

14. MediaWikiに再度アクセスする

screencapture-127-0-0-1-mw-config-index-php-2019-12-12-07_56_26.png

以上の手順でMediaWikiをdocker-composeで簡易的に構築することができました。
MySQLが最新版の8で動作しないことで、原因調査に時間がかかってしまった。。。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?