LiteSpeedの初期設定を行います。
LiteSpeed Web Serverとは
第4のウェブサーバーと呼ばれる、nginxよりも更に効率的なウェブサーバーです。
高負荷時にnginxよりも高いパフォーマンスを発揮出来るようで、一部の共用サーバーではApacheやnginxの代わりにLiteSpeedを導入して「高速」を謳っている所も在ります。
環境
今回は、OpenLiteSpeedとLSPHPを使用しています。
- OpenLiteSpeed 1.6.7
- LSPHP 7.3
管理者ユーザーの作成
まずは管理者ユーザーを作成します。このユーザーを使って、管理コンソールに入れるようになります。LiteSpeedには管理者ユーザー作成用のシェルスクリプトが用意されているので、実行して従うだけです。
# (Bash)
$ sudo /usr/local/lsws/admin/misc/admpass.sh
[sudo] password for ...:
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: ...
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
起動状態の確認
ユーザー作成が終わったら、ウェブサーバーの起動状態を確認します。
# (Bash)
$ sudo /usr/local/lsws/bin/lswsctrl status
litespeed is running with PID 10388.
このように、実行中のPIDが表示されたら既に起動されています。そうでない場合は以下のコマンドを実行して起動します。
# (Bash)
$ sudo /usr/local/lsws/bin/lswsctrl start
ページにアクセスしてみる
ここからは私の独自ドメインでURLを表記するので、適宜自分の環境で読み替えてください。例えば、ローカル環境ならhttp://lsws.devmem.infoはhttp://localhostみたいに。
デフォルトでは、http://lsws.devmem.info:8088にページが公開されています。
事前にファイアウォールの設定をしてポートを開放しているので、早速アクセスしてみます。
アクセス出来ました。次は、管理コンソールにアクセスしてみます。
管理コンソールは、https://lsws.devmem.info:7080に在ります。デフォルトでHTTPSで接続するようになっていますが、証明書が無いので危険な状態と表示されます。Chromeはセキュリティが厳しいのでアクセスすら出来ませんでした。なので、Edgeを使って接続します。
管理画面へのログインページが表示されました。ここに、先ほど作ったユーザーでログインします。
まずログインすると、ダッシュボードが表示されます。ここにアクセス統計情報等が表示されるようです。
WordPressの構築
デフォルトページも管理コンソールもログイン出来たのでここで終わりにしても良いのですが、せっかくLSPHPも導入しているのでWordPressを構築します。
Virtual Hostの設定
管理コンソール左のメニューから、「Virtual Hosts」を開いてください。
デフォルトでは、先ほど見たデフォルトページにアクセスするためのVirtual Hostが定義されています。
ここに別のVirtual Hostを追加する事で、複数サイトを1つのウェブサーバーで運営する事が可能になります。
リストの見出しの右にある追加ボタン(プラスマーク)から、新規にVirtual Hostを追加します。
今はWordPressを構築しているので、Virtual Host Nameはシンプルに「WordPress」で、Virtual Host Rootは適当に/usr/local/lsws/vhosts/WordPressになるように設定しました。
注意点としては、Virtual Host Rootは外部公開用のドキュメントルートではなくVirtual Hostのルートです。ここに外部公開用のドキュメントルートとしてhtmlディレクトリやログ保存用としてlogディレクトリを作成します。
Config Fileに関しては、$SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.confに設定するのが推奨されています。
External App Set UID ModeはServer UIDにします。これは、wp-config.php等を変更する時に権限の問題が起きないようにしてくれます。
見出し右の保存ボタンを押しましょう。
保存ボタンを押すと、設定ファイルが存在しない旨のエラーが表示されるので、エラー文の最後のCLICK TO CREATEを押して作成してもらいます。
再度保存ボタンを押すと、Virtual Hostsの一覧に戻って、WordPressというVirtual Hostが追加されている事が確認出来ます。
次に、Virtual Hostのドキュメントルートの設定を行います。
追加したWordPressの設定を開いて、Generalタブに進みます。
見出し右の編集ボタンをクリックしてください。
Document Rootには$VH_ROOT/htmlが推奨されているようです。編集し終えたら見出し右の保存ボタンから保存してください。
次に、Rewriteタブを開いて、Auto Load from .htaccessをYesに変更します。
WordPressはページのURLを.htaccessで制御しているので、この設定を行わないとトップページと管理ページ以外のページが404エラーになる状態になります。
Listenerの設定
リスナーは、アクセスされたURLに応じて、表示するページを分ける事が出来ます。
管理コンソール左のメニューから、Listenersを開いてください。
デフォルトではDefaultという名のListenerが1つだけ定義されているはずです。
画面上部ではListenerに関する設定が、画面下部ではこのListenerに紐づくVirtual Hostと対応するドメインが定義されています。
Defaultではポート8088番のアクセスをドメインに関係無くExampleに振り分けるように定義されています。
ではまず、ポート8088番ではなく、ポート80番で接続するようにします。見出し右の編集ボタンを押して編集します。例の如く、ポート開放等は既に行っています。
編集が終わったら、次は画面下部にあったVirtual Host Mappingsの設定です。Exampleは不要なので、Exampleの設定を編集します。
http://lsws.devmem.infoでのアクセスで構築中のWordPressを表示したいので、このように設定します。ワイルドカードにも対応していて、*.devmem.infoのような事も出来ます。
編集が終わったら保存してください。保存が終わったら、管理コンソール右上にあるLSWS PIDの表示の隣に在る、Graceful RestartボタンからLiteSpeedを再起動します。
WordPressのダウンロードと配置
先ほど設定したVirtual Host Rootディレクトリを作成します。
# (Bash)
$ sudo mkdir /usr/local/lsws/vhosts/WordPress
作成したら、WordPressをダウンロードして、設定したDocument Rootディレクトリに合うようにリネームします。また、WordPressからファイルの書き換えが生じた場合にDocument Rootディレクトリの所有者とファイルの所有者が異なると追加設定が必要になるので修正します。デフォルトではユーザーnobody、グループnogroupとして書き換えが実行されるようなので、chown -Rで再帰的に変更します。
# (Bash)
# Virtual Host Rootへ移動
cd /usr/local/lsws/vhosts/WordPress
# WordPressのダウンロード sudo curl -o - https://ja.wordpress.org/latest-ja.tar.gz | sudo tar xzvf -
# リネーム
sudo mv wordpress html
# 所有権の設定 sudo chown -R nobody:nogroup WordPress/
これで、WordPressの配置が完了しました。
確認する
では、http://lsws.devmem.infoにアクセスしてみます。
無事に、お馴染みのWordPressの初期設定画面が表示されました。
まとめ
第4のウェブサーバーと呼ばれるLiteSpeed Web ServerでWordPressを構築しました。
今まで、ウェブサーバーは共用サーバーに備えついているApacheやnginxを使っていたので、ウェブサーバー自体の構築は初めてしましたが、管理コンソールのおかげで設定が見易くて助かりました。
nginxと比較してどうかは分かりませんが、アクセスはサクサクなので満足しています。