ロリポップ!、カラフルボックス、mixhostなどLiteSpeedを使ったレンタルサーバーが徐々に増えてきています。そこで、OpenLiteSpeedを使ってレンタルサーバの試験環境(もどき)を構築していきます。
環境
# cat /etc/redhat-release
Rocky Linux release 8.5 (Green Obsidian)
# /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.15 Open (BUILD built: Tue Feb 22 16:27:52 UTC 2022)
module versions:
lsquic 3.0.4
modgzip 1.1
cache 1.64
mod_security 1.4
# /usr/local/lsws/lsphp81/bin/lsphp -v
PHP 8.1.2 (litespeed) (built: Jan 18 2022 23:52:03)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
#
OSはRocky Linux 8.5、OpenLiteSpeedのバージョンは1.7.15、PHPのバージョンは8.1.2です。
OpenLiteSpeedとPHPのインストールについては、こちらの記事を参照してください。
ディレクトリ構成
一般ユーザrockyのホームディレクトリの中でWebサイトを構築できるようにするため、ディレクトリのイメージは以下のような感じとします。
ただし、設定ファイルは一般ユーザが変更するものではないので、LiteSpeedのインストールディレクトリ内としました。
/home
└── rocky/
└── vhosts/
└── sample/
├── html/
│ ├── index.html
│ └── phpinfo.php
└── logs/
└── error.log
└── access.log
/usr/local/lsws/conf/vhosts
└── (バーチャルホスト名)/
└── vhconf.conf
今後バーチャルホストを増やすときは、/home/rocky/vhostsの下に新しいディレクトリを作成していくイメージです。
| ディレクトリ・ファイル名 | |
|---|---|
| バーチャルホストルート | /home/rocky/vhosts/sample |
| ドキュメントルート | /home/rocky/vhosts/sample/html |
| エラーログ | /home/rocky/vhosts/sample/logs/error.log |
| アクセスログ | /home/rocky/vhosts/sample/logs/access.log |
| 設定ファイル | /usr/local/lsws/conf/vhosts/(バーチャルホスト名)/vhconf.conf |
それから、ローカル環境内で使うのでSSLは使用しません。
また、バーチャルホスト用に8089番ポートを使用します。
ディレクトリの作成
一般ユーザrockyのホームディレクトリの下にバーチャルホスト用のディレクトリを作成します。
ディレクトリの作成は一般ユーザでログインして作成します。
$ mkdir -p ~/vhosts/sample
$ mkdir ~/vhosts/sample/html
$ mkdir ~/vhosts/sample/logs
$
$ ls -l /home/rocky/vhosts/sample
合計 0
drwxrwxr-x 2 rocky rocky 6 3月 11 14:51 html
drwxrwxr-x 2 rocky rocky 6 3月 11 14:51 logs
$
一般ユーザのホームディレクトリのパーミッションはデフォルトだと700です。これだとWebサーバプロセスの実行ユーザ(デフォルトだとnobody)が読めないので、パーミッションを705に変更します。
これは多くのレンタルサーバで推奨されている値です。
パーミッションの変更はrootユーザで行います。
# ls -l /home
total 0
drwx------. 3 rocky rocky 97 Mar 11 14:19 rocky
#
# chmod 705 /home/rocky
#
# ls -l /home
total 0
drwx---r-x. 3 rocky rocky 97 Mar 11 14:19 rocky
#
バーチャルホストの作成
基本設定
WebAdmin Consoleにログインして、左側にある「バーチャルホスト」をクリックします。

右側にある「追加」アイコンをクリックします。

*(アスタリスク)が付いている項目が必須項目なので、以下のとおり記入します。

- バーチャルホスト名:SampleVirtualHost
- Virtual Host Root:
/home/rocky/vhosts/sample - 設定ファイル:
$SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf - スクリプト/外部アプリを有効にする:はい
- 抑制された:はい
LiteSpeedでは決められた変数がいくつかあります。
| 変数名 | 意味 | ここでの値 |
|---|---|---|
$SERVER_ROOT | インストールディレクトリ | /usr/local/lsws |
$VH_ROOT | バーチャルホストルート | /home/rocky/vhosts/sample |
$VH_NAME | バーチャルホスト名 | SampleVirtualHost |
記入が終わったら、「保存」アイコンをクリックします。

保存するための設定ファイルがまだないため、エラーが表示されます。
「CLICK TO CREATE」をクリックすると設定ファイルが作成されます。

再度、「保存」アイコンをクリックします。

バーチャルホストが追加されていることを確認して、「緩やかな再起動」アイコンをクリックします。

ドキュメントルートの設定
新しく作ったバーチャルホストの名前(SampleVirtualHost)をクリックします。

「一般」タブの「編集」アイコンをクリックします。

*(アスタリスク)が付いている項目が必須項目なので、以下のとおり記入します。

- Document Root:
$VH_ROOT/html/ - GZIP圧縮を有効にする:はい
記入が終わったら、「保存」アイコンをクリックします。

エラーログ/アクセスログの設定
「ログ」タブの「バーチャルホストログ」にある「編集」アイコンをクリックします。

以下のとおり記入します。

- サーバーログを使用する:はい
- ファイル名:
$VH_ROOT/logs/error.log - ローテーションサイズ(バイト):10M
- 保持日数:7
- 圧縮アーカイブ:はい
記入が終わったら、「保存」アイコンをクリックします。

「ログ」タブの「アクセスログ」にある「追加」アイコンをクリックします。

以下のとおり記入します。

- ログ制御:Own Log File
- ファイル名:
$VH_ROOT/logs/access.log - ローテーションサイズ(バイト):10M
- 保持日数:7
- 圧縮アーカイブ:はい
記入が終わったら、「保存」アイコンをクリックします。

エラーログとアクセスログの設定に間違いがないか確認してから、「緩やかな再起動」アイコンをクリックします。

リスナーの作成
基本設定
左側にある「リスナー」をクリックして、「追加」アイコンをクリックします。

以下のとおり記入します。

- リスナー名:SampleListner
- IP アドレス:ANY IPv4
- ポート:8089
- セキュア:いいえ
記入が終わったら、「保存」アイコンをクリックします。

バーチャルホストマップの設定
ここでは、バーチャルホストとリスナーの紐付けを指定します。
まず、新しく作ったリスナー名(SampleListner)をクリックします。

「バーチャルホストマップ」にある「追加」アイコンをクリックします。

以下のとおり記入します。

- バーチャルホスト:SampleVirtualHost
- ドメイン:*
記入が終わったら、「保存」アイコンをクリックします。

リスナーの設定に間違いがないか確認してから、「緩やかな再起動」アイコンをクリックします。

以上でLiteSpeedでのバーチャルホストの設定は完了です。
Firewallの設定
今回作成したバーチャルホストで8089番ポートを使うので、firewall-cmdを使って8089番ポートを開放します。
# firewall-cmd --add-port=8089/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --add-port=8089/tcp --permanent
success
# firewall-cmd --reload
success
#
# firewall-cmd --list-port
7080/tcp 8088/tcp 8089/tcp 61000/tcp 61010-61015/tcp
#
確認用ページの作成
正常にアクセスできるか確認するため、ドキュメントルート(/home/rocky/vhosts/sample/html)の下に、一般ユーザrockyで確認用のHTMLファイル(index.html)とPHPファイル(phpinfo.php)を作成します。
index.html<html>
<body>
Sample Web Page!
</body>
</html>
phpinfo.php<?php
phpinfo();
?>
表示確認
「http://IPアドレス:8089/」にアクセスして、index.htmlの内容が表示されればOKです。

同様に「http://IPアドレス:8089/phpinfo.php」にアクセスして、PHPの情報が表示されればOKです。





コメント