메인 콘텐츠로 건너뛰기

Laravel 기반 사이트를 설치하는 방법

설치는 composer를 사용하여 수행됩니다. 예시로 사용된 도메인은 example.com이며 사이트 사용자는 user입니다.

준비

Composer 설치

"Applications" 섹션에서 FASTPANEL®에 Composer 설치

FASTPANEL의 Applications 관리 메뉴

FASTPANEL에 composer 설치

웹사이트 생성

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

public 하위 디렉터리 지정

프로젝트 생성

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

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를 사용해 편집기를 종료합니다.

Memcached 연결(선택 사항)

사이트에서 사용하는 PHP 버전에 맞는 PHP memcached 모듈을 설치하고, 애플리케이션도 설치해야 합니다.

memcached PHP 모듈 설치

FASTPANEL의 PHP 관리 메뉴

FASTPANEL에서 PHP memcached 모듈 설치

memcached 애플리케이션 설치

FASTPANEL의 Applications 관리 메뉴

FASTPANEL에서 memcached 애플리케이션 설치

구성 파일 편집

./config/cache.php 파일에 memcached 연결 정보를 지정

./config/cache.php 예시
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],

시스템 기본 버전이 아닌 PHP 버전에서 Artisan 사용

시스템 기본 버전이 아닌 PHP 버전에서 artisan을 사용하려면 실행 파일의 전체 경로를 지정해야 합니다. 대체 php 버전 8.2 사용 예시:

/opt/php82/bin/php artisan list

기본 Artisan 명령

명령은 프로젝트의 루트 디렉터리(이 예시에서는 example.com)에서 실행해야 합니다

cd /var/www/user/data/www/example.com

사용 가능한 모든 Artisan 명령의 목록을 보려면 다음 명령을 사용할 수 있습니다

php artisan list

로컬 Laravel 개발 서버를 시작합니다. --host--port 키를 지정할 수 있습니다

php artisan serve

마이그레이션 시작

php artisan migrate

사이트에서 유지 관리 모드를 활성화하고 --redirect=/ 키로 유지 관리 모드용 페이지를 지정

php artisan down

사이트의 유지 관리 모드 비활성화

php artisan up