序章

WordPress は、オープンソースのコンテンツ管理システム(CMS)です。 世界で最も人気のあるCMSであるWordPressを使用すると、PHPを使用してスクリプトを実行し、動的コンテンツを処理して、MySQLデータベースバックエンド上にブログやWebサイトをセットアップできます。

OpenLiteSpeed は、最適化されたオープンソースのWebサーバーであり、Webサイトの管理と提供に使用できます。 OpenLiteSpeedには、Apache互換の書き換えルール、組み込みのWebベースの管理インターフェイス、サーバー用に最適化されたカスタマイズされたPHP処理など、多くのインストールに適した便利な機能がいくつかあります。

このガイドでは、OpenLiteSpeedWebサーバーを使用してUbuntu18.04にWordPressインスタンスをインストールおよびセットアップするプロセスについて説明します。 WordPressとOpenLiteSpeedはどちらもWebブラウザーを介して管理できるため、この構成は、SSHセッションに定期的にアクセスできない場合や、コマンドラインを介してWebサーバーを管理することに抵抗がある場合に最適です。

前提条件

このガイドを開始する前に、次のものが必要です。

  • 管理者、非rootユーザー、およびufwを使用して構成されたファイアウォールを備えたUbuntu18.04を実行している1台のサーバー。 この環境をセットアップするには、 Ubuntu18.04の初期サーバーセットアップチュートリアルに従ってください。
  • サーバーにインストールされているOpenLiteSpeed。 OpenLiteSpeedのインストールと構成の手順については、 Ubuntu18.04にOpenLiteSpeedWebサーバーをインストールする方法に関するガイドを参照してください。
  • MySQLがサーバーにインストールされています。 これを設定するには、 Ubuntu18.04チュートリアルにMySQLをインストールする方法に従ってください。

ステップ1—WordPress用のデータベースとデータベースユーザーを作成する

WordPressはMySQLを使用して、サイトとユーザーの情報を管理および保存します。 すでにMySQLがインストールされていますが、準備手順として、WordPressが使用するデータベースとユーザーを作成する必要があります。

開始するには、SSHを使用してサーバーに接続します。

  1. ssh sammy@your_server_IP

次に、 rootMySQLアカウントにログインします。

  1. sudo mysql

注:前提条件のMySQLチュートリアルでステップ3 を完了し、 rootMySQLユーザーをmysql_native_passwordプラグインで認証するように構成した場合次のコマンドでログインする必要があります。

  1. mysql -u root -p

次に、プロンプトが表示されたら、rootユーザーのパスワードを入力します。

MySQLプロンプトから、次のコマンドを使用してデータベースを作成します。 ここでは、わかりやすくするためにこのデータベースにwordpressという名前を付けますが、任意の名前を付けることができます。

  1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

次に、ユーザーを作成し、作成したデータベースに対する特権をユーザーに付与します。 この場合も、このユーザーに任意の名前を付けることができますが、簡単にするためにwordpressuserという名前を付けます。 また、必ずpasswordを自分で選択した強力なパスワードに変更してください。

  1. GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

次に、FLUSH PRIVILEGESを実行します。これにより、サーバーに許可テーブルを再読み込みして、新しい変更を有効にするように指示します。

  1. FLUSH PRIVILEGES;

その後、MySQLプロンプトを閉じることができます。

  1. exit

これで、WordPressで動作するようにMySQLインストールの設定が完了しました。 次に、いくつかのPHP拡張機能をインストールします。

ステップ2—追加のPHP拡張機能をインストールする

前提条件のOpenLiteSpeedチュートリアルでは、lsphp73パッケージをインストールしました。 これは、LiteSpeedSAPIを使用して外部アプリケーションと通信するOpenLiteSpeed用に最適化されたPHPのコンパイルです。 必要に応じて、WordPressが希望どおりに機能するために、他の特定のPHP拡張機能が必要になる場合があります。

WordPressで一般的に使用されるいくつかのPHP拡張機能をインストールするには、次のコマンドを実行します。

  1. sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

注:このコマンドのパッケージは、すべてのユースケースを網羅しているわけではありません。 前提条件のチュートリアルでサーバーに追加したLiteSpeedリポジトリから利用できるPHP7.3拡張機能の完全なリストについては、 LiteSpeedWikiを参照してください。

これに続いて、サーバーでのWordPressのダウンロードとセットアップに進むことができます。

ステップ3—WordPressをダウンロードする

サーバーソフトウェアが構成されたので、WordPressをインストールしてセットアップできます。 特にセキュリティ上の理由から、最新バージョンのWordPressをサイトから直接入手することを常にお勧めします。

書き込み可能なディレクトリに移動し、次のように入力して圧縮リリースをダウンロードします。

  1. cd /tmp
  2. curl -O https://wordpress.org/latest.tar.gz

圧縮ファイルを抽出して、WordPressディレクトリ構造を作成します。

  1. tar xzvf latest.tar.gz

これらのファイルをドキュメントルートに一時的に移動しますが、最初に、WordPressのインストールが依存するいくつかのファイルとディレクトリを作成します。

OpenLiteSpeedは.htaccessファイルをサポートしています。 WordPressは.htaccessファイルを使用してパーマリンクを作成および管理するため、これは私たちの目的にとって重要です。

ダミーの.htaccessファイルを追加して、WordPressで後で使用できるようにします。

  1. touch /tmp/wordpress/.htaccess

次に、サンプル構成ファイルを、WordPressが実際に読み取るファイル名にコピーします。

  1. cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

さらに、upgradeディレクトリを作成して、WordPressがソフトウェアの更新後に単独でこれを実行しようとしたときに、アクセス許可の問題が発生しないようにします。

  1. mkdir /tmp/wordpress/wp-content/upgrade

次に、ディレクトリの内容全体をドキュメントルートにコピーします。 OpenLiteSpeedには、/usr/local/lsws/ディレクトリにあるExampleという名前のデフォルトの仮想ホストが付属しています。 Example仮想ホストのドキュメントルートは、htmlサブディレクトリです。

  1. sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress

このコマンドのソースディレクトリの最後にドットが含まれていることに注意してください。これは、隠しファイル(作成した.htaccessファイルなど)を含め、ディレクトリ内のすべてをコピーする必要があることを示します。

これで、WordPressがWebサーバーに正常にインストールされ、いくつかの初期構成手順が実行されました。 次に、WordPressが安全に機能し、以前に作成したMySQLデータベースとユーザーアカウントにアクセスするために必要な特権を与える、いくつかの構成変更について説明します。

ステップ4—WordPressディレクトリの設定

WordPressのWebベースのセットアッププロセスを実行する前に、WordPressディレクトリのいくつかの項目を調整する必要があります。

ディレクトリ内のすべてのファイルの所有権をnobodyユーザーとnogroupグループに付与することから始めます。これはOpenLiteSpeedWebサーバーがデフォルトで実行します。 次のchownコマンドは、OpenLiteSpeedにwordpressディレクトリ内のファイルの読み取りと書き込みの機能を付与し、Webサイトにサービスを提供して自動更新を実行できるようにします。

  1. sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress

次に、2つのfindコマンドを実行して、WordPressディレクトリとファイルに正しい権限を設定します。

  1. sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
  2. sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;

一部のプラグインと手順では追加の調整が必要になる場合がありますが、これらは最初に設定された妥当な権限である必要があります。

これに続いて、メインのWordPress構成ファイルにいくつかの変更を加える必要があります。

ファイルを開くときの最初の目的は、インストールにセキュリティを提供するためにいくつかの秘密鍵を調整することです。 WordPressは、これらの値の安全なジェネレーターを提供するため、自分で適切な値を考え出す必要はありません。 これらは内部でのみ使用されるため、ここで複雑で安全な値を使用してもユーザビリティが損なわれることはありません。

WordPressの秘密鍵ジェネレーターから安全な値を取得するには、次のように入力します。

  1. curl -s https://api.wordpress.org/secret-key/1.1/salt/

次のような一意の値が返されます。

警告!毎回一意の値を要求することが重要です。 以下に示す値をNOTコピーしないでください!

Output
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<[email protected]'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

これらは、安全なキーを設定するために構成ファイルに直接貼り付ける構成行です。 受け取った出力をクリップボードにコピーしてから、ドキュメントルートにあるWordPress構成ファイルを開きます。

  1. sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php

それらの設定のダミー値を含むセクションを見つけます。 次のようになります。

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

これらの行を削除し、コマンドラインからコピーした値を貼り付けます。

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

次に、ファイルの先頭にあるデータベース接続設定を変更します。 MySQL内で構成したデータベース名、データベースユーザー、および関連するパスワードを調整する必要があります。

あなたがしなければならない他の変更は、WordPressがファイルシステムに書き込むために使用する方法を設定することです。 Webサーバーに必要な場所に書き込む権限を与えたので、ファイルシステムメソッドをdirectに明示的に設定できます。 現在の設定でこれを設定しないと、特定のアクションを実行するときにWordPressがFTPクレデンシャルの入力を求める結果になります。

この設定は、データベース接続設定の下、またはファイル内の他の場所に追加できます。

/var/www/wordpress/wp-config.php
. . .

define('DB_NAME', 'wordpress');

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

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

. . .

define('FS_METHOD', 'direct');

終了したら、ファイルを保存して閉じます。

この時点では、コンテンツの公開を開始する前にいくつかの仕上げを適用する必要があるため、WordPressはシステム上で完全に構成されていません。 ただし、これを行うには、最初にOpenLiteSpeedインストールにいくつかの構成変更を加える必要があります。

ステップ6—OpenLiteSpeedの構成

現在、UbuntuサーバーにWordPressがインストールされていますが、OpenLiteSpeedのインストールはまだWordPressを提供するように構成されていません。 このステップでは、OpenLiteSpeed管理インターフェースにアクセスし、サーバーの構成にいくつかの変更を加えます。

好みのWebブラウザーで、OpenLiteSpeed管理インターフェースに移動します。 これを見つけるには、サーバーのパブリックIPアドレスまたはそれに関連付けられているドメイン名を入力し、続いて:7080をブラウザーのアドレスバーに入力します。

https://server_domain_or_IP:7080

そこで、ログイン画面が表示されます。 前提条件のOpenLiteSpeedインストールチュートリアルで定義したユーザー名とパスワードを入力します。

OpenLiteSpeed login screen

OpenLiteSpeedコンソールから、左側のサイドバーメニューでサーバー構成を見つけてクリックします。 次に、外部アプリタブに移動し、 LiteSpeed SAPIアプリの行を見つけて、その編集ボタンをクリックします。

Server Configuration page

前提条件のOpenLiteSpeedチュートリアルで、lsphp73パッケージをインストールしたことを思い出してください。これは、LiteSpeedSAPIを介してOpenLiteSpeedで動作するように最適化されたPHPのコンパイルです。 ただし、外部アプリページのデフォルト設定は、lsphp73ではなくlsphpを指しています。 このため、OpenLiteSpeedインストールではPHPスクリプトを正しく実行できません。

これを修正するには、 Nameフィールドをlsphp73に変更し、 Addressフィールドをuds://tmp/lshttpd/lsphp73.sockに変更して、Commandを変更します。読み取るフィールド$SERVER_ROOT/lsphp73/bin/lsphp

External App changes

これらの変更を行った後、LiteSpeedSAPIアプリボックスの右上隅にある保存アイコンをクリックします。

次に、左側のメニューで仮想ホストをクリックします。 仮想ホストページで、使用する予定の仮想ホストを見つけて、表示アイコンをクリックします。 ここでは、デフォルトのExample仮想ホストを使用します。

Virtual Hosts page

仮想ホストの一般タブに移動します。 そこで、 General セクションを見つけて、そのEditボタンをクリックします。

Virtual Hosts General tab

OpenLiteSpeedは、提供するコンテンツの DocumentRootフィールドのコンテンツを調べます。 すべてのWordPressコンテンツとファイルは、前に作成したwordpressディレクトリに保存されているため、 DocumentRootフィールドを更新してそのディレクトリを指すようにします。 これを行うには、デフォルト値の最後にwordpress/を追加するだけです。

Virtual Hosts General changes

保存アイコンをクリックして、この変更を保存します。

次に、index.phpファイルを有効にして、静的ファイルで処理されないリクエストの処理に使用できるようにする必要があります。 これにより、WordPressのメインロジックが正しく機能するようになります。

General タブを表示したまま、下にスクロールして Index Files セクションを見つけ、Editアイコンをクリックします。

Virtual hosts Index Files page

インデックスファイルフィールドで、index.htmlの前にindex.php,を付けます。 index.phpindex.htmlの前に置くことで、PHPインデックスファイルを優先させることができます。 このフィールドを更新すると、次のようになります。

Virtual Hosts index files changes

続行する前に、必ず保存アイコンをクリックしてください。

次に、仮想ホストのRewriteタブに移動します。 Rewrite Control セクションを見つけて、Editボタンを押します。

Virtual Hosts Rewrite page

それぞれのラジオボタンをクリックして、[RewriteAutoLoad from.htaccess]オプションの両方をYesに設定します。 この方法で書き換え手順を構成すると、WordPressインストール内でパーマリンクを使用できるようになります。

Virtual Hosts rewrite changes

これらの変更を行った後、保存アイコンをクリックします。

OpenLiteSpeedのインストールに含まれているデフォルトの仮想ホストには、OpenLiteSpeedのユーザー認証機能を紹介するためのパスワードで保護された領域がいくつか含まれています。 WordPressには独自の認証メカニズムが含まれており、OpenLiteSpeedに含まれているファイルベースの認証は使用しません。 WordPressのインストールでアクティブな浮遊構成フラグメントを最小限に抑えるために、これらを取り除く必要があります。

まず、セキュリティタブをクリックし、レルムリストテーブル内のSampleProtectedAreaの横にある削除ボタンをクリックします。

OpenLiteSpeed security realm list

削除の確認を求められます。 削除をクリックして続行します。

次に、コンテキストタブをクリックします。 コンテキストリストで、削除したセキュリティレルムに関連付けられていた/protected/コンテキストを削除します。

OpenLiteSpeed delete protected context

ここでも、削除をクリックして削除を確認する必要があります。

他のコンテキストの一部またはすべてを、同じ手法を使用して安全に削除できます。これらは必要ないためです。 特に/protected/コンテキストを削除しました。そうしないと、関連するセキュリティレルム(セキュリティタブで削除したばかり)が削除されてエラーが発生するためです。

その後、OpenLiteSpeedコンソールの右上隅にある緑色のグレースフルリスタートアイコンを押します。 これにより、OpenLiteSpeedサーバーが再起動し、行った変更が有効になります。

Graceful Restart icon location

これで、OpenLiteSpeedサーバーが完全に構成されました。 これで、ブラウザでのWordPressの設定を完了する準備ができました。

ステップ7—WordPressインターフェースを介したインストールの完了

サーバーの構成が完了したので、Webインターフェイスを介してインストールを完了できます。

Webブラウザーで、サーバーのドメイン名またはパブリックIPアドレスに移動します。

http://server_domain_or_IP

使用する言語を選択します。

WordPress language selection

次に、メインのセットアップページが表示されます。 WordPressサイトの名前を選択し、ユーザー名を選択します(セキュリティ上の理由から、「admin」などを選択しないことをお勧めします)。 強力なパスワードが自動的に生成されます。 このパスワードを保存するか、別の強力なパスワードを選択してください。

メールアドレスを入力し、検索エンジンがサイトのインデックスを作成しないようにするかどうかを選択します。

WordPress setup installation

準備ができたら、WordPressのインストールボタンをクリックします。 ログインを促すページが表示されます。

WordPress login prompt

ログインすると、WordPress管理ダッシュボードが表示されます。

WordPress login prompt

ダッシュボードから、サイトのテーマの変更とコンテンツの公開を開始できます。

結論

このガイドを完了することで、OpenLiteSpeedを実行しているUbuntu18.04サーバーにWordPressインスタンスをインストールして構成しました。 次の一般的な手順は、投稿のパーマリンク設定を選択するか(設定> パーマリンクにあります)、新しいテーマを選択する(外観)ことです。 > テーマ)。 WordPressを初めて使用する場合は、インターフェイスを少し調べて、新しいCMSについて理解してください。

新しいWordPressサイトのセキュリティを強化するには、 SSL で機能するように構成して、HTTPS経由でコンテンツを提供できるようにすることをお勧めします。 OpenLiteSpeedドキュメントこのチュートリアルをチェックして、LetsEncryptをインストールして設定してください。