Skip to content

FTP接続ガイド

本プロジェクトでは、vsftpdを使用したFTPサーバーが稼働しており、開発者の手元のマシン(ホストOS)からWordPressのファイルシステムに安全にアクセスできます。

FTP接続のメリット

docker-compose.yml のバインドマウント機能を使えばホストの ~/data/wordpress を直接編集できますが、FTP接続には以下のメリットがあります。

  1. 本番環境のシミュレーション: 実際のリモートサーバー(クラウド環境など)ではバインドマウントが使えないことが多く、FTP/SFTPが標準的な更新手段です。
  2. 権限管理の遵守: FTP経由でアップロードされたファイルは、システム側で適切な権限(www-data 等)に自動修正される設定になっている場合があり、権限トラブルを防ぎます。
  3. 専用クライアントの利便性: FileZillaなどのツールを使うことで、大量のファイル転送や差分アップロードが容易になります。

接続情報

項目設定値備考
ホスト127.0.0.1 (localhost)※VM環境の場合はVMのIPアドレスを指定
プロトコルFTP (ファイル転送プロトコル)FTPS/SFTPではありません
暗号化明示的なFTP over TLSが必要な場合ありプロジェクト設定による
ログオンタイプ通常 (Normal)
ユーザー.envFTP_USERデフォルト例: devuser
パスワード.envFTP_PASSWORDデフォルト例: devuser
ポート21

NOTE

VM (VirtualBox等) 上で実行している場合、ホストOS(Mac/Windows)から接続するにはポートフォワーディング設定が必要です。 Docker Infrastructureの規定ではポート21を使用します。

接続手順 (FileZilla)

  1. FileZilla を起動し、左上の「サイトマネージャー」を開きます。
  2. 新しいサイト を作成し、上記「接続情報」を入力します。
  3. 接続 ボタンをクリックします。
  4. 成功すると、右側のパネルにWordPressのディレクトリ(/var/www/html 相当)が表示されます。

接続手順 (CLI)

ターミナルから ftp コマンドで接続することも可能です。

bash
# ローカルホストに接続
ftp -p 127.0.0.1 21

# ユーザー名入力
Name: <FTP_USER>

# パスワード入力
Password: <FTP_PASSWORD>

# 接続成功後、コマンド操作
ftp> ls
ftp> cd wp-content/themes
ftp> put style.css
ftp> quit

トラブルシューティング

  • 接続できない (Connection refused):
    • コンテナが起動しているか docker ps で確認してください。
    • ファイアウォール設定を確認してください(ufw allow 21)。
  • ログインできない (Login incorrect):
    • .env ファイルの設定値を確認してください。
    • コンテナ再構築 (make re) でユーザー情報が再生成された可能性があります。
  • パッシブモードのエラー:
    • クライアントの設定で「転送設定 > 転送モード」を「アクティブ」または「パッシブ」に切り替えて試してください。

Released under the MIT License.