はじめに
PHP Slim3フレームワークのサンプルアプリを過去記事(1、2-1)で作成し、
PHPのビルトインWebサーバーを使用して表示しました。
今回はApacheのDocumentRootを変更してアプリを動かしてみましょう。
前提
下記記事で構築した環境を前提とします。
- Windows10にVagrantをを入れてCentOS7をインストールしよう(1、2、3、4、5、6)
- ローカルでLAMP環境を構築しよう(0、1、2、3、4)
- CentOS7にComposerをインストールしよう
- PHP Slim3フレームワークのサンプルアプリを作ろう
今回は1つのアプリしか動かさないのでどちらかでOKです。
作業的には必要ないですが、目を通しておくと今回の記事がわかりやすいと思います。
使用ツール
- Tera Term
手順
1. .htaccessファイルを作成
2. 設定ファイルを書き換え
3. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与
4. 動作確認
やってみよう
1. .htaccessファイルを作成
1. VirtualHost使用の1. .htaccessファイルを作成参照。
urlからindex.phpを省略するため、下記を追加してください。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase / ←ここを追加
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
</IfModule>
2-1. First Application Walkthrough Getting Set Upまでは以下。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase / ←ここを追加
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
</IfModule>
2. 設定ファイルを書き換え
設定ファイル/etc/httpd/conf/httpd.conf
の該当部分を下記のように書き換えます。
- DocumentRoot書き換え
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/home/slimuser/projects/slim/Slim-Skeleton/public"
- Dirctory書き換え
Directoryのパスを、編集したドキュメントルートに合わせて書き換えます。
併せて、urlからindex.phpを省略するため、AllowOverride None
をAllowOverride All
に書き換えます。
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
#
# Relax access to content within /var/www.
#
<Directory "/home/slimuser/projects/slim/Slim-Skelton/public">
AllowOverride All
DocumentRoortとDirectoryの書き換えを終えたらApacheを再起動します。
systemctl restart httpd
3. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与
1. VirtualHost使用の4. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与参照。
4. 動作確認
ブラウザを起動して、以下のURLにアクセスしてみましょう。
PHPのビルトインWebサーバーを使用していた時と同じように表示されたらOKです。
http://192.168.33.60/world
後で調べたいこと
こちらのサイトでは、下記のように.htaccessファイルを使用するのであれば
"AllowOverride All"は非推奨ということだったのですが、
どう設定していいかよくわからなかったので、こちらのチュートリアルのやり方を採用しました。
"AllowOverride All"以外のやり方もいずれ調べたいです。
参考サイト
Install And Configure Mod_rewrite For Apache On CentOS 7
ApacheでLaravel5アプリケーションを動かす
How to active sudo a2enmod rewrite for centos?
関連ページ
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まで
Apache
PHP Slim3フレームワークのサンプルアプリをApacheで動かそう
1. VirtualHost使用
2. DocumentRoot使用
3. Alias使用