プロジェクト

全般

プロフィール

環境構築 (Docker) » 履歴 » バージョン 10

市原 健司, 2026/07/07 16:08

1 9 市原 健司
h1. 環境構築(Docker)
2 1 市原 健司
3
---
4
5 9 市原 健司
{{toc}}
6
7
---
8
9 1 市原 健司
h2. 前作業
10
11
12
h3. Docker Desktopインストール
13
14
* ダウンロードは下記公式からWindows用を選択  
15
 [Docker Desktop公式](https://www.docker.com/ja-jp/products/docker-desktop/)
16
17
h3. .gitconfigの確認
18
19
* 下記フォルダに.gitconfigが存在していることを確認
20 3 市原 健司
C:\Users\ユーザー名
21 1 市原 健司
22
* 存在しない場合はPowerShellを起動して下記コマンドで作成と設定
23
** 名前とメールアドレスは自身に置き換える(gitの履歴などに表示される内容)
24
<pre >
25
git config --global user.name "名前"
26
git config --global user.email "メールアドレス"
27
</pre>
28
29 5 市原 健司
h3. VSCode拡張機能のインストール
30
31
* VSCodeを起動し拡張機能タブから "PHP DEBUG"を検索しインストール
32
33 1 市原 健司
---
34
35
h2. 環境構築
36 2 市原 健司
37
h3. giteaよりClone
38
39
[giteaリンク](https://gitea.sowel.info/sowel/SilCity)
40
41
* プロジェクトフォルダ作成
42
  C:\work\Docker\プロジェクトフォルダ(任意の名前 ※英数字推奨)
43
* プロジェクトフォルダにクローン実施
44
  クローン元のgitは下記
45
  https://gitea.sowel.info/sowel/SilCity.git
46
  giteaのアカウント登録を行っていなければ画面右上に登録ボタンより登録
47
** クローンの流れ
48 3 市原 健司
作成したプロジェクトフォルダをエクスプローラで開く
49
右クリック→ターミナルで開くを選択しコマンドプロンプトを表示し下記コマンドを実行しクローン
50 2 市原 健司
<pre>
51
git clone https://gitea.sowel.info/sowel/SilCity.git
52
</pre>
53
ユーザー名とパスワードの入力を求められるのでgiteaのユーザー名とパスワードを入力
54
失敗した場合はパスワードがトークンの場合があるので下記トークンを作成
55
giteaのページ右上の自身のアイコン→設定→アプリケーションタブ からアクセストークンを作成
56 1 市原 健司
作成後に表示される文字列をクローン時のパスワードに使用
57
※この文字列は1度しか表示されないのでコピペして自身で保管しておくこと
58
59
** プロジェクト
60 5 市原 健司
  本番環境と同様に本番用とテスト用の2つのプロジェクトが存在しそれぞれ下記
61
  本番用
62
  wordpress-silcity
63
  テスト用
64
  wordpress-silcitytest
65 3 市原 健司
66
h3. 証明書のインストール
67
68 8 市原 健司
  証明書(ルートCA)をインストール(初回のみ 各端末で1回)
69
  'https://localhost' および 'https://localhost:8443' にアクセス時に警告ページが表示を回避
70
  本番用、テスト用のプロジェクトにそれぞれ格納されているが本番用の1度でよい。
71 3 市原 健司
* インストールの流れ
72
** wordpress-silcity\caroot\rootCA.crt をダブルクリックしダイアログ表示
73
(または右クリック →「証明書のインストール」)
74
** 「証明書のインストール」をクリックし、証明書のインポートウィザードを開始
75
** 格納場所は「ローカルコンピューター」を選択して「次へ」(管理者権限の確認が出る場合は「はい」)
76
** 「証明書をすべて次のストアに配置する」を選択し、「参照」から「信頼されたルート証明機関」を指定して「次へ」
77 1 市原 健司
** 「完了」をクリック「正しくインポートされました」と表示され登録完了
78 9 市原 健司
79
h3. wp-config設定
80
81
  下記ファイルで本番用、テスト用ソースのDB接続設定などを行う。giteaからクローンした場合初期コミットのソースは設定済。
82
  public_html\wp-config.php
83
84
** DB接続情報の変更
85
  下記の項目をコメントアウト
86
<pre><code class="php">
87
define('DB_NAME', $connectstr_dbname);
88
define('DB_USER', $connectstr_dbusername);
89
define('DB_PASSWORD',$connectstr_dbpassword);
90
define('DB_HOST', $connectstr_dbhost);
91
</code></pre>
92
  下記の内容を追加
93
  本番用(wordpress-silcity)
94
<pre><code class="php">
95
define('DB_NAME', 'silcitydb');
96
define('DB_USER', 'mtbrtcghtp');
97
define('DB_PASSWORD','I6MkjFOsSBWwV$oI');
98
define('DB_HOST', 'mariadb');
99
</code></pre>
100
  テスト用(wordpress-silcitytest)
101
<pre><code class="php">
102
define('DB_NAME', 'silcitytestdb');
103
define('DB_USER', 'mtbrtcghtp');
104
define('DB_PASSWORD','I6MkjFOsSBWwV$oI');
105
define('DB_HOST', 'mariadb');
106
</code></pre>
107
** $mysql_sslconnectの処理変更
108
   下記処理の'true'部分を'false'に変更(本番用、テスト用双方)
109
<pre><code class="php">
110
$mysql_sslconnect = (getenv('DB_SSL_CONNECTION')) ? getenv('DB_SSL_CONNECTION') : 'true';
111
</code></pre>
112
** アクセスURLの設定追加
113
  下記コメントの上に設定を追加する
114
<pre><code class="php">
115
/* That's all, stop editing! Happy publishing. */
116
</code></pre>
117
  追加内容本番用(wordpress-silcity)
118
<pre><code class="php">
119
define('WP_HOME',    'https://localhost');
120
define('WP_SITEURL', 'https://localhost');
121
$_SERVER['HTTPS'] = 'on';
122
</code></pre>
123
  追加内容テスト用(wordpress-silcitytest)
124
<pre><code class="php">
125
define('WP_HOME',    'https://localhost:8443');
126
define('WP_SITEURL', 'https://localhost:8443');
127
$_SERVER['HTTPS'] = 'on';
128
</code></pre>
129 3 市原 健司
130 1 市原 健司
h3. DB設定
131 3 市原 健司
132 8 市原 健司
  DB設定は本番用、テスト用の両方の環境でそれぞれ行う
133 1 市原 健司
* DBとユーザーの作成(phpMyAdmin)
134 3 市原 健司
** コンテナの起動
135 8 市原 健司
  wordpress-silcityフォルダ(テスト用の場合wordpress-silcitytest)をエクスプローラで表示し右クリック→ターミナルで開く
136 3 市原 健司
  コマンドプロンプトで下記コマンドを実行しコンテナを起動
137 8 市原 健司
  下記はコンテナをビルドし起動するコマンドなので本番用、テスト用両方ビルド後は
138
  Docker Desktopからの起動でよい
139 3 市原 健司
<pre>
140
docker compose up --build -d
141 1 市原 健司
</pre>
142
** phpMyAdmin へアクセスしログイン
143
  https://localhost/phpmyadmin/
144 3 市原 健司
  ユーザー名:root
145
  パスワード:(空欄のまま)
146 8 市原 健司
  URLは下記のように書き換え
147
  本番用:localhost
148
  テスト用:localhost:8443
149 1 市原 健司
** DBの作成
150 6 市原 健司
  「データベース」タブでDBを作成(本番用:silcitydb テスト用:silcitytestdb)
151
  照合順序は utf8mb4_unicode_ci を選択
152 1 市原 健司
** ユーザーの作成
153 6 市原 健司
  phpMyAdmin画面左上の家アイコンよりホーム画面へ移動
154
  「ユーザーアカウント」タブ→「ユーザーアカウントを追加する」で作成
155
  作成時の各項目の内容は下記のように入力し画面下部の実行ボタンで作成
156
  ユーザー名:mtbrtcghtp
157
  ホスト名:初期状態(すべてのホスト %)
158 1 市原 健司
  パスワード(再入力も同様):I6MkjFOsSBWwV$oI
159 6 市原 健司
** ユーザーの権限設定
160 5 市原 健司
  「ユーザーアカウント」タブの作成したユーザーを選択
161 6 市原 健司
  「データベース」を選択し「以下のデータベースに権限追加」で作成したDBを選択し実行ボタンクリック
162
  「データベース固有の権限」'□すべてチェックする'をチェックして実行ボタンクリック
163 8 市原 健司
   次回以降のDBへのアクセスは作成したユーザーで行う
164 7 市原 健司
* DBデータ作成
165
** ダンプファイルの準備
166
  下記フォルダから C:\work\ フォルダにコピー
167
  \\SWL-FS\案件-sr(共有)\202606_SRラーニングポータル保守\Dockerテスト用
168
  本番用:20260626_091903_silcity.sql.gz
169
  テスト用:20260625_104030_silcitytest.sql.gz
170
** ダンプファイルをコンテナ内にコピー
171
  事前にコンテナを起動しておき、プロジェクトフォルダ直下でターミナルで開いておく
172
  下記コマンドでダンプファイルをコンテナ内にコピー
173
  ※本番用なのでテスト用の場合はファイル名やコンテナ名の箇所を適宜書き換えること
174
<pre>
175
docker cp "C:/work/20260626_091903_silcity.sql.gz" wordpress-silcitytest-mariadb-1:/tmp/20260626_091903_silcity.sql.gz
176
</pre>
177
** ダンプファイルの流し込み
178
  下記コマンドでコンテナ内にコピーしたダンプファイルをDBに流す
179 1 市原 健司
  ※本番用なのでテスト用の場合はファイル名やコンテナ名の箇所を適宜書き換えること
180
<pre>
181
docker exec -it wordpress-silcity-mariadb-1 bash
182
gunzip < /tmp/20260626_091903_silcity.sql.gz | mysql -u root silcitydb
183
</pre>
184
* srdbによるDBデータの置換
185 8 市原 健司
  DBデータのURLのドメインを開発用のlocalhostやlocalhost:8443に置換
186
** 置換実行
187
  事前にコンテナを起動しておき、プロジェクトフォルダ直下でターミナルで開いておく
188
  下記コマンドで置換実行(お試し --dry-run)
189
  ※本番用なのでテスト用の場合は置換する文字列やコンテナ名の箇所を適宜書き換えること
190
   (次項の補足に記載)
191
<pre>
192
docker exec -it wordpress-silcity-php-1 bash
193
cd /var/www/srdb
194
php srdb.cli.php -h mariadb -n silcitydb -u mtbrtcghtp -p 'I6MkjFOsSBWwV$oI' -s silcity.sr-net.co.jp -r localhost --dry-run
195
</pre>
196
  お試しの置換が正常完了確認後、下記で本置換
197
<pre>
198
php srdb.cli.php -h mariadb -n silcitydb -u mtbrtcghtp -p 'I6MkjFOsSBWwV$oI' -s silcity.sr-net.co.jp -r localhost
199
</pre>
200
** 補足
201
  置換のコマンドの各項目について
202
  -h ホスト名
203
  -n DB名
204
  -u ユーザー名
205
  -p パスワード
206
  -s 置換元文字列
207
  -r 置換先文字列
208
  置換のコマンドでは -n -s -rの部分のみ本番用とテスト用で変更が必要
209
  本番用:-n silcitydb -s silcity.sr-net.co.jp -r localhost
210
  テスト用:-n silcitytestdb -s silcity-test.azurewebsites.net -r localhost:8443
211
212
h3. SSOプラグインの削除
213
214
  下記のフォルダが存在する場合フォルダごと削除(初期コミット時のソースからは削除済)
215
  public_html\wp-content\plugins\miniorange-saml-20-single-sign-on
216
217
h3. 画面表示の確認
218
219
  Docker Desktopでwordpress-silcitytest、wordpress-silcitytestのコンテナを起動後
220
  画面にアクセスし表示を確認
221
* 本番用(wordpress-silcitytest)
222
  [トップ画面](https://localhost/)
223
  [管理画面](https://localhost/wp-login.php)
224
  [phpMyAdmin](https://localhost/phpmyadmin}
225
* テスト用(wordpress-silcitytest)
226
  [トップ画面](https://localhost:8443/)
227
  [管理画面](https://localhost:8443/wp-login.php)
228
  [phpMyAdmin](https://localhost:8443/phpmyadmin)
229 10 市原 健司
230
* 管理者画面ID/PW
231
  ID:WPadmin
232
  PW:xxQX98eP