LEMP構成にWordPressをインストールする方法

前書き

このチュートリアルでは、新しく作成したインスタンスにWordPressをインストールする方法を学びます。Ubuntu 14.04サーバーへのインストールをデモンストレーションします。これらの手順は、UbuntuとDebianの古いバージョンでも機能する場合があります。

それでは、始めましょう。

ステップ1:既存のパッケージを更新する

apt-get update && apt-get upgrade

ステップ2:Nginxをインストールする

Nginxは、システムリソースを効率的に使用して大量の静的コンテンツを配信することを目的として設計された高性能軽量Webサーバーです。Apacheとは対照的に、Nginxは非同期のイベント駆動型モデルを使用しており、負荷がかかった場合に予測可能なパフォーマンスを提供します。

サードパーティのリポジトリを追加して、最新バージョンのNginx(1.6.1)をインストールしましょう。

sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update 
sudo apt-get install nginx
service nginx start

次に、サーバーが稼働しているかどうかをテストします。

http://YOUR-VPS-IP

Nginxのデフォルトのランディングページに移動するはずです。

ステップ3:PHP 5.5をインストールする

PHPは広く使用されているオープンソースの汎用スクリプト言語であり、特にWeb開発に適しており、HTMLに埋め込むことができます。

サーバーに最新バージョンのPHPをインストールしましょう。

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt

PHPのバージョンを確認するには、次のコマンドを実行します。

php -v

このようなものが表示されます。

PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

ここで、設定をより安全にするために、構成を少し変更します。root権限でメインのphp5-fpm設定ファイルを開きます。

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

Ctrl + Wを押してを検索しcgi.fix_pathinfo=ます。コメントを外し(削除;)、1を0に変更します。変更後、行は次のようになります。

cgi.fix_pathinfo=0

保存(Ctrl + O)してファイルを閉じます(Ctrl + X)。

次のように入力して、PHPプロセッサを再起動するだけです。

sudo service php5-fpm restart

ステップ4:MySQLをインストールする

データベースを保存および管理するには、MySQLをインストールする必要があります。コンソールで次のように入力すると、簡単にインストールできます。

sudo apt-get install mysql-server

インストールプロセス中に、MySQLのrootパスワードを設定するように求められます。ルートパスワードを設定したら、データベースを格納するディレクトリ構造を生成するようにMySQLに指示する必要があります。

sudo mysql_install_db

いくつかのデフォルトの不安を修正するセキュリティスクリプトを実行して、それを完成させましょう。

sudo mysql_secure_installation

MySQLのrootパスワードを入力し、n変更したくない場合は入力します。その後、yすべての質問に入力してください。


タイムゾーンの設定(条件付き)

デフォルトでは、サーバーのタイムゾーンはUTCです。別のタイムゾーンに住んでいる場合は、次のコマンドを入力してタイムゾーンを変更できます。

sudo dpkg-reconfigure tzdata

この時点で、LEMPサーバーは稼働しています。

ステップ5: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/php5-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;
        }
}
}

これは、パーマリンクをサポートする、よく調整されたWordpress設定ファイルです。保存(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

ワーカープロセスの数がインスタンスのコアの数と等しいことを確認してください。

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

use epollを追加します。イベントブロックに。

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

client_max_body_sizeおよびserver_tokens offディレクティブを追加します。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

ステップ6:PHPを構成する

WordPressサイトに2MBを超えるファイルをアップロードする場合は、php.iniの PHPアップロードサイズ変数を増やす必要があります。

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

次に、Ctrl + Wを押して「upload_max_filesize」を検索し、100mに設定します。

upload_max_filesize=100M

post_max_sizeでも同じことを行います。post_max_sizeは、upload_max_filesizeと同じサイズか、それより大きくする必要があります。

post_max_size=100M

PHPを再起動します。

sudo service php5-fpm restart

ステップ7:MySQLデータベースの設定

このステップでは、データベースユーザーとテーブルを作成します。MySQLシェルにログインしてください。

mysql -u root -p

MySQLのrootパスワードを使用してログインします。データベース内のユーザーと共にWordPressデータベースを作成する必要があります。まず、データベースを作成しましょう(好きな名前を自由に付けてください):

CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

その後、新しいユーザーを作成する必要があります。データベース、名前、パスワードを好きなものに置き換えてください:

CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)

新しいユーザーのパスワードを設定します。

SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

最後に、新しいユーザーにすべての権限を付与します。このコマンドがないと、WordPressインストーラーは起動できません。

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

次にMySQLを更新します。

FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MySQLシェルを終了します。

exit

ステップ8:WordPressファイルのインストール

あと少しで完了です。WordPressのインストールに進みましょう。

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

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

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

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

アーカイブから抽出します。

tar -xzvf latest.tar.gz

の権限/var/www/wordpresswww-dataユーザーに付与します。WordPressプラグインの将来の自動更新とSFTPによるファイル編集が可能になります。

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

完了です!新しいWordPressサイトが完成しました。Webサイトに移動して、インストールを完了してください。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。