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

Last Updated:2023年07月16日| | 2のコメント

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

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

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

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

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

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

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

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

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

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の中から選択することができます。

必要に応じて 申し込みSnapshotから選択することもできます。

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に WordPressを簡単にインストールする方法「SSHキーの設定/選択」のセクションを参照してください。

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

LEMP環境に WordPress インストールする

下のタスクを実行するには、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をインストールしてください。下の WordPress 取り付け部分は、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)から WordPress インストールする」を参考にしました。

  • file_uploads =オンfile_uploads = Offに変更 (ただし、画像のアップロードのためにOnに維持することをお勧め。)
  • sql.safe_mode = Offをsql.safe_mode = Onに変更
  • allow_url_fopenをオフに設定(一部のテーマやプラグインで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 --バージョンを使用して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サーバーが稼働中です。

WordPress インストールとNginxの構成

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

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;

上記の WordPress 構成ファイルは、固有のアドレスをサポートするようにうまく調整されています。 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 ファイルをインストールする

もう最後に WordPressを設置してみましょう。

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

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

今、最新の WordPress バージョンをダウンロードします。

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

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

tar -xzvf latest.tar.gz

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

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

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

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

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

WordPress 이전

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

新しく作成したサーバーにドメインを接続し、(ドメイン接続は、DNSのA RecordをサーバーのIPアドレスに変更してくれればされます)既存の WordPressを移転しました。 前は手動で行われました。 コマンドラインから次のコマンドを使用してテストに設置した WordPressの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

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

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

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

ちなみに我が国をターゲットにするなら東京を選ぶと一番早く、我が国とグローバルを一緒に考えるなら「LA」を選ぶのがいいそうですね。 ここでNew York(NJ)を選んだのは、2.5ドルがNew Yorkでのみ可能だからです。 5ドル以上のプランをお使いの場合は、ターゲット地域に応じて東京やLAを選択すれば大丈夫です。

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

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

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

最後に、

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

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サバイバルキット]

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

    応答