WordPress · 2 min read · Dec 07, 2025
Vagrantを使用したローカルWordPress開発環境のセットアップ

WordPressで開発する場合、サーバー、データベースツール、いくつかのWordPressサイト、および必要な他のツールをインストールしたローカル環境をセットアップすることが望ましいです。これは、いくつかのプロジェクトに取り組む場合は問題ありません。しかし、プロジェクトが増えると問題が発生します。また、クライアントの環境が自分の環境とは異なるため、複数の環境を維持することによる頭痛の種もあります。
この問題を回避するために、私たちはVagrantと呼ばれるものを使用できます。Vagrantは仮想環境で作業するためのツールです。いくつかのコマンドでローカル開発環境を簡単にセットアップでき、手動で全てをインストールする手間をかけずに、完全なセットアップを何度でも簡単に複製できます。Vagrantを実行するには、一連のルールを定義する必要があります。Vagrantはこれらのルールに基づいて仮想マシンをセットアップします。Vagrantには、仮想マシンに必要なハードウェアの種類をVagrantに指示するVagrantfileと、仮想マシンで何をするかをVagrantに指示するデプロイメントファイルの2つのファイルが必要です。
Vagrantは仮想環境で動作するため、Vagrantを実行するには仮想マシンソフトウェアが必要です。私たちの目的のために、オープンソースのVirtualboxを使用します。
VirtualBoxのインストール
Virtualboxのダウンロードページに移動し、ゲストホストに対応するバイナリファイルをダウンロードします。(ゲストホストは、開発環境を実行するオペレーティングシステムです。)Virtualboxをインストールします。
Vagrantのインストール
Vagrantのダウンロードページからオペレーティングシステムに対応するバイナリをダウンロードし、インストールします。
正常にインストールされたかどうかをテストするには、OSのコマンドラインで次のコマンドを入力します。
$ vagrant -vVagrant Hosts Updaterプラグインのインストール
vagrant-hostupdaterプラグインは、Vagrantによって設定されたドメインが機能するように、OSのhostsファイルを変更します。インストールするには、次のコマンドを実行します。
$ vagrant plugin install vagrant-hostsupdaterVagrant/Virtualboxをインストールした後、ネットワークの問題が発生しないようにOSを再起動します。
Gitのインストール
Linux
このチュートリアルにはGitバージョン管理も必要です。インストールされていない場合は、Debian/Ubuntuディストリビューションの場合は次のコマンドを使用してインストールします。
$ sudo apt install gitまたは、Fedoraの場合は
$ sudo dnf install gitまたは、CentOS/RHELの場合は
$ sudo yum install gitインストールされているGitのバージョンを次のコマンドで確認します。
$ git --version次のような出力が表示されます。
$ git version 2.20.1次のコマンドを使用してGitを設定する必要があります。
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"Windows
WindowsにGitをインストールするには、Gitのダウンロードページに移動し、バイナリをインストールします。
Mac OS
Homebrewがインストールされている場合は、次のコマンドでGitをインストールできます。
$ brew install gitまたは、Gitのダウンロードページからバイナリパッケージをダウンロードしてインストールできます。
Varying Vagrant Vagrantsのインストール
Vagrantのセットアップを最初から作成する代わりに、Varying Vagrants Vagrant(VVV)を使用します。これは、WordPress開発環境を作成することを目的としたオープンソースのVagrant構成です。標準のVVVは、Nginxサーバー、MariaDBデータベース、PHP、WP-CLI、Node.js、MailHog、Composer、memcached、phpMyAdmin、gitなどのツールとともに、Ubuntu 18.04に基づいて仮想マシンをセットアップします。VVVはデフォルトで複数のWordPressインストールを提供し、そのうちの1つは最新のベータ版で、実験を助けます。
最初のステップは、VVVのGitリポジトリをシステムのローカルディレクトリにクローンすることです。
$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvvここでは、システム上のリポジトリのマスターブランチをクローンしています。より早い更新を望む場合は、developブランチを使用できます。
VVVの起動
VVVをクローンしたディレクトリに移動します。
$ cd vvv仮想マシンをインストールし、すべてをセットアップするVagrant環境を起動します。
$ vagrant upこのプロセスには時間がかかる場合があるので、辛抱強く待ってください。プロセス中に、システムのhostsファイルを設定するために必要なrootパスワードを求められることがあります。
Windows 8/10ユーザーへの注意
Windowsを使用している場合、次のエラーが表示されることがあります。
==> default: Booting VM...
VBoxManageを使用して実行中にエラーが発生しました。これは、VagrantがVirtualBoxを制御するために使用するCLIです。コマンドとstderrは以下に示されています。
コマンド: ["startvm", "1fe83aa1-2f23-4ddd-ad77-b7e7e00aabe6", "--type", "headless"]
Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #3' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsoleここで参照されているアダプターに注意してください。
VirtualBox Host-Only Ethernet Adapter #3コントロールパネル >> ネットワークと共有センターに移動します。次に、アダプター設定の変更をクリックします。VirtualBox Host-Only Ethernet Adapter #3と名前またはデバイス名が一致するアダプターを右クリックし、プロパティをクリックします。構成ボタンをクリックします。
次に、ドライバータブをクリックします。ドライバーの更新をクリックします。コンピューター上のドライバーを参照を選択します。次に、コンピューター上の利用可能なドライバーのリストから選択させてくださいを選択します。表示される選択肢を選択し、次へをクリックします。閉じるをクリックして更新を完了します。今、ターミナル/Powershell/コマンドウィンドウに戻り、vagrant upコマンドを再実行します。今回は正常に動作するはずです。
これが完了したら、http://vvv.testのURLでVVVダッシュボードにアクセスできます。
VVVには2つのデフォルトのWordPressインストールが付属しています - http://one.wordpress.test と http://two.wordpress.test どちらのサイトも同じログイン詳細を持ち、ユーザー名はadmin、パスワードはpasswordです。両方のサイトのデータベースの資格情報は、ユーザー名とパスワードがwpです。MySQLのルートユーザーの資格情報は、ユーザー名とパスワードがrootです。そして、VMのルートユーザーの資格情報は、ユーザー名がroot、パスワードがvagrantです。
$ vagrant reload --provisionURLがラベル付けされていない別のWordPressインストールがあります。これはwordpress-meta-environmentと呼ばれます。このインストールは、WordPressメタチームへの貢献に役立つ環境を作成します。例えば、WordCamps、.orgなどです。このインストールを有効にするには、vvv-custom.ymlファイルのwordpress-meta-environmentの下に次の行を追加します。
hosts:
- wpmeta.test次に、skip_provisioningの値をfalseに変更し、VMを再プロビジョニングします。
$ vagrant reload --provision新しいサイトを追加
VMに別のサイトを追加したい場合は、vvvディレクトリ内にあるvvv-custom.ymlファイルを編集する必要があります。そこにない場合は、vvv-config.ymlをコピーして作成してください。これは一度だけのプロセスで、再度行う必要はありません。vvv-config.ymlはVVVを更新すると上書きされるため、常にvvv-custom.ymlで変更を行ってください。
新しいサイトを追加するために、vvv-custom.ymlのサイトセクションの下に次のコードを追加します。
newsite:
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
description: "A WordPress subdir multisite install"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
branch: master
nginx_upstream: php
skip_provisioning: false
hosts:
- newsite.test
custom:
wp_type: subdirectory変数
repo変数は、VM上に新しいWordPressサイトをセットアップする方法に関する情報を含む事前定義されたGithubリポジトリを指します。今のところ、VVVによって管理されているリポジトリを使用しています。
description変数は自己説明的です。
vm_dirは、サイトが存在するVM内の実際のディレクトリです。
local_dirは、ホストマシン上にサイトが存在するディレクトリです。
branch変数は、ここでの例のリポジトリのマスターブランチをチェックアウトするようにVagrantに指示します。
nginx_upstreamは、Nginxがリクエストをどこに渡すかを設定するために使用され、通常はインストールに必要なPHPバージョンを変更するために使用されます。ここでのphpは、デフォルトのPHPバージョンである7.2を指します。php71を使用してPHP 7.1に変更したり、php56を使用してPHP 5.6に変更したりできます。
skip_provisioningはfalseに設定されており、これはこのサイトをVMに含める必要があることを意味します。
hosts変数は、サイトにアクセスするために必要なURLを設定するために使用されます。
customセクションは、WordPressサイトに対して追加の制御が必要な場合に便利です。このセクションを使用してマルチサイトインストールを設定したり、異なるバージョンのWordPressをインストールしたり、インストールに使用されるデータベースやサイトの名前を変更したりできます。
wp_type変数は、インストールが単一、ドメインを持つマルチサイト、またはサブディレクトリを持つマルチサイトのいずれになるかを決定します。wp_typeは、single、subdomain、subdirectory、noneの4つの値を取ります。サブドメインインストールでは、次の形式でマルチサイトインストールのために複数のホストを定義できます。
hosts:
- multisite.test
- site1.multisite.test
- site2.multisite.test
custom:
wp_type: subdomainカスタムセクションの下にもう1つの変数wp_versionを追加できます。WordPressのナイトリーバージョンをインストールしたい場合は、これをnightlyに設定できます。これは、nightly、latest、バージョン番号の3つの値を取ります。
custom:
wp_version: nightly別の変数db_nameがあり、インストール用のデータベースの名前を設定できます。
custom:
db_name: super_secet_db_name最後に、site_title変数を使用してWPサイトのタイトルを設定できます。
custom:
site_title: My Awesome Dev Siteこれで、VVVに自分のウェブサイトを追加するために必要なすべての変数とオプションがカバーされるはずです。vvv-custom.ymlファイルを変更した後は、次のコマンドを実行して新しいサイトを機能させます。
$ vagrant reload --provision既存のサイトを追加
これまで、VVVにまったく新しいサイトを追加する方法を学びました。しかし、すでにサイトで作業していて、それをVVVの下に追加したい場合はどうすればよいでしょうか。これを行う方法を見てみましょう。
既存のサイトを追加するには、最初のステップは以前と同じで、すなわちvvv-custom.ymlファイルを編集し、次のコードを追加します。
howtoforge:
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
description: "A WordPress site"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
hosts:
- howtoforge.localこれにより、VVVはhttp://howtoforge.localでアクセス可能な新しいサイトをセットアップします。しかし、これはまったく新しいサイトです。私たちがする必要があるのは、これを既存のインストールに変換することです。そのためには、既存のWordPressインストールからファイルをローカルディレクトリ(/home/user/vvv/www/newsite)にコピーする必要があります。
$ cp /var/www/howtoforge/ /home/user/vvv/www/newsite/次に、データベースをコピーする必要があります。これを行う簡単な方法は、既存のデータベースを.sqlファイルとしてエクスポートし、そのファイルをブログのディレクトリにコピーし、VMにSSHしてデータベースを再インポートすることです。
まず、ローカルシステムのコマンドラインでmysqlにログインし、次のコマンドを使用してデータベースをエクスポートします。
$ cd /home/user/vvv/www/newsite
$ mysqldump -u username -p database_name > data-dump.sql次に、VMを再プロビジョニングできます。
$ vagrant reload --provisionVMにSSHします。
$ vagrant ssh次に、データベースをVMにインポートします。
$ cd /srv/www/newsite
$ mysql -u root -p newsite < data-dump.sqlVVVは、プロビジョニング中に新しいデータベースを作成しており、私たちのブログの名前はnewsiteです。ルートユーザーのパスワードはここではrootです。上記のコマンドは、既存のデータベースを新しいデータベースにインポートします。
これで、VVVに既存のサイトのセットアップが完了しました。
SSLを有効にする
ローカルホストのインストールは通常セキュリティがありません。そして、ローカルホストに独自の証明書をインストールするのは、Let’s Encryptを使用しても長くて面倒なプロセスです。しかし、VVVはこのプロセスを非常に簡単にし、デフォルトですべてのWordPressインストールにSSLが有効になっています。サイトでhttpsを使用し始めるだけです。初めての場合、ブラウザは無効な証明書について警告しますが、例外として追加すれば、今後は問題ありません。
WordPressの更新
ダッシュボードからWordPressインストールを更新できます。また、VVVはVMを再プロビジョニングするたびにWordPressを更新します。WordPress.orgからダウンロードしてzipファイルを解凍することで、手動でWordPressを更新することもできます。また、VVVにバンドルされているWP CLIを使用することもできます。WP CLIを使用してサイトを更新するには、次のコマンドを使用します。
$ cd /srv/www/newsite
$ wp core updateVVVの更新
最初のステップは、Vagrantマシンを停止することです。
$ vagrant halt次に、VagrantとVirtualboxが最新であることを確認します。そうでない場合は、再度ダウンロードしてインストールします。
次のコマンドを実行してVagrantボックスを更新します。これはオプションですが、進めるのが最善です。
$ vagrant box update次に、Githubから最新のVVVバージョンをプルします。
$ git pull更新を完了するためにボックスを再プロビジョニングします。
$ vagrant up --provision追加ツール
VVVには、インストールできるさまざまなユーティリティが付属しています。これらは、vvv-custom.ymlファイルのユーティリティセクションにリストされています。デフォルトでは、tls-caとphpmyadminが有効になっています。ユーティリティセクションの前にある#を削除することで、memcached、opcache、webgrind、mongodb、tideways、およびPHPバージョン5.6から7.3をさらにインストールできます。
インストールしたい独自のソフトウェアを追加することもできます。そのためには、vvv-custom.ymlファイルを次のように修正する必要があります。
utilities:
core:
- tls-ca
- phpmyadmin
java:
- java7
utility-sources:
java:
repo: https://github.com/example/java-utilities.git
branch: masterここで、例えば新しいセクションjavaを追加します。インストールのコードはgitリポジトリから来ます。あなたのgitリポジトリは次のように構成されるべきです。
java7/
provision.shprovision.shファイルには、VMにjavaをインストールするために必要なコードが含まれます。フォルダの名前は、vvv-custom.ymlファイルで使用した名前と一致する必要があります。
結論
これで、Vagrantを使用してローカルWordPress開発環境をセットアップする方法に関するチュートリアルが終了しました。質問があればお知らせください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。