GNU/Linux >> Linux の 問題 >  >> Linux

Vagrantを使用してローカルのWordPress開発環境をセットアップする

WordPressを使用して開発する場合は、サーバー、データベースツール、およびいくつかのWordpressサイトと、必要な他のツールをインストールしたローカル環境をセットアップすることをお勧めします。これは、いくつかのプロジェクトでのみ作業する場合は問題ありません。しかし、それらが増殖すると、問題が発生します。また、クライアントの設定があなたとは異なるため、複数の環境を維持することの頭痛の種です。

この問題を回避するために、Vagrantと呼ばれるものを使用できます。 Vagrantは、仮想環境を操作するためのツールです。いくつかのコマンドを使用してローカル開発環境をセットアップする簡単な方法を提供し、すべてを手動でインストールする手間をかけずに、必要な回数だけ完全なセットアップを複製できます。 Vagrantを実行するには、一連のルールを定義する必要があります。 Vagrantは、これらのルールに基づいて仮想マシンをセットアップします。 Vagrantには、このために2つのファイルが必要です。仮想マシンに必要なハードウェアの種類をVagrantに指示するVagrantfileと、仮想マシンで何をするかをVagrantに指示するデプロイメントファイルです。

Vagrantは仮想環境で動作するため、Vagrantを実行するには仮想マシンソフトウェアが必要です。この目的のために、オープンソースのVirtualboxを使用します。

VirtualBoxのインストール

Virtualboxのダウンロードページに移動し、ゲストホストに対応するバイナリファイルをダウンロードします。 (ゲストホストは、開発環境を実行するオペレーティングシステムです。)Virtualboxをインストールします。

Vagrantのインストール

お使いのオペレーティングシステムに対応するバイナリをVagrantのダウンロードページからダウンロードしてインストールします。

正常にインストールされたかどうかをテストするには、OSのコマンドラインに次のコマンドを入力します。

$ vagrant -v

VagrantHostsUpdaterプラグインのインストール

vagrant-hostupdaterプラグインは、Vagrantによって設定されたドメインが機能するように、OSのhostsファイルを変更します。インストールするには、次のコマンドを実行します

$ vagrant plugin install vagrant-hostsupdater

ネットワークの問題が発生しないように、Vagrant/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にGitをインストールするには、Gitのダウンロードページに移動してバイナリをインストールします。

Mac OS

自作をインストールしている場合は、次のコマンドを使用してGitをインストールできます。

$ brew install git

または、Gitのダウンロードページからバイナリパッケージをダウンロードしてインストールすることもできます。

さまざまなVagrantVagrantsをインストールする

Vagrantセットアップを最初から作成する代わりに、Varying Vagrants Vagrant(VVV)を使用します。これは、WordPress開発環境の作成を特に目的としたオープンソースのVagrant構成です。標準のVVVは、Nginxサーバー、MariaDBデータベース、PHP、WP-CLI、Node.js、MailHog、Composer、memcached、phpMyAdmin、git、その他のさまざまなツールとともに、Ubuntu18.04に基づいて仮想マシンをセットアップします。 VVVはデフォルトで複数のWordPressインストールを提供し、そのうちの1つは実験に役立つ最新のバージョンです。

最初のステップは、VVVのGitリポジトリをシステムのローカルディレクトリに複製することです。

$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv

ここでは、システム上のリポジトリのマスターブランチのクローンを作成しています。より高速な更新が必要な場合は、開発ブランチを使用できます。

VVVの開始

VVVのクローンを作成したディレクトリに移動します。

$ cd vvv

仮想マシンをインストールしてすべてをセットアップするVagrant環境を起動します。

$ vagrant up

このプロセスにはしばらく時間がかかる場合がありますので、しばらくお待ちください。システムのhostsファイルの設定に必要なプロセス中にrootパスワードの入力を求められる場合があります。

Windows8/10ユーザー向けの注意

Windowsを使用している場合は、次のエラーが発生する可能性があります

==> default: Booting VM... 
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["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ホストオンリーイーサネットアダプター#3と一致するアダプターを右クリックします。 プロパティをクリックします 。 構成をクリックします ボタン。

次に、ドライバーをクリックします。 タブ。 ドライバの更新をクリックします 。 [コンピュータでドライバを参照する]を選択します 。次に、コンピュータで使用可能なドライバのリストから選択させてくださいを選択します。 。選択したものを選択して、[次へ]をクリックします。 閉じるをクリックします 更新を終了します。次に、ターミナル/ PowerShell /コマンドウィンドウに戻り、 vagrant upを繰り返します。 指図。今回は問題なく動作するはずです。

これが完了したら、http://vvv.testurlでVVVダッシュボードにアクセスできます。

VVVには2つのデフォルトのWordPressインストールが付属しています-http://one.wordpress.testとhttp://two.wordpress.test両方のサイトのログイン詳細は同じです。admin ユーザー名とパスワードとして パスワードとして。両方のサイトのデータベースクレデンシャルはwp ユーザー名とパスワードとして。 MySQLルートユーザーの資格情報はルートです ユーザー名とパスワードの両方として。また、VMのrootユーザーの資格情報は root ユーザー名およびvagrantとして パスワードとして。

http://trunk.wordpress.netに開発者のワードプレスのインストールがありますが、プロビジョニングされていないため機能しません。このインストールは、Tracのチケットとパッチを扱うWordPressの寄稿者である場合に役立ちます。有効にするには、 vvv-custom.ymlを開きます。 skip_provisioningの値を変更します ワードプレスの下-falseにトランク 次に、コマンドを使用してVMを再プロビジョニングします

$ vagrant reload --provision

wordpress-meta-environmentとしてラベル付けされたURLのない別のwordpressインストールがあります。このインストールにより、WordPressメタチームへの貢献に役立つ環境(WordCamps、.orgなど)が作成されます。このインストールを有効にするには、ファイルvvv-custom.ymlのwordpress-meta-environmentの下に次の行を追加します。

hosts:
- wpmeta.test

次に、 skip_provisioningの値を変更します false VMを再プロビジョニングします。

$ vagrant reload --provision
新しいサイトを追加

別のサイトをVMに追加する場合は、 vvv-custom.ymlを編集する必要があります。 vvvにあるファイル ディレクトリ。そこにない場合は、 vvv-config.ymlをコピーするだけです。 そしてそれを作成します。これは1回限りのプロセスであり、再度行う必要はありません。常にvvv-custom.ymlで変更を加えてください vvv-config.yml VVVを更新すると上書きされます。

サイトセクションの下にある次のコードを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
変数

レポ変数 VM上に新しいWordPressサイトをセットアップする方法に関する情報を含む事前定義されたGithubリポジトリを指します。今のところ、VVVによって維持されているレポを使用しています。

説明 変数は自明です。

vm_dir は、サイトが存在するVM内の実際のディレクトリです。

local_dir は、サイトが存在するホストマシン上のディレクトリです。

ブランチ 変数は、Vagrantにここの例のリポジトリのマスターブランチをチェックアウトするように指示します。

nginx_upstream Nginxがリクエストを渡す場所を設定するために使用され、通常、インストールに必要なPHPバージョンを変更するために使用されます。ここでのphpは、デフォルトのPHPバージョンである7.2を指します。 php71を使用してPHP7.1に変更したり、php56を使用してPHP5.6に変更したりできます。

skip_provisioning falseに設定されているため、このサイトをVMに含める必要があります。

ホスト 変数は、サイトにアクセスするために必要なURLを設定するために使用されます。

カスタム このセクションは、WordPressサイトをさらに制御する必要がある場合に役立ちます。このセクションを使用して、マルチサイトインストールをセットアップしたり、別のバージョンのWordPressをインストールしたり、インストールに使用するデータベースやサイトの名前を変更したりすることもできます。

wp_type 変数は、インストールをドメイン付きの単一のマルチサイトにするか、サブディレクトリ付きのマルチサイトにするかを決定します。 wp_typeは、single、subdomain、subdirectory、noneの4つの値を取ります。サブドメインインストールを使用すると、マルチサイトインストール用に複数のホストを次の形式で定義できます

hosts:
    - multisite.test
    - site1.multisite.test
    - site2.multisite.test
  custom:
    wp_type: subdomain

カスタムセクションの下に、 wp_versionという変数をもう1つ追加できます。 。ナイトリーバージョンのWordPressをインストールする場合は、ナイトリーに設定できます。毎晩、最新、バージョン番号の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に独自のWebサイトを追加するために必要なすべての変数とオプションをカバーする必要があります。 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 --provision

VMにSSHで接続します。

$ vagrant ssh

次に、データベースをVMにインポートし直します。

$ cd /srv/www/newsite 
$ mysql -u root -p newsite < data-dump.sql

VVVは、newsiteという名前のブログのプロビジョニング中に、すでに新しいデータベースを作成しています。 rootユーザーのパスワードはここではrootです。上記のコマンドは、既存のデータベースを新しいデータベースにインポートします。

これで、VVVの既存のサイトのセットアップが完了しました。

SSLを有効にする

ローカルホストのインストールは通常、保護されていません。また、ローカルホストに独自の証明書をインストールすることは、Let's Encryptを使用した場合でも、時間と手間がかかるプロセスになる可能性があります。ただし、VVVを使用すると、このプロセスが非常に簡単になり、デフォルトですべてのWordPressインストールでSSLが有効になります。サイトでhttpsの使用を開始するだけです。初めて、ブラウザは無効な証明書について文句を言いますが、それを例外として追加し、今後は問題ないはずです。

ワードプレスの更新

ダッシュボードからWordPressのインストールを更新できます。また、VMを再プロビジョニングするたびに、VVVはワードプレスを更新します。 WordPress.orgからダウンロードしてzipファイルを抽出することにより、WordPressを手動で更新することもできます。また、VVVにバンドルされているWPCLIを使用することもできます。 WP CLIでサイトを更新するには、次のコマンドを使用します。

$ cd /srv/www/newsite
$ wp core update
VVVの更新

最初のステップは、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.sh

Provisioning.shファイルには、VMにJavaをインストールするために必要なコードが含まれています。フォルダの名前は、上記の vvv-custom.ymlで使用した名前と一致している必要があります ファイル。

結論

これで、Vagrantを使用してローカルのWordPress開発環境をセットアップする方法に関するチュートリアルは終了です。ご不明な点がございましたら、お気軽にお問い合わせください。


Linux
  1. ランチャーを使用してKubernetesクラスターをセットアップする

  2. debootstrapを使用してUbuntuでchroot環境をセットアップします

  3. gitolite3 ユーザーを git に置き換えます

  1. libvirtでVagrantを使用する方法

  2. Stratisを使用したLinuxでのローカルストレージの構成

  3. VagrantでLAMP開発環境をセットアップする方法

  1. GitBashとは何ですか。 GitBashコマンドの操作

  2. EasyEngine セットアップで WordPress をインストールまたは移行する方法

  3. Git でファイルのアクセス許可を保持する