FreeBSD 10.1サーバーにNginxでWordPressをインストールする方法

前書き

WordPressは、世界で最も人気のあるコンテンツ管理システム(CMS)およびブログプラットフォームです。 WordPressを使用すると、Webサイトをすばやく構成およびカスタマイズできるため、コンテンツを追加して視覚要素を簡単に調整できます。

このガイドでは、Nginxを使用してコンテンツを提供するFreeBSD 10.1マシンにWordPressをインストールします。 Nginxは、多数の同時接続を効率的に処理する強力なWebサーバーです。 このガイドで設定するWordPressインストールのベースとしてこれを活用します。

前提条件と目標

このガイドを完了するには、サーバーを準備するために実行する必要がある予備的な手順がいくつかあります。

このガイドのコンポーネントを、構成済みのFEMP(FreeBSD、Nginx、MySQL、およびPHP)スタックに追加します。 ガイドhttps://www.digitalocean.com/community/tutorials/how-to-install-an-nginx-mysql-and-phpを使用して、FreeBSD 10.1サーバーでNginx、MySQL、およびPHPを設定する方法を学ぶことができます。 -femp-stack-on-freebsd-10-1 [こちら]こちら。

Nginx、MySQL、およびPHPをサーバーにインストールして構成したら、このガイドを続行できます。 このガイドの目標は、FreeBSDサーバーに最新バージョンのWordPressをインストールすることです。

FreeBSDの `+ pkg +`コマンドでインストール可能な既存のWordPressパッケージがありますが、現在はPHPバージョン5.4に依存しており、今後セキュリティアップデートのみを受け取ります。 総寿命は2015年9月になります。

長期にわたってサポートを受ける基盤の上にサイトを構築するために、プロジェクトのサイトから最新バージョンのWordPressをダウンロードしてインストールし、PHPバージョン5.6を使用して動的コンテンツを処理します。

WordPressに必要な追加のPHP拡張機能をインストールする

FEMPガイドでFreeBSDサーバーにPHPをセットアップするときに、必要に応じてPHPインスタンスがMySQLデータベースからデータをクエリできるように、 `+ php56 `パッケージと ` php56-mysql +`パッケージをインストールしました。

これは、PHPをさまざまなアプリケーションのベースとして使用できるようにするために必要な最小限の構成を表します。 WordPressは `+ php56-mysql +`パッケージを使用しますが、そのコア機能の多くを実装するにはいくつかの追加の拡張機能も必要です。

幸いなことに、これらは `+ pkg +`コマンドを使用して簡単にインストールできます。 次のように入力して、必要な拡張機能をダウンロードしてインストールします。

sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip

インストールが完了した後、デフォルトの `+ tcsh +`シェルを使用している場合、シェルが新しいファイルを見つけることができるように再ハッシュを開始します。

rehash

インストールしたパッケージはすべてPHP拡張機能です。 PHP-FPMインスタンスでこれらの新しい拡張機能を使用するには、プロセスを再起動する必要があります。

sudo service php-fpm restart

これが完了したら、データベースの構成を開始できます。

MySQLデータベースの作成と構成

WordPressには、サイトコンテンツとユーザーデータを保存するために、SQLスタイルのデータベースが必要です。 以前のガイドでMySQLをインストールしたため、このようなデータベースを作成してアクセスを提供するために必要なツールが用意されています。

最初に、 `+ mysql`コマンドを使用して、管理ユーザーとしてデータベースシステムを認証する必要があります。

mysql -u root -p

前のガイドで設定したMySQLルートユーザーのパスワードの入力を求められます( `+ mysql_secure_installation +`スクリプトの実行中)。 正しいパスワードを入力すると、MySQLプロンプトが表示されます。

最初に行うことは、WordPressインスタンスのデータベースを作成することです。 これは何でも好きなように呼び出すことができますが、セマンティックで覚えやすいため、このガイドではデータベース名「+ wordpress +」を使用します。

CREATE DATABASE wordpress;

上記のコマンドで問題が発生した場合は、ステートメントの最後にセミコロン(;)があることを確認してください。 SQLクエリ言語では、すべてのステートメントがセミコロンで終わる必要があります。

データベースを作成したら、次のステップは、データベースへのアクセスに使用する専用ユーザーを作成することです。 MySQL内にデータを保存するアプリケーションごとに、個別のMySQLユーザーを作成して利用することをお勧めします。 これにより、セキュリティの問題の範囲を最小限に抑えることができます。

このガイドでは、新しいユーザーを「+ wordpressuser +」と呼び、サーバー自体からの接続に対してのみ有効になるようにアクセス制限を設定します。 ユーザーのパスワードも設定します。

CREATE USER wordpressuser@localhost IDENTIFIED BY '';

上記のコマンドの「++」コンポーネントを安全なパスワードに変更することを忘れないでください。 後でこの値を覚えておく必要があります。

これで、WordPressのインストールに必要な2つのMySQLコンポーネントが作成されました。 ただし、まだ接続されていません。 新しいユーザーがWordPressデータベースにアクセスできるようにして、サイトのデータを設定および管理できるようにする必要があります。 これを行うには、次を入力します。

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

これで、新しいユーザーが構成したデータベースにアクセスできるようになりました。 現在実行中のMySQLのインスタンスにこれらの新しい変更を知らせるには、特権テーブルをフラッシュする必要があります。

FLUSH PRIVILEGES;

最後に、次のように入力してMySQLプロンプトを終了し、通常のシェル環境に戻ることができます。

exit

データベースとユーザーの準備ができたので、実際のWordPressファイルをダウンロードして構成できます。

WordPressをダウンロードして構成する

プロジェクトのウェブサイトから最新バージョンのWordPressをダウンロードして、インストールに使用します。 セキュリティアップデートが考えられるため、常に最新バージョンのWordPressを使用することが非常に重要です。

WordPressチームは、常に最新バージョンをサイトの `+ / latest.tar.gz `のアーカイブにパッケージ化することにより、これを簡単にしています。 FreeBSDの ` fetch +`ユーティリティを使用して、これをホームディレクトリにダウンロードできます。

cd ~
fetch http://wordpress.org/latest.tar.gz

ファイルがダウンロードされたら、 `+ tar +`コマンドを使用してWordPressファイルとディレクトリ構造を抽出できます。

tar xzvf latest.tar.gz

作成されるディレクトリは「+ wordpress」と呼ばれます。 `+ .tar.gz +`アーカイブを削除し、設定を開始できるようにそのディレクトリに移動します。

rm latest.tar.gz
cd wordpress

内部には、インストール用のテンプレートとして使用できるサンプル構成ファイルがあります。 WordPressによって読み取られるファイル「+ wp-config.php +」にファイルをコピーします。

cp wp-config-sample.php wp-config.php

これで、ファイルを編集用に開いて、MySQLデータベースと最後のセクションで設定したユーザーのアクセス資格情報を構成できます。

vi wp-config.php

内部には、WordPressがMySQLシステムに正しく接続して利用するために変更する必要がある3つの値があります。 `+ DB_NAME `変数は作成したMySQLデータベースの名前を定義し、 ` DB_USER `は作成したユーザーに設定し、 ` DB_PASSWORD +`はそのユーザー用に選択したパスワードを含むように変更する必要があります。

. . .

/** The name of the database for WordPress */
define('DB_NAME', '');

/** MySQL database username */
define('DB_USER', '');

/** MySQL database password */
define('DB_PASSWORD', '');

. . .

これらの値の変更が終了したら、ファイルを保存して閉じます。

次に、WordPressインストールを `+ / usr / local / www `ディレクトリにコピーして、さまざまなサイトファイルを保持します。 移動中に特定のファイル属性を維持できるため、 ` rsync +`ユーティリティを使用します。

sudo rsync -avP ~/wordpress /usr/local/www

次に、Webサーバーが必要に応じて変更できるように、WordPressファイルの所有者を調整する必要があります。 私たちのウェブユーザーとグループは両方とも `+ www +`と呼ばれます:

sudo chown -R www:www /usr/local/www/wordpress

WordPressファイルが正しい構成で配置されたので、Nginxの構成を変更できます。

Nginxを構成する

最後のガイドでは、デフォルトのNginx Webページを提供するようにNginxを設定し、PHPリクエストをPHP-FPMインスタンスに渡すように設定しました。 これにより、WordPressに必要な設定までのほとんどの手順が実行されます。

変更を加えるために、 `+ sudo`権限でNginx設定ファイルを開きます:

sudo vi /usr/local/etc/nginx/nginx.conf

最後のガイドの指示に従った場合、ファイルは次のようになります(わかりやすくするために以下のコメントを削除しました)。

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root /usr/local/www/nginx;
       index index.php index.html index.htm;

       location / {
           try_files $uri/ $uri/ =404;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

WordPressが正しく機能するように、2つの調整を行う必要があります。

まず、WordPressファイルが `+ / usr / local / www / wordpress +`ディレクトリにあるため、ドキュメントルートを調整する必要があります。

server {

   . . .

   root ;

   . . .

}

他に必要な変更は、 `+ location / `ブロック内の ` try_files +`ディレクティブへの変更です。 現在、設定はNginxに最初にファイルとしてリクエストを見つけようとするよう指示しています。 一致するファイルが見つからない場合、要求に一致するディレクトリを見つけようとします。 これで結果が得られない場合、Nginxはリソースが見つからなかったことを示す404エラーを発行します。

これを修正して、404エラーで終わるのではなく、リクエストが `+ index.php `ファイルに書き換えられるようにする必要があります。 元のリクエストと引数は、クエリパラメータとして渡されます。 これを設定するには、 ` try_files +`ディレクティブを次のように変更します:

server {

   . . .

   location / {
       try_files $uri $uri/ ;
   }

   . . .

}

終了すると、構成ファイルは次のようになります。

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root ;
       index index.php index.html index.htm;

       location / {
           try_files $uri $uri/ ;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

上記の変更が完了したら、ファイルを保存して閉じます。

これで、新しい変更を実装するためにNginxを再起動できます。 まず、構文が正しいことを再確認します。

sudo nginx -t

エラーが見つからない場合は、サービスを再起動します。

sudo service nginx restart

Webインターフェイスを介したインストールの完了

これで、WordPressのインストールがサーバー側で完全に構成されました。 Webブラウザを使用して、残りのプロセスを完了できます。

ウェブブラウザで、サーバーのドメイン名またはIPアドレスにアクセスします。

http://

WordPressはまずどの言語を使用したいか尋ねてきます:

image:https://assets.digitalocean.com/articles/freebsd_lemp_wp/choose_language.png [WordPress言語選択]

選択した後、初期設定ページに移動して、WordPressインストールをセットアップします。

image:https://assets.digitalocean.com/articles/freebsd_lemp_wp/main_install.png [WordPressインストール]

サイトの名前を入力し、サイトの管理に使用するユーザー名を選択します。 サイトのパスワードを選択して確認し、アクセスできるメールアドレスを入力する必要があります。 最後のオプションは、検索エンジンによるサイトのインデックス作成を許可するかどうかの選択です。

選択したら、ページの下部にある[WordPressのインストール]ボタンをクリックします。 選択した資格情報を使用してサイトにサインインするよう求められます。

ログインすると、新しいWordPressインストールの管理パネルが表示されます:

image:https://assets.digitalocean.com/articles/freebsd_lemp_wp/admin_interface.png [WordPress管理インターフェイス]

このインターフェイスを使用して、新しいコンテンツを投稿したり、サイトの外観を変更したり、追加機能を利用するプラグインをインストールおよび構成したりできます。

結論

これで、Nginx、MySQL、およびPHPに支えられた新しいWordPressのインストールが実行されます。 WordPressは非常に強力で、好みに応じてスタイル設定されたさまざまな種類のコンテンツを表示できます。 WordPressを初めて使用する場合は、オプションのテーマとプラグインを確認することから始めてください。

Related