環境構築 (Docker) » 履歴 » リビジョン 9
リビジョン 8 (市原 健司, 2026/07/07 15:01) → リビジョン 9/12 (市原 健司, 2026/07/07 16:05)
h1. 環境構築(Docker) 環境構築 --- {{toc}} --- h2. 前作業 h3. Docker Desktopインストール * ダウンロードは下記公式からWindows用を選択 [Docker Desktop公式](https://www.docker.com/ja-jp/products/docker-desktop/) h3. .gitconfigの確認 * 下記フォルダに.gitconfigが存在していることを確認 C:\Users\ユーザー名 * 存在しない場合はPowerShellを起動して下記コマンドで作成と設定 ** 名前とメールアドレスは自身に置き換える(gitの履歴などに表示される内容) <pre > git config --global user.name "名前" git config --global user.email "メールアドレス" </pre> h3. VSCode拡張機能のインストール * VSCodeを起動し拡張機能タブから "PHP DEBUG"を検索しインストール --- h2. 環境構築 h3. giteaよりClone [giteaリンク](https://gitea.sowel.info/sowel/SilCity) * プロジェクトフォルダ作成 C:\work\Docker\プロジェクトフォルダ(任意の名前 ※英数字推奨) * プロジェクトフォルダにクローン実施 クローン元のgitは下記 https://gitea.sowel.info/sowel/SilCity.git giteaのアカウント登録を行っていなければ画面右上に登録ボタンより登録 ** クローンの流れ 作成したプロジェクトフォルダをエクスプローラで開く 右クリック→ターミナルで開くを選択しコマンドプロンプトを表示し下記コマンドを実行しクローン <pre> git clone https://gitea.sowel.info/sowel/SilCity.git </pre> ユーザー名とパスワードの入力を求められるのでgiteaのユーザー名とパスワードを入力 失敗した場合はパスワードがトークンの場合があるので下記トークンを作成 giteaのページ右上の自身のアイコン→設定→アプリケーションタブ からアクセストークンを作成 作成後に表示される文字列をクローン時のパスワードに使用 ※この文字列は1度しか表示されないのでコピペして自身で保管しておくこと ** プロジェクト 本番環境と同様に本番用とテスト用の2つのプロジェクトが存在しそれぞれ下記 本番用 wordpress-silcity テスト用 wordpress-silcitytest h3. 証明書のインストール 証明書(ルートCA)をインストール(初回のみ 各端末で1回) 'https://localhost' および 'https://localhost:8443' にアクセス時に警告ページが表示を回避 本番用、テスト用のプロジェクトにそれぞれ格納されているが本番用の1度でよい。 * インストールの流れ ** wordpress-silcity\caroot\rootCA.crt をダブルクリックしダイアログ表示 (または右クリック →「証明書のインストール」) ** 「証明書のインストール」をクリックし、証明書のインポートウィザードを開始 ** 格納場所は「ローカルコンピューター」を選択して「次へ」(管理者権限の確認が出る場合は「はい」) ** 「証明書をすべて次のストアに配置する」を選択し、「参照」から「信頼されたルート証明機関」を指定して「次へ」 ** 「完了」をクリック「正しくインポートされました」と表示され登録完了 h3. wp-config設定 下記ファイルで本番用、テスト用ソースのDB接続設定などを行う。giteaからクローンした場合初期コミットのソースは設定済。 public_html\wp-config.php ** DB接続情報の変更 下記の項目をコメントアウト <pre><code class="php"> define('DB_NAME', $connectstr_dbname); define('DB_USER', $connectstr_dbusername); define('DB_PASSWORD',$connectstr_dbpassword); define('DB_HOST', $connectstr_dbhost); </code></pre> 下記の内容を追加 本番用(wordpress-silcity) <pre><code class="php"> define('DB_NAME', 'silcitydb'); define('DB_USER', 'mtbrtcghtp'); define('DB_PASSWORD','I6MkjFOsSBWwV$oI'); define('DB_HOST', 'mariadb'); </code></pre> テスト用(wordpress-silcitytest) <pre><code class="php"> define('DB_NAME', 'silcitytestdb'); define('DB_USER', 'mtbrtcghtp'); define('DB_PASSWORD','I6MkjFOsSBWwV$oI'); define('DB_HOST', 'mariadb'); </code></pre> ** $mysql_sslconnectの処理変更 下記処理の'true'部分を'false'に変更(本番用、テスト用双方) <pre><code class="php"> $mysql_sslconnect = (getenv('DB_SSL_CONNECTION')) ? getenv('DB_SSL_CONNECTION') : 'true'; </code></pre> ** アクセスURLの設定追加 下記コメントの上に設定を追加する <pre><code class="php"> /* That's all, stop editing! Happy publishing. */ </code></pre> 追加内容本番用(wordpress-silcity) <pre><code class="php"> define('WP_HOME', 'https://localhost'); define('WP_SITEURL', 'https://localhost'); $_SERVER['HTTPS'] = 'on'; </code></pre> 追加内容テスト用(wordpress-silcitytest) <pre><code class="php"> define('WP_HOME', 'https://localhost:8443'); define('WP_SITEURL', 'https://localhost:8443'); $_SERVER['HTTPS'] = 'on'; </code></pre> h3. DB設定 DB設定は本番用、テスト用の両方の環境でそれぞれ行う * DBとユーザーの作成(phpMyAdmin) ** コンテナの起動 wordpress-silcityフォルダ(テスト用の場合wordpress-silcitytest)をエクスプローラで表示し右クリック→ターミナルで開く コマンドプロンプトで下記コマンドを実行しコンテナを起動 下記はコンテナをビルドし起動するコマンドなので本番用、テスト用両方ビルド後は Docker Desktopからの起動でよい <pre> docker compose up --build -d </pre> ** phpMyAdmin へアクセスしログイン https://localhost/phpmyadmin/ ユーザー名:root パスワード:(空欄のまま) URLは下記のように書き換え 本番用:localhost テスト用:localhost:8443 ** DBの作成 「データベース」タブでDBを作成(本番用:silcitydb テスト用:silcitytestdb) 照合順序は utf8mb4_unicode_ci を選択 ** ユーザーの作成 phpMyAdmin画面左上の家アイコンよりホーム画面へ移動 「ユーザーアカウント」タブ→「ユーザーアカウントを追加する」で作成 作成時の各項目の内容は下記のように入力し画面下部の実行ボタンで作成 ユーザー名:mtbrtcghtp ホスト名:初期状態(すべてのホスト %) パスワード(再入力も同様):I6MkjFOsSBWwV$oI ** ユーザーの権限設定 「ユーザーアカウント」タブの作成したユーザーを選択 「データベース」を選択し「以下のデータベースに権限追加」で作成したDBを選択し実行ボタンクリック 「データベース固有の権限」'□すべてチェックする'をチェックして実行ボタンクリック 次回以降のDBへのアクセスは作成したユーザーで行う * DBデータ作成 ** ダンプファイルの準備 下記フォルダから C:\work\ フォルダにコピー \\SWL-FS\案件-sr(共有)\202606_SRラーニングポータル保守\Dockerテスト用 本番用:20260626_091903_silcity.sql.gz テスト用:20260625_104030_silcitytest.sql.gz ** ダンプファイルをコンテナ内にコピー 事前にコンテナを起動しておき、プロジェクトフォルダ直下でターミナルで開いておく 下記コマンドでダンプファイルをコンテナ内にコピー ※本番用なのでテスト用の場合はファイル名やコンテナ名の箇所を適宜書き換えること <pre> docker cp "C:/work/20260626_091903_silcity.sql.gz" wordpress-silcitytest-mariadb-1:/tmp/20260626_091903_silcity.sql.gz </pre> ** ダンプファイルの流し込み 下記コマンドでコンテナ内にコピーしたダンプファイルをDBに流す ※本番用なのでテスト用の場合はファイル名やコンテナ名の箇所を適宜書き換えること <pre> docker exec -it wordpress-silcity-mariadb-1 bash gunzip < /tmp/20260626_091903_silcity.sql.gz | mysql -u root silcitydb </pre> * srdbによるDBデータの置換 DBデータのURLのドメインを開発用のlocalhostやlocalhost:8443に置換 ** 置換実行 事前にコンテナを起動しておき、プロジェクトフォルダ直下でターミナルで開いておく 下記コマンドで置換実行(お試し --dry-run) ※本番用なのでテスト用の場合は置換する文字列やコンテナ名の箇所を適宜書き換えること (次項の補足に記載) <pre> docker exec -it wordpress-silcity-php-1 bash cd /var/www/srdb php srdb.cli.php -h mariadb -n silcitydb -u mtbrtcghtp -p 'I6MkjFOsSBWwV$oI' -s silcity.sr-net.co.jp -r localhost --dry-run </pre> お試しの置換が正常完了確認後、下記で本置換 <pre> php srdb.cli.php -h mariadb -n silcitydb -u mtbrtcghtp -p 'I6MkjFOsSBWwV$oI' -s silcity.sr-net.co.jp -r localhost </pre> ** 補足 置換のコマンドの各項目について -h ホスト名 -n DB名 -u ユーザー名 -p パスワード -s 置換元文字列 -r 置換先文字列 置換のコマンドでは -n -s -rの部分のみ本番用とテスト用で変更が必要 本番用:-n silcitydb -s silcity.sr-net.co.jp -r localhost テスト用:-n silcitytestdb -s silcity-test.azurewebsites.net -r localhost:8443 h3. SSOプラグインの削除 下記のフォルダが存在する場合フォルダごと削除(初期コミット時のソースからは削除済) public_html\wp-content\plugins\miniorange-saml-20-single-sign-on h3. 画面表示の確認 Docker Desktopでwordpress-silcitytest、wordpress-silcitytestのコンテナを起動後 画面にアクセスし表示を確認 * 本番用(wordpress-silcitytest) [トップ画面](https://localhost/) [管理画面](https://localhost/wp-login.php) [phpMyAdmin](https://localhost/phpmyadmin} * テスト用(wordpress-silcitytest) [トップ画面](https://localhost:8443/) [管理画面](https://localhost:8443/wp-login.php) [phpMyAdmin](https://localhost:8443/phpmyadmin)