AWS 리눅스 2023의 경우
sudo vi /etc/httpd/conf.d/www.example.com.conf 여기에
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html/public
<Directory /var/www/html/public>
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
라라벨의 루트는 /var/www/html/public
이경로로 설정
설정 후 재시작
sudo systemctl restart httpd
그리고 나의 경우 80 포트만 설정하면 도메인 접속이 안 되었음 그래서 ssl까지 설정해 주니 도메인과 연결이 잘 되었음
똑같이 루트를 /var/www/html/public 여기로 설정
<VirtualHost *:443>
ServerName tech.todayabc.xyz
DocumentRoot /var/www/html/public
SSLEngine on
SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
SSLCertificateChainFile /path/to/your/chainfile.pem
<Directory /var/www/html/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
아파치 문법 검사문제없으면
sudo apachectl configtest
아파치 재시작
sudo systemctl restart httpd
라라벨 라우팅 설정
routes/web.php을
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HomeController;
Route::get('/', [HomeController::class, 'index']);
쉘에서 컨트롤러 파일 만들기
쉘에서 파일을 생성하는 이유는 파일이 자동으로 올바른 위치에 생성, 오류 발생 가능성을 줄여줌
php artisan make:controller HomeController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
return view('home');
}
}
쉘에서 모델 파일 만들기
php artisan make:model Home
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Home extends Model
{
use HasFactory;
}
뷰 파일 생성 resources/views/home.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>Welcome to the Home Page!</h1>
</body>
</html>
이렇게 하면 초기 화면에 welcome to the home Page! 이렇게 뜨면 사용 준비 완료
안 나온다면 캐시 초기화
php artisan route:clear
php artisan view:clear
php artisan config:clear
안 나온다면 아파치 재시작
sudo systemctl restart httpd