目的
PHP フレームワークの Slim v4 を OpenLiteSpeed v1.6.12 で動かす。
OS は CentOS 8。
手順
1. OpenLiteSpeed インストール
レポジトリからインストール。
詳しいインストール手順はここを参照。
rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm
yum install openlitespeed
2. WebAdmin Console にアクセス
WebAdmin Console(管理コンソール)にアクセスする。
デフォルトで port は 7080、 パスワードは 123456。
admin:123456 でうまく認証できない場合下記コマンドでパスワードを手動リセット。
/usr/local/lsws/admin/misc/admpass.sh
https://your_ip:7080/
3. Virtual Host を作成
WebAdmin で Virtual Hosts を押し virtual host(仮想ホスト)を追加する。
以下検証用に設定したときの値:
Virtual Host Name: runslim
Virtual Host Root: /usr/local/lsws/vhosts/$VH_NAME/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
suEXEC User: user_01
suEXEC Group: user_01
Document Root: $VH_ROOT/html/public
Temporary File Path: $VH_ROOT/tmp
Command: $SERVER_ROOT/lsphp73/bin/lsphp
Enable Rewrite: Yes
Rewrite Rules:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
Listener の設定は下記の通り:
IP Address: Any
Port: 80
Mapping:
Virtual Host: runslim
Domains: *
ルートディレクトリを作成
OpenLiteSpeed は実行ユーザーがルートディレクトリ(Document Root)に最低でも read 権限がないと 4xx アクセス拒否エラーとなる。
ちなみにレポジトリからインストールすると実行ユーザーは nobody:nobody になる。 (このユーザーを使うのはあまり良くない。。)。
# rootで実行
# cd /usr/local/lsws/vhosts/
# mkdir -p runslim/html/public
# cd runslim
# chown -R user_01:nobody html
# chmod -R 750 html
5. Slim をインストール
composerはすでに設定していることを前提とする。
# user_01で実行
$ cd /usr/local/lsws/vhosts/runslim/html
$ composer require slim/slim:"4.*"
$ composer require slim/psr7
$ touch public/index.php
public/index.php の中身:
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$app->get('/', function (Request $request, Response $response, $args) {
$response->getBody()->write("Hello world!");
return $response;
});
$app->run();
6. サーバーを起動しテスト
OpenLiteSpeed をリスタート。
作成したウェブサイト(仮想ホスト)にアクセスして “Hello world!” が表示されるか確認。
http://your_ip/