差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
Docker:WordPress:環境構築 [2023/05/13 21:31] – 削除 - 外部編集 (Unknown date) 127.0.0.1 | Docker:WordPress:環境構築 [2025/04/12 05:15] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | # 環境構築 | ||
+ | |||
+ | |||
+ | 参考: | ||
+ | |||
+ | - [Dockerを使ってサクッとHTTPS対応WordPress環境を構築する | 気さくなエンジニ屋](https:// | ||
+ | - [Apacheでマルチドメイン証明書で複数のSSLサイトを構成する](https:// | ||
+ | - [proxies - Reverse proxy and auto_complete with mixed content - Drupal Answers](https:// | ||
+ | |||
+ | ##### 環境 | ||
+ | |||
+ | - CentOS Stream 9 (ホスト環境) | ||
+ | - ホストに Apache 2.4.53をインストール済み | ||
+ | - SSL証明書として Let's Encrypt を利用 | ||
+ | - ホストに対してhttps通信が可能 | ||
+ | - ホストのグローバルIPアドレスに関連付けされたドメイン名を取得済み | ||
+ | - Docker 20.10.21 がインストール済み | ||
+ | |||
+ | ##### 構成 | ||
+ | |||
+ | ``` | ||
+ | ---> | ||
+ | ``` | ||
+ | |||
+ | ##### 方針 | ||
+ | |||
+ | WordPress用に新しくサブドメインを登録する。 | ||
+ | |||
+ | そのサブドメインにアクセスしてきたら、Apacheに設定したリバースプロキシでWordPressコンテナに通信を転送する。 | ||
+ | |||
+ | また、SSL証明書はホスト上のApacheにて設定する。 | ||
+ | |||
+ | ##### サブドメイン登録 | ||
+ | |||
+ | このページに書かれている方法でサブドメインを登録する。[[ネットワーク: | ||
+ | |||
+ | 以下では「abc.example.com」を例に記載する。 | ||
+ | |||
+ | ##### SSL証明書の発行 | ||
+ | |||
+ | 下記のコマンドを実行してSSL証明書を発行する。 | ||
+ | |||
+ | ``` | ||
+ | $ certbot certonly --webroot -w < | ||
+ | ``` | ||
+ | |||
+ | ##### Apacheの設定 | ||
+ | |||
+ | 「/ | ||
+ | |||
+ | ``` | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ※1. この設定がないと、混在コンテンツとなりjavascriptやcss等が正常に読み込まれない | ||
+ | ``` | ||
+ | |||
+ | 設定ファイルを編集後、下記のApacheを再起動する。 | ||
+ | |||
+ | ``` | ||
+ | $ sudo systemctl restart httpd | ||
+ | ``` | ||
+ | |||
+ | ##### docker-compose.yml の作成 | ||
+ | |||
+ | 任意のディレクトリで下記内容の「docker-compose.yml」を作成する。 | ||
+ | |||
+ | ``` | ||
+ | version: ' | ||
+ | services: | ||
+ | wordpress: | ||
+ | image: wordpress: | ||
+ | container_name: | ||
+ | ports: | ||
+ | - 8082:80 | ||
+ | volumes: | ||
+ | - ./ | ||
+ | environment: | ||
+ | WORDPRESS_DB_HOST: | ||
+ | WORDPRESS_DB_USER: | ||
+ | WORDPRESS_DB_PASSWORD: | ||
+ | WORDPRESS_DB_NAME: | ||
+ | depends_on: | ||
+ | - wordpress-db | ||
+ | restart: always | ||
+ | |||
+ | wordpress-db: | ||
+ | image: mysql:8.0 | ||
+ | container_name: | ||
+ | ports: | ||
+ | - 3308:3306 | ||
+ | environment: | ||
+ | TZ: Asia/Tokyo | ||
+ | MYSQL_ROOT_PASSWORD: | ||
+ | MYSQL_DATABASE: | ||
+ | MYSQL_USER: < | ||
+ | MYSQL_PASSWORD: | ||
+ | volumes: | ||
+ | - ./ | ||
+ | command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci | ||
+ | restart: always | ||
+ | ``` | ||
+ | |||
+ | ##### コンテナ作成 | ||
+ | |||
+ | ``` | ||
+ | $ docker-compose up -d | ||
+ | ``` | ||
+ | |||
+ | コマンド実行後、WordPress と MySQL の接続に数十秒かかる。 | ||
+ | |||
+ | その後、%%「https:// | ||
+ | |||