JavaScript が無効になっているよ!

OpenLiteSpeed で PHP Slim フレームワークを使う

 ·  ☕ 2 分(読了時間)  ·  🐨 Puliyo

目的

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/

シェア
支援