LoginSignup
0
0

More than 3 years have passed since last update.

PHP Slim3フレームワークのサンプルアプリをApacheで動かそう(2. DocumentRoot使用)

Last updated at Posted at 2020-06-17

はじめに

PHP Slim3フレームワークのサンプルアプリを過去記事(12-1)で作成し、
PHPのビルトインWebサーバーを使用して表示しました。
今回はApacheのDocumentRootを変更してアプリを動かしてみましょう。

前提

下記記事で構築した環境を前提とします。

  今回は1つのアプリしか動かさないのでどちらかでOKです。

  作業的には必要ないですが、目を通しておくと今回の記事がわかりやすいと思います。

使用ツール

  • Tera Term

手順

1. .htaccessファイルを作成
2. 設定ファイルを書き換え
3. プロジェクトディレクトリ内のフォルダ、ファイルにパーミッション付与
4. 動作確認

やってみよう

1. .htaccessファイルを作成

1. VirtualHost使用1. .htaccessファイルを作成参照。

urlからindex.phpを省略するため、下記を追加してください。

1. skeleton projectは以下。

.htaccess
<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までは以下。

.htaccess
<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書き換え
httpd.conf(変更前)
#
# 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"
httpd.conf(変更後)
#
# 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 NoneAllowOverride Allに書き換えます。

httpd.conf(変更前)
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
  AllowOverride None
httpd.conf(変更後)
#
# 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をインストール

CentOS7にComposerをインストールしよう

PHP Slim3フレームワークのサンプルアプリを作ろう

1. skeleton project
2-1. First Application Walkthrough Getting Set Upまで

Apache

DocumentRootを変更しよう

PHP Slim3フレームワークのサンプルアプリをApacheで動かそう

1. VirtualHost使用
2. DocumentRoot使用
3. Alias使用

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0