はじめに
PHP Slim3フレームワークのサンプルアプリを過去記事(1、2-1)で作成し、
PHPのビルトインWebサーバーを使用して表示しました。
今回はサンプルアプリをApacheを使用して動かしてみましょう。
前提
下記記事で構築した環境を前提とします。
- Windows10にVagrantをを入れてCentOS7をインストールしよう(1、2、3、4、5、6)
- ローカルでLAMP環境を構築しよう(0、1、2、3、4)
- CentOS7にComposerをインストールしよう
- PHP Slim3フレームワークのサンプルアプリを作ろう
VirtualHostを使用するので、1、2-1は同じサーバーで作られるものとします。
作業的には必要ないですが、目を通しておくと今回の記事がわかりやすいと思います。
使用ツール
- Tera Term
手順
1. .htaccessファイルを作成
2. ローカルのhostsの設定を変更
3. バーチャルホストの設定
4. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与
5. 動作確認
やってみよう
1. .htaccessファイルを作成
slim/slim-skeletonパッケージを使用して作成した1. skeleton projectでは
.htaccessファイルが自動で生成されますが、
2-1. First Application Walkthrough Getting Set Upまでで作成したサンプルアプリのように、
slim/slim-skeletonパッケージを使用しないで作成したアプリでは
.htaccessファイルを作成する必要があります。
前述のサンプルアプリでは、下記パスにindex.php
を作成したので、
/home/slimuser/projects/slim/FirstApplication/src/public`
同じパスに.htaccessファイルを作成し、下記のように記述してください。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
</IfModule>
2. ローカルのhostsの設定を変更
【Apache】VirtualHostを使ってみようの2. 【ローカル側】設定変更で行ったように、C:\Windows\System32\drivers\etc\hostsの設定を下記のように変更します。
192.168.33.60
部分は各自の環境のIPアドレスに読み替えてください。
192.168.33.60 slim3.first-application
192.168.33.60 slim3.slim-skeleton
3. バーチャルホストの設定
【Apache】VirtualHostを使ってみようの3. 【サーバー側】バーチャルホストの設定で
行ったように、/etc/httpd/conf.d/vhost.conf
を作成し、以下のように記述します。
<VirtualHost *:80>
ServerName slim3.first-application
DocumentRoot /home/slimuser/projects/slim/FirstApplication/src/public
<Directory /home/slimuser/projects/slim/FirstApplication/src/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName slim3.slim-skeleton
DocumentRoot /home/slimuser/projects/slim/Slim-Skeleton/public
<Directory /home/slimuser/projects/slim/Slim-Skeleton/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
もちろん、こちらで言及しているように
etc/httpd/conf/httpd.conf
にバーチャルホストの設定をしてもOKです。
設定を変更したら、下記コマンドでhttpdを再起動します。
systemctl restart httpd
4. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与
下記のコマンドでプロジェクトディレクトリ内のフォルダ・ファイルの所有者をapacheにします。
chown -R apache:apache /home/slimuser/
下記のコマンドで権限を付与します。
chmod -R 755 /home/slimuser/
5. 動作確認
ブラウザを起動して、以下のURLにアクセスしてみましょう。
PHPのビルトインWebサーバーを使用していた時と同じように表示されたらOKです。
http://slim3.first-application/hello/world
http://slim3.slim-skeleton/world
参考サイト
Getting started: A skeleton application
First Application Walkthrough
関連ページ
Windows10にVagrantをを入れてCentOS7をインストールしよう
1. VagrantインストールからVagrantfileを設置まで
2. 仮想マシンの操作
3. WinSCP、Tera Termに秘密鍵でログイン
4. WinSCP、Tera Termにrootユーザーでパスワードログイン
5. zip/unzipをインストール
6. Vagrantにて仮想環境を配布
ローカルでLAMP環境を構築しよう
0. 事前準備
1. Apacheをインストール
2. MySQLをインストール
3. PHPをインストール
4. ファイアウォールとか停止する
Composerをインストール
PHP Slim3フレームワークのサンプルアプリを作ろう
1. skeleton project
2-1. First Application Walkthrough Getting Set Upまで