{"id":22432147,"url":"https://github.com/normalhuman01/docker-bedrock-wordpress","last_synced_at":"2025-03-27T07:41:33.181Z","repository":{"id":213464256,"uuid":"734183368","full_name":"normalhuman01/docker-bedrock-wordpress","owner":"normalhuman01","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-21T04:30:12.000Z","size":1517,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T12:45:27.452Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/normalhuman01.png","metadata":{"files":{"readme":"README-ja.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-21T04:25:26.000Z","updated_at":"2023-12-21T04:30:16.000Z","dependencies_parsed_at":"2023-12-21T07:11:42.580Z","dependency_job_id":null,"html_url":"https://github.com/normalhuman01/docker-bedrock-wordpress","commit_stats":null,"previous_names":["normalhuman01/docker-bedrock-wordpress"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normalhuman01%2Fdocker-bedrock-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normalhuman01%2Fdocker-bedrock-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normalhuman01%2Fdocker-bedrock-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normalhuman01%2Fdocker-bedrock-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normalhuman01","download_url":"https://codeload.github.com/normalhuman01/docker-bedrock-wordpress/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245805992,"owners_count":20675291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T22:10:44.152Z","updated_at":"2025-03-27T07:41:33.160Z","avatar_url":"https://github.com/normalhuman01.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 特徴\nこのレポジトリはWordPressで将来の運用を見越した開発を行うにあたっての、ベストな構成を提供するWordPress開発テンプレートとなっています。\n- WordPress本体、プラグイン、テーマ全てがPHPのcomposerでインストール・更新できます。composer.jsonの定義に従ってインストールされるので、構成をGit等でバージョン管理し、環境再現が簡単になります。\n- Dockerがサポートされており、必要なら簡単にDockerでWordPressを立ち上げ、開発する事が出来ます。\n- 複数のWordPressの環境を、同一ソースコード・同一サーバー上に、簡単に立ち上げる事が出来ます。\n1) ドメイン名毎に変えるパターン\n2) ディレクトリ毎に変えるパターン\n両方をサポートします。\n- どんな環境でもインストール・有効化するに値するPluginが最初からcomposer.jsonに定義されています\n\nこのWordPressのインストール方法は「[WordPressの利用法/設定/有用プラグイン/テーマ/開発法まとめ](https://vpshikaku.com/wordpress/)」で紹介されてる方法の内、上級者向けの方法になります。  \n上級者向け(=エンジニア向け)ですが、使いこなせれば、相当便利な手法になります。\nこのページは「英語 =\u003e 日本語」と、同じ内容が別言語で説明されてる構成になっています。  \nご質問がありましたら、このレポジトリの管理者 [@hikarine](https://twitter.com/hikarine3) にTwitterでフォローしてDMでお問合せ下さい。\n\n# 使われているソフト\n- Docker https://www.docker.com/products/docker-desktop\n- docker-compose https://docs.docker.com/compose/install/\n- MariaDB docker: https://hub.docker.com/_/mariadb\n- Apache 2.4 \u0026 PHP 8.2 docker: https://hub.docker.com/layers/library/php/8.2-apache/images/sha256-89ad17cca246e8a6ce742b5b89ce65b34ce6223204a282e45f72b4f758ff6401?context=explore\n- WordPress: https://wordpress.org/download/\n- Bedrock: https://roots.io/bedrock/ 2023/09/28 ver https://github.com/roots/bedrock/commit/a90180a1a0c3b57f7ed561ddb65aca46de839c86\n\n# インストール手順\n```\n# Download github repository ( githubのレポジトリーをダウンロード ) #\ngit clone git@github.com:hikarine3/docker-bedrock-wordpress.git;\ncd docker-bedrock-wordpress;\ncd bedrock;\n\n./composer.phar update;\n\n# Saltをユニークに更新してセキュリティ向上\n# 初回のみ\nwp dotenv salts regenerate;\n```\n\n# 開発環境の立ち上げ\nまず貴方はDockerのインストールをして、それを走らせておく必要があります。\n\nその上で、docker-bedrock-wordpressディレクトリの中=docker-composer.ymlが置いてあるディレクトリで、\n\n```\ndocker-compose up -d;\n```\n\nと打ってください。\n\nそれからコピペする形で\n```\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'`  docker-php-ext-install mysqli;\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c 'cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini';\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c 'echo extension=mysqli \u003e\u003e  /usr/local/etc/php/php.ini';\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c 'echo log_errors=On \u003e\u003e  /usr/local/etc/php/php.ini';\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c 'echo error_reporting=E_ALL \u003e\u003e  /usr/local/etc/php/php.ini';\n\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c  'sed -i \"/\u003cDirectory \\/var\\/www\\/\u003e/,/\u003c\\/Directory\u003e/ s/AllowOverride None/AllowOverride all/\" /etc/apache2/apache2.conf';\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c  'a2enmod rewrite'\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /usr/sbin/apachectl restart;\n```\nをタイプ。\n\n\nエラーを見たければ\n```\ndocker logs -f `docker ps|grep php|awk '{print $1}'`\n```\n\nhttp://localhost/\n\nでWordPressの設定画面を見る事が出来ます。\n\n\n# 各コンテナへログイン\nMariaDBには、docker-compose.ymlがデフォルトの設定のままなら\n```\ndocker exec -i -t `docker ps|grep mariadb|awk '{print $1}'` /bin/bash\n```\nでろ\nでdocker経由だとログインできます。\n\nDocker環境を立ち上げる前に、ユーザーとパスワードを変更してたら、それに合わせて変更して下さい。\n\n\nApache+PHP環境へのログインには\n```\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash\n```\nと打って下さい。\n\n# dockerの操作\ndocker環境を止めたければ\n\n```\ndocker-compose down;\n```\n\nと叩いて下さい。\n\n\n# WordPress Pluginやテーマの追加\nbedrock/composer.jsonを \n\nプラグイン\n\nhttps://wordpress.org/plugins/ ( https://wpackagist.org/ に反映されてから使えるようになる/少々タイムラグ有り)\n\nや \n\nテーマ\n\nhttps://wordpress.org/themes/\n\nを参照しながら編集して、編集が終わったら`composer.phar update`を叩いて下さい。\n\ncomposer.json\n```\n  \"require\": {\n    \"php\": \"\u003e=8.0\",\n    \"composer/installers\": \"^2.2\",\n    \"vlucas/phpdotenv\": \"^5.5\",\n    \"oscarotero/env\": \"^2.1\",\n    \"roots/bedrock-autoloader\": \"^1.0\",\n    \"roots/bedrock-disallow-indexing\": \"^2.0\",\n    \"roots/wordpress\": \"6.3.1\",\n    \"roots/wp-config\": \"1.0.0\",\n    \"roots/wp-password-bcrypt\": \"1.1.0\",\n    \"wpackagist-theme/twentytwentythree\": \"^1.0\",\n    \"wpackagist-plugin/multilingual-press\": \"*\"\n  },\n```\n\n管理画面から追加せず、あくまでcomposer.jsonの編集とcomposer updateだけで管理するのが、ソースコードでWordPressの構成管理を行い切るコツです。\n\nこれにより、WordPressのプラグインのインストールで真っ白になってしまったとしても、簡単にcomposer.jsonを編集してcomposer updateするだけで、問題のプラグインを元に戻す事も出来ますし、問題の解決もより早く行えます。\n\n\n# 更なるWordPress環境の追加\n## /u$数字/　　を使う場合\n\nbedrock/.env\nからコピーする形で\n.env.u数字\nというファイルを作る\n\nなお、このdockerには例として\n.env.u1\nが用意されている\n\nMariaDBにrootユーザーでログインして、追加データベースを作成し、権限を付与。\n\n例えば\nDB_NAME=u1\nDB_USER=${WORDPRESS_DB_USER}\nDB_PASSWORD=${WORDPRESS_DB_PASSWORD}\nのためのDBを追加するには、docker-composer.ymlがデフォルトのままなら\n\n```\ndocker exec -i -t `docker ps|grep mariadb|awk '{print $1}'` mariadb --user=root --password=ExampleRootPass \n```\nでDBにログインしてから\n\n```\nCREATE DATABASE u1 character set utf8mb4;\n```\n\nまた、ユーザーに作ったデータベースへのアクセス権を付与します。\n```\nGRANT ALL PRIVILEGES ON u1.* TO'wpdbuser'@'%';\n```\n\n\n\nそれが終わったら\n```\ndocker exec -i -t `docker ps|grep php|awk '{print $1}'` /bin/bash -c  'mkdir -p /var/www/web;cd /var/www/web;ln -s ../web u1';\n```\n\n\n```\ndocker-compose down\n```\n\nで一旦docker環境を止めて\n\n```\ndocker-compose up -d\n```\n\nで再起動して下さい。\n\n上記の例でしたら\n\nhttp://localhost/u1/\n\nが新たに使えるようになります。\n\n\n## ドメイン　を使う場合\n上記uのパターンに当てはまらない場合に使えます\n\nbedrock/.env\nからコピーする形で\n.env.ドメイン名\nというファイルを作る\n\n\nなお、このdockerには例として\n.env.example.com\nが用意されている\n\n\nMariaDBにrootユーザーでログインして、追加データベースを作成し、権限を付与。\n\n例えば\nDB_NAME=example\nDB_USER=${WORDPRESS_DB_USER}\nDB_PASSWORD=${WORDPRESS_DB_PASSWORD}\nWP_HOME=http://example.com\nのためのDBを追加するには、docker-composer.ymlがデフォルトのままなら\n\n```\ndocker exec -i -t `docker ps|grep mariadb|awk '{print $1}'` mariadb --user=root --password=ExampleRootPass \n```\nでDBにログインしてから\n\n```\nCREATE DATABASE example character set utf8mb4;\n```\n\nまた、ユーザーに作ったデータベースへのアクセス権を付与します。\n```\nGRANT ALL PRIVILEGES ON example.* TO'wpdbuser'@'%';\n```\n\nhttp://example.com/\n\nにアクセスすれば、WordPressの画面を見れます。\n\n\n# 参考: OriginalのBedrockに対する改変\nここは貴方が打つ必要はありませんが、このような変更が元々のbedrockに加えられているということです。\n\n```\ncd bedrock;\nrm -rf html;\nln -s web html;\n\nln -s ../composer.phar composer.phar\n```\n\nberock/config/application.php\nの書き換え。\nオリジナルは\nberock/config/application.php.org\nとして置いてあります。\n\n# License\n\nMIT\n\n# Author\n\n## Name\nHajime Kurita\n\n## Twitter\n- EN: https://twitter.com/hajimekurita\n- JP: https://twitter.com/hikarine3\n- CN: https://www.weibo.com/u/7334273967\n\n## Technical web services which can help you\n### VPS \u0026 Infra\n- EN: https://vpsranking.com/\n- JP: https://vpshikaku.com/\n- CN: https://vpsranking.com/zh/\n\n### Programming\n- EN: https://programminglang.com/en/\n- JP: https://programminglang.com/ja/\n\n### Source code repositories\n- Github https://github.com/hikarine3\n- Docker https://hub.docker.com/u/1stclass/\n- NPM https://www.npmjs.com/~hikarine3\n- Perl http://search.cpan.org/~hikarine/\n- PHP https://packagist.org/packages/hikarine3/\n- Python https://pypi.org/user/hikarine3/\n\n### Corporation page \u0026 services\n- EN: https://1stclass.co.jp/en/services-en/\n- JP: https://1stclass.co.jp/services/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormalhuman01%2Fdocker-bedrock-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnormalhuman01%2Fdocker-bedrock-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormalhuman01%2Fdocker-bedrock-wordpress/lists"}