【Vultr] UbuntuにPHP 7.0 / PHP 7.1と WordPressをインストールする方法

安価に利用できる仮想サーバーホスティング(VPS)をご希望の場合 Vultr、LinodeまたはDigital Oceanが良い選択になることがあります。 特にVultrでワンクリックワードプレスのアプリを提供していますので、簡単にワードプレスをインストールすることができます。 Digital OceanとLinodeで自動インストールパッケージを提供しています。 しかし、Vultrで提供する自動ワードプレスのインストールファイルを利用する場合のバージョンのPHPが5.6です。 PHPのバージョン7.0または71を必要に応じて手動でアップグレードをヘジュオヤます。

Vultrのワンクリックワードプレスを使用してワードプレスをインストールする方法は、次の記事を参考にしてください。

Digital OceanとLinodeから自動的にワードプレスをインストールする方法は、以下の文で確認することができます。

この記事では、UbuntuにNginx、PHP 7.0(またはPHP 7.1)は、MySQLをインストール/設定し、ワードプレスをインストールする方法を説明します。

VultrでUbuntuにワードプレスをインストールする方法についての記事がありますが、以前に作成された文章なのでPHP 5.5でインストールする方法を説明します。 他にもPHP 7.0 / 7.1にも対処する文がありますが、全体的には扱っていないため、複数のドキュメントを参照して、収集したPHPのバージョンに合わせて内容を少し変更しました。

この記事は、初心者の立場でのUbuntuのワードプレスをインストールする手順を説明しようと努力しました。 私はLinuxについて以前に関心を持った本も買ってみましたが正常に使用したことがなくて、事実上、初心者や同様です。 初心者の私も少しのシャベルの端難なくUbuntuにワードプレスをインストールすることができるほどVultrやDigital Oceanがあまり難しくないと思われます。 (もちろん、個人的な観点に基づいて異なる場合があります。)

ちなみに、無料で1〜2ヶ月の間にVultrを使ってみたい場合は、次アフィリエイトのリンクをクリックして登録すると、1〜2ヶ月程度無料で利用できるクレジットを受け取ることができます。

これから本格的にVultrでUbuntuを選択して、ワードプレスをインストールする方法について始めましょう。

新しいサーバーの展開する

Vultrアカウントがない場合 ここでアカウントを一つ作るようにします。

Deploy New Server アイコン(右にあるプラス(+)アイコン)をクリックして、新しいサーバーの展開を開始します。

サーバーの場所(Server Location)を選択

まず、 サーバーの場所でサーバーの場所を選択します。 15の位置の中から選択が可能です。

Vultrサーバーの場所

月に2.5ドルプランを使用するには、 New York(NJ)を選択する必要があります。 別の場所を選択すると、月に2.5ドルプランが Temporarily Sold Out(入荷待ち)と表示され選択できなくなります。 我が国では、通常、東京を選択することです。

サーバーの種類(Server Type)を選択

次に、サーバーの種類を選択します。 64ビットOSでCentOS、CoreOS、Debian、Fedora、FreeBSD、OpenBSD、Ubuntu、Windowsの中から選択することができます。

必要に応じて 申請書スナップショットから選択することもできます。

Vultrサーバータイプ

私はテストで Ubuntu 16.10 x64を選択しました。 ほとんどのマニュアルには、通常のUbuntu 16.04を基準に記載されています。 商用サービスで使用する場合は、Ubuntu 16.04を選択しなければならね。

サーバーのサイズ(Server Size)を選択

これで、サーバーのサイズを選択します。 このセクションでは、プラン(プラン)を選択することができます。

Vultrサーバーのサイズ

月に2.5ドルから選択することができますが、前述のように最プランを使用するには、サーバーの場所を New York(NJ)を選択する必要があります。 我が国では、 Toykoが速いことが知られています。

トラフィックとディスク容量などを勘案して、適切なプランを選択します。 時間あたりの課金されます。 月に2.5ドルを選択すると、時間0.004ドルが請求されます。

SSHキーを構成すると、より簡単に管理ができる場合があります。 SSHキーの設定方法については、「Vultr VPSにワードプレスを簡単にインストールする方法」から「SSH鍵の設定/選択」セクションを参照してください。

残りの項目を適切に選択/入力した後、 Deploy Nowをクリックして、サーバーを展開するようにします。

LEMP環境にワードプレスをインストールする

下のタスクを実行するには、SSHにログインする必要があります。 Windowsでは、putty.exeを使用してSSHにログインすることができます。 このプログラムは、 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.htmlからダウンロードすることができます。

コンソールを通じてサーバーにログインすることができます。 Rootパスワードは、サーバーの詳細情報ページで確認することができます。

ルートパスワードの確認

既存のパッケージを更新

apt-get update && apt-get upgrade

パッケージの更新作業は、セキュリティのために定期的に実行することをお勧めします

PHP 7.0インストール/構成

Ubuntu 16.04や16.10システムで以下のようにPHP 7.0をインストールすることができます。 まず、使用可能なPHP 7.0関連パッケージのリストを表示して確認することができます。

apt-cache pkgnames | grep php7.0

配布するアプリケーションで必要とされるパッケージをインストールすることができます。

LEMPスタックベースのアプリケーションを展開する場合 Nginxのインストール後次のパッケージをインストールすることができます。

sudo apt-get install -y nginx
sudo apt-get install -y php7.0 php7.0-fpm php7.0-cli php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-zip

Nginxの代わりに Apacheをインストールすることもできます。 (しかし、ここでは、なるべくNginxをインストールしてください。下のワードプレスのインストールの部分は、Nginxを基準に記載されています。)

sudo apt-get install -y apache2
sudo apt-get install -y php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-zip

インストールが完了すると、サーバーにインストールされてPHPのバージョンを確認することができます。

php -v

上記のコマンドを実行すると、次のように表示されています。

PHP 7.0.18-0ubuntu0.16.10.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.18-0ubuntu0.16.10.1, Copyright (c) 1999-2017, by Zend Technologies

PHP 7.0のデフォルトの設定ファイルは、 /etc/php/7.0/apache2/php.ini (Apache)または /etc/php/7.0/fpm/php.ini (Nginx)に保存されます。 nanoやviなどのテキストエディタを使用して、このファイルの関連設定を変更することができます。 (有用nanoテキストエディタのショートカットを ここで確認することができます。)

sudo nano /etc/php/7.0/fpm/php.ini

私は次のphpの設定を変更しました。 状況に応じて適切に修正してください。

  • upload_max_filesize ==> 200M
  • post_max_size ==> 64M
  • memory_limit ==> 256M
  • max_execution_time ==> 300
  • max_input_vars ==> 3000

"; cgi.fix_pathinfo = 1"を"cgi.fix_pathinfo = 0」とも修正しました。PHP 5.5にインストールする際のVultr文書にこのように修正するように指示していて、そのまま応じて修正しました。PHP 7.0も必要しれません。

セキュリティのために、以下の点にも修正しました。 この部分は、Happistさんの "仮想サーバーホスティング(VPS)でワードプレスをインストールする」を参照しています。

  • file_uploads =オンfile_uploads = Offに変更 (ただし、画像のアップロードのためにOnに維持することをお勧め。)
  • sql.safe_mode = Offをsql.safe_mode = Onに変更
  • allow_url_fopenをOffに設定(一部のテーマやプラグインでallow_url_fopenをOnに設定することで求めることができます。)
  • php.iniファイルの末尾」register_globals =オフ"追加

変更を適用するために ApacheやNginxを再起動します。

sudo systemctl restart apache2.service

または

sudo systemctl restart nginx.service php7.0-fpm.service

PHP 7.1インストール/構成

PHP 7.0代わりPHP 7.1をインストールするには、PPA(Personal Package Archives)repositoryを使用すると便利です。

まず、指定されたPPAをシステムapt repositoryに追加する必要があります。

sudo apt-get install -y python-software-properties
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update -y

(先にpython-software-propertiesをインストールしたので、最初の行は、実行しなくてもされます。)

レビューのために使用可能なPHP 7.1関連パッケージのリストを表示することができます。

apt-cache pkgnames | grep php7.1

さて、先ほどPHP 7.0のセクションで説明したのと同じ方法でPHP 7.1をインストールして構成することができます。 基本的には、そのコマンドで7.0を7.1に変更されます。

MySQLのインストール

データベースを保存して管理するためのMySQLをインストールする必要があります。 コンソールで次のコマンドを実行して、簡単にインストールすることができます。

sudo apt-get install mysql-server

インストールプロセスでのMySQLのRootパスワードを設定する画面が表示されることがあります。 Rootパスワードを設定した場合は、DB格納するディレクトリ構造を作成するようにMySQLに通知してください。

sudo mysql_install_db

注: この命令を下せば、次のようなエラーが発生します。

[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-07-12 14:29:13 [ERROR] The data directory needs to be specified.

mysql --versionを使用してMySQLのバージョンを確認することができます。 バージョンが5.7.6以上であれば、データディレクトリが自動的に初期化されるので、 sudo mysql_install_dbを実行する必要がないとします。

最後に、セキュリティスクリプトを実行して、インストールを完了します。 このコマンドを実行すると、基本的な安全でない事項が修正されます。

sudo mysql_secure_installation

MySQL Rootのパスワードを入力して変更を望まない場合は、単に nを入力します。 以降は、各質問に yを入力するようにします。

インストールされてMySQLのバージョンを確認するには、次のコマンドを入力します。

mysql -V

その後、次のように表示されています。

mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper

タイムゾーンの設定(オプション)

基本的にはサーバーの時間帯はUTC(グリニッジ標準時)に設定されているが、必要に応じて変更できます。 主なユーザーのタイムゾーンに設定してもいいでしょう。

sudo dpkg-reconfigure tzdata

上記のコマンドを実行すると、ポップアップが表示されます。 矢印キーを使用して、適切な地域を選択します。

この時点で、LEMPサーバーが稼働中です。

ワードプレスのインストールとNginxの構成

今Nginxサーバのブロックを作成して、ワードプレスのインストールを開始することができます。

sudo nano /etc/nginx/sites-available/wordpress

下のコードをコピーして貼り付けます。

server {
listen 80;

root /var/www/wordpress;
index index.php index.html index.htm;

server_name domain.com;

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

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

location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}

# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}

ルートディレクトリは、必要に応じて変更することができます。 このケースではRootディレクトリは "/ var / www / wordpress"です。通常、/ var / www / htmlを多く使用しているようです。

"server_name domain.com;"の部分は、実際の使用しているドメイン名に変更ください。

server_name exmple.com www.example.com;

上記のワードプレスの設定ファイルは、固有のアドレスをサポートするようにうまく調整されています。 nanoエディタを使用している場合、保存(Ctrl + O)して、ファイルを終了(Ctrl + X)します。 シンボリックリンクを接続して、サーバーのブロックを有効にします。

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

次に、Nginx、既定のサーバーのブロックを削除します。

sudo rm /etc/nginx/sites-enabled/default

今基本Nginxの構成ファイルを調整します。

sudo nano /etc/nginx/nginx.conf

worker processesのサイズをインスタンスのコア数と一致するようにします。

user www-data;
worker_processes 1;
pid /run/nginx.pid;

私worker_processesを1に設定しました。

サーバーが処理することができるプロセスの数を手動で確認するには、次のコマンドを実行します。

grep ^processor /proc/cpuinfo | wc -l

eventsブロックに epollを使う。を追加します。

events {
worker_connections 1024;
multi_accept on;
use epoll;
}

私Digital Ocean文書を参照して、「ワーカー_接続「(デフォルト768)を1024に修正しました。

client_max_body_sizeserver_tokens offディレクティブ(directive)を追加します。 keepalive_timeoutを30秒に設定します。

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;

 

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

全体Gzip設定ブロックは、次のようにする必要があります。

##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

変更を保存(Ctrl + O)して、ファイルを終了(Ctrl + X)します。 その後、サーバーを再起動します。

sudo service nginx restart

MySQLデータベースを設定する

この段階では、データベースのユーザーとテーブルを作成します。 MySQLシェルにログインします。

mysql -u root -p

MySQL rootパスワードを入力する必要があります。 次のような形式でクエリを入力してDBとユーザーを作成します。

CREATE DATABASE yourdb;
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON yourdb.* TO 'dbuser'@'localhost';
FLUSH PRIVILEGES;

MySQLシェルを終了します。

exit

WordPress ファイルをインストールする

もう最後にワードプレスを設置しましょう。

まず、サイトのルートディレクトリを作成し、そのディレクトリに移動します。

mkdir /var/www/
cd /var/www/

今、最新のWordPressのバージョンをダウンロードしてください。

wget http://wordpress.org/latest.tar.gz

次のコマンドを使用して圧縮を解除します。

tar -xzvf latest.tar.gz

/ var / www / wordpressのパーミッション(権限)を www-データ ユーザーに設定します。 このようにしなければなら自動的にワードプレスのプラグインを更新し、SFTP経由でファイルを編集することができます。

sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data

いよいよすべての作業が終わりました。

ドメインのアドレスやサーバーのIPアドレスにサイトにアクセスすることができます。 (ドメインのアドレスのDNS情報を変更した場合は、ドメインのDNS情報を変更するいくつかの時間かかることがあります。)サイトにアクセスすると、有名なワードプレスのインストール画面が表示されます。 もしエラー(例: "404 not found nginx」)エラーログを確認することができます。

sudo tail -n 20 /var/log/nginx/error.log

ワードプレス前

通常の方法で、既存のワードプレスを新しいサーバーに移行することができます。 仮に Duplicatorプラグインを使用するか、手動で前が可能です。 そして phpMyAdminのをインストールすると、簡単にDBに接続することができます。 phpMyAdminのインストールファイルをsFTPを使用してサーバーにアップロードします。 (不正なアクセスを防止するために、いくつかの措置を講じなければなりませ。)

新しく作成したサーバーにドメインを接続し、(ドメイン接続は、DNSのA RecordをサーバーのIPアドレスに変更してくれればされます)、既存のワードプレスを移転しました。 前は手動で行われました。 コマンドラインから次のコマンドを使用してテストに設置したワードプレスのDBを削除して、既存のDBを/ rootフォルダにアップロードしてImportました。

$ mysql -u root -p
mysql> DROP DATABASE current_db;
mysql> CREATE DATABASE current_db;
mysql> quit;
$ mysql -p -u username database_name < file.sql

上記のコマンドを使用すると、数百MBに達する大きなDBも難なくImportされます。

ちなみにSSHでDBのエクスポートは、次のようなコマンドを使用します。

$ mysqldump -p -u username database_name > dbname.sql

データはwp-content.tarファイルに圧縮してsFTPにアップロードし、次のようなコマンドを使用して圧縮を解除しました。

tar xvf wp-content.tar

前後の速度のテストをしてみると大丈夫に出ますね。

Vutlr Speed  -  [Vultr] UbuntuにPHP 7.0 / PHP 7.1とワードプレスをインストールする方法

テーマは、このブログに設置されたものと同じ Diviテーマであり、コンテンツは、そのごまかし多くありません。 データセンターの場所は、米国ニューヨーク(ニュージャージー州)が、体感速度がそれほど悪くはない。

参考までに、韓国をターゲットにするなら、東京を選択すると、最も速く、韓国とグローバルを一緒に考慮すると、「LA」を選択するのが良いとですね。 ここでNew York(NJ)を選択した理由は、2.5ドルのがNew Yorkでのみ可能であるためでした。 5ドル以上プランを使用する場合は、ターゲット地域に応じて、東京やLAを選択すると、大丈夫そうです。

Linodeを使用した場合、Tokyo 2> Fremont> Singapore順に推薦するね。

ルートログインを制限する

作業完了後、セキュリティ強化のためにRootでSSHに接続できないように、次の文を参考に、新しいユーザーを作成するようにします。

おわりに

Ubuntuにワードプレスをインストールすると、関連するドキュメントが多いが、私が欲しいものをそのまま記述する文書は、なくて、最初に少し迷いました。 しかし、原理だけ理解すればVPSに簡単にワードプレスのインストールが可能になります。

Vultr、Linode、Digital Oceanのような非管理型VPS(仮想サーバーホスティング)の場合は、他の管理型VPSに比べてコストが安くなります。 しかし、一方では、一人ですべてのことを世話をしなければならなので、初心者には負担になることがあります。 直接管理することが容易ではない場合は、管理型VPS(例えば、このブログが現在ホストされている Bluehost VPS)や Sitegroundは などの共有ホスティングを利用することができます。

注:


2のコメント

  1. 私は数字が大きい方が良いと思ってUbuntu 16.10を選択したが、知ってみるとUbuntu 16.04を選択する必要がね。

    新たにUbuntuのサーバを構築しようとしたときに16.04と16.10バージョンの
    いくつかのものをインストールしなければならないこんがらかっ方が多いです。
    一見バージョン番号が高いものほど、最新のものだから16.10バージョンが良いだろうと思ってすることができますが、
    両方のバージョンは、数字以上の差を内包しています。 (14.04バージョンと14.10バージョンも大同小異です。)

    まず、16.04バージョンはLTS、すなわちLong Term Releaseバージョンで、名前の通り、長い事後対応を保証します。
    このバージョンのUbuntuは5年間のサポート(主にセキュリティ更新プログラム)を受けることになりますので
    商用サービスを準備している場合は、必ず16.04バージョンを選択する必要があります。
    重要なセキュリティの問題や技術的な問題が発生する時にサーバーの管理者がカーネルを直接見て、デバッグしたり、
    ハンドリングすることは現実的にはほとんど不可能であるため、Ubuntuの関連サポートとアップデートのために
    (そして、サービスの恒常性維持のために)LTSバージョンの使用は必須です。 (2021年までの重要な更新をサポート)

    16.10バージョンの場合は、9月のサポート期間を持ち、16.04バージョンよりも新しい化されたバージョンのUbuntuのです。
    いくつかの新機能とドライバが適用されているが、必ず16.10でなければ特別な理由がない限り
    商用サービスで使用することは避けるべきです。
    ただし、テスト用、個人学習用、デスクトップ用の使用については、使用してもかまいません。

    出典: http://phpkit.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-1604-vs-1610-%EB%AC%B4%EC%97%87%EC%9D%84-%EC%84%A0%ED%83%9D%ED%95%B4%EC%95%BC-%ED%95%98%EB%82%98 [モダンPHPサバイバルキット]

    時間があるときに、サーバーを再構成する必要がね。(笑)

    返信

コメントを残す