2018年5月30日水曜日

DockerでProcessWire、Percona Serverがインストールされたコンテナ(Alpine 3.7)を構築する

ProcessWireはPHP製のCMSです。

○ProcessWireの画面


○構築方法
以下の手順で、ProcessWire、Percona Serverのコンテナを構築・実行します。

1. ProcessWireイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t processwire .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-mbstring php7-session php7-xml php7-dom php7-ctype php7-tokenizer php7-gd php7-simplexml php7-iconv php7-zip php7-json php7-pdo php7-pdo_mysql openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://github.com/processwire/processwire/archive/master.zip \
  && unzip master.zip \
  && rm -f master.zip \
  && mkdir /opt \
  && mv processwire-master /opt/processwire \
  && chown -R apache:apache /opt/processwire \
  && mkdir -p /run/apache2 \
  && echo $'\n\
  Options Indexes FollowSymLinks \n\
  AllowOverride All\n\
  Options All\n\
  Require all granted\n\
' >> /etc/apache2/httpd.conf \
  && ln -s /opt/processwire /var/www/localhost/htdocs/ \
  && sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf
EXPOSE 80
VOLUME /opt/processwire
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

2. ProcessWireとPercona Serverコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  processwire:
    image: processwire
    container_name: "processwire"
    volumes:
      - "processwire-data:/opt/processwire"
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: percona:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "processwire-db"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
        MYSQL_DATABASE: processwire
        MYSQL_ROOT_PASSWORD: processwire
volumes:
  db-data:
    driver: local
  processwire-data:
    driver: local

3. ブラウザからhttp://<Dockerホスト名またはIP>/processwire/にアクセス
「Get Started」ボタンをクリック


4. Site Installation Profileで「Default (Beginner Edition)」を選択して「Continue」をクリック。


5. Compatibility Checkで「Continue to Next Step」をクリック。


6. MySQL Databaseで以下の項目を入力し、「Continue」をクリック。
DB Name : processwire
DB User : root
DB Password : processwire
DB Host : db
DB Engine : InnoDB
他は好みにあわせて設定する


7.Admin Account Informationで管理者ユーザの情報を入力して、「Continue」をクリック


8.初期設定完了画面


○関連情報
・ProcessWireに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿