DockerでWordPressの起動

変数設定ファイル .env の作成

データベース接続情報を、.env ファイルに記述
公開するなら必ず変更する事

# DB設定
DB_ROOT_PASSWORD=rootpass
DB_USER=user
DB_PASSWORD=password

# Port設定
HTTP_PORT=80
HTTPS_PORT=443

コンテナ作成ファイル compose.yaml の作成

個人的に MariaDB の方が好きなので、MySQL ではなく MariaDB を使ってます

services:
  db:
    image: mariadb:latest
    container_name: wordpress_db
    volumes:
      - ./data/mariadb:/var/lib/mysql
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    container_name: wordpress_web
    ports:
      - "${HTTP_PORT}:80"
      - "${HTTPS_PORT}:443"
    volumes:
      - ./data/html:/var/www/html
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: ${DB_USER}
      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}

WordPressの起動

コンテナを起動し、ブラウザから WordPress の設定を行います

# docker compose up -d

PHPの制限設定

コンテナを起動すると、data/html/.htaccess が作成されるので、変更したい PHP の値を記載します

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

php_value upload_max_filesize 512M
php_value post_max_size 512M

# END WordPress

コメント

タイトルとURLをコピーしました