前提・実現したいこと
Laravelをphp artisan serveを利用しないで動作させたい
下記の環境を構築しています。
ドメイン(仮) www.123.com(123.123.123.123)
CentOS 7.6
Apache/2.4.6
PHP/7.4.8
MariaDB/10.5.4
Laravel 5.8.38
CentOSにLaravelをインストールしてテストページを作成しました。
php artisan serveを起動して、http://www.123.com/testにアクセスすると正常に表示されますが、php artisan serveはローカルのテスト用だということを知り、php artisan serveを起動しないでアクセスするとテストページが表示されません。
php artisan serveを起動する際は、httpdのポートを8080にして、
php artisan serve --host=123.123.123.123 --port=80で起動してから、
http://www.123.com/testにアクセスするとページが表示されます。
php artisan serveを起動しない場合は、httpdのポートを80にして
http://www.123.com/testにアクセスするとエラーになります。
php artisan serveを起動しない場合は、どのようにしてLaravelを起動しているのでしょうか?
Laravelの日本語DocumentのLaravel 5.8 インストールや他のサイトで調べたりしているのですが、
行き詰っていますので、ご教授頂けたら幸いです。
発生している問題・エラーメッセージ
php artisan serveを起動しないで、http://www.123.com/testにアクセスした時
このサイトにアクセスできませんwww.123.com で接続が拒否されました。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する ERR_CONNECTION_REFUSED
該当のソースコード
app\Http\Controllers\TestController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7class TestController extends Controller 8{ 9 public function index(){ 10 return <<< EOF 11 <html> 12 <head> 13 <title>Test</title> 14 </head> 15 <body> 16 <h1>Test</h1> 17 <p>これはTestControllerのindexアクションです。</p> 18 </body> 19 </html> 20 EOF; 21 } 22}
app\Book.php
php
1<?php 2Route::get('/', function () { 3 return view('welcome'); 4}); 5 6Route::get('test', 'TestController@index');
試したこと
/var/www/html/lalaにインストールしました。
- ドキュメントルートの変更
/etc/httpd/conf/httpd.conf
conf
1DocumentRoot "/var/www/html/" 2↓ 3DocumentRoot "/var/www/html/lala/public"
- ディレクトリパーミッションの変更
% chmod -R 777 /var/www/html/lala/bootstrap/cache/
% chmod -R 777 /var/www/html/lala/storage
- mod_rewriteモジュールの確認
% httpd -M | grep rewrite_module
rewrite_module (shared)
- mod_rewriteモジュールの有効化
% vi /var/www/html/lala/public/.htaccess
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
補足情報(FW/ツールのバージョンなど)
CentOS 7.6
Apache/2.4.6
PHP/7.4.8
MariaDB/10.5.4
Laravel 5.8.38
回答1件
あなたの回答
tips
プレビュー