安価に利用できる仮想サーバーホスティング(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個の位置の中から選択が可能です。
月に2.5ドルプランを使用するには、 New York(NJ)を選択する必要があります。 別の場所を選択すると、月に2.5ドルプランが Temporarily Sold Out(入荷待ち)と表示され選択できなくなります。 我が国では、通常、東京を選択することです。
サーバーの種類(Server Type)を選択
次に、サーバーの種類を選択します。 64ビットOSでCentOS、CoreOS、Debian、Fedora、FreeBSD、OpenBSD、Ubuntu、Windowsの中から選択することができます。
必要に応じて 申し込みや Snapshotから選択することもできます。
私はテストで Ubuntu 16.10 x64を選択しました。 ほとんどのマニュアルには、通常のUbuntu 16.04を基準に記載されています。 商用サービスで使用する場合は、Ubuntu 16.04を選択する必要があるとね。
サーバーのサイズ(Server Size)を選択
これで、サーバーのサイズを選択します。 このセクションでは、プラン(プラン)を選択することができます。
月に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_size と server_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
前後の速度のテストをしてみると大丈夫に出ますね。
テーマは、このブログに設置されたものと同じ 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 などの共有ホスティングを利用することができます。
メディアファイルをアップロードするとき ファイルが空です。 何か実質的なことをアップロードする必要があります。 このエラーは、php.iniでアップロードする機能をコノァトときやpost_max_sizeがupload_max_filesizeより小さく設定されている場合に発生することができ
있습니다。というエラーが発生すると、 file_uploadsを"On"に変えてください。
私は数字が大きい方が良いと思ってUbuntu 16.10を選択したが、知ってみるとUbuntu 16.04を選択する必要がね。
時間があるときに、サーバーを再構成する必要がね。(笑)