Laravel 기반 사이트를 설치하는 방법
설치는 composer를 사용하여 수행됩니다. 예시로 사용된 도메인은 example.com이며 사이트 사용자는 user입니다.
준비
Composer 설치
"Applications" 섹션에서 FASTPANEL®에 Composer 설치


웹사이트 생성
FASTPANEL®에서 웹사이트를 생성하고 "Site Directory" 섹션의 사이트 설정에서 public 하위 디렉터리를 지정합니다.

프로젝트 생성
프로젝트를 생성하려면 사이트 소유자의 계정을 사용하여 SSH를 통해 서버에 연결해야 합니다. 사이트 소유자는 FASTPANEL의 사이트 카드에 표시됩니다

SSH 연결이 설정되면 다음 명령 예시를 사용하여 사이트 디렉터리를 비워야 합니다(example.com 대신 사이트 이름 지정)
rm -rf /var/www/user/data/www/example.com/*
그런 다음 사이트 디렉터리로 이동
cd /var/www/user/data/www/example.com
그리고 프로젝트 생성
composer create-project laravel/laravel ./
정상적으로 설치된 경우의 출력 예시
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.
특정 버전의 Laravel 설치
특정 버전을 설치하려면 프로젝트 생성 시 명령 끝에 따옴표로 버전을 지정해야 합니다
composer create-project laravel/laravel ./ "5.8.*"
데이터베이스 연결
- Artisan의 경우 사이트 디렉터리의 .env 파일에 데이터베이스 연결 정보를 지정
- 사이트의 경우
./config/database.php파일에 데이터베이스 연결 정보를 지정
SSH를 통해 .env 파일을 편집하려면 nano 텍스트 편집기를 사용할 수 있습니다:
nano .env
.env 예시
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
SSH를 통해 ./config/database.php 파일을 편집하려면:
nano ./config/database.php
./config/database.php 예시
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
nano 편집기에서는 Ctrl+O를 사용해 변경 사항을 저장하고 Ctrl+X를 사용해 편집기를 종료합니다.