Rocky9에서 Laravel 사용하기
환경 : Rocky9, php8.0
Laravel은 PHP로 개발된 인기 있는 웹 애플리케이션 프레임워크입니다. 개발자들이 효율적으로 웹 애플리케이션을 만들 수 있도록 다양한 기능과 도구를 제공합니다. Laravel이 제공하는 주요 기능은 다음과 같습니다:
-
MVC 아키텍처: Laravel은 모델(Model), 뷰(View), 컨트롤러(Controller)를 기반으로 한 MVC 아키텍처를 지원하여 코드의 구조를 잘 유지하고 유지보수를 쉽게 합니다.
-
라우팅: 간단하고 유연한 라우팅 시스템을 제공하여 URL을 쉽게 정의하고 컨트롤러와 메서드에 연결할 수 있습니다.
-
Eloquent ORM: 데이터베이스와의 상호작용을 쉽게 해주는 ORM(Object-Relational Mapping) 시스템으로, 데이터베이스 작업을 객체 지향적으로 처리할 수 있습니다.
-
Blade 템플릿 엔진: 강력한 템플릿 엔진인 Blade를 제공하여 뷰를 작성하고 PHP 코드를 쉽게 템플릿에 포함할 수 있습니다.
-
마이그레이션 및 시더: 데이터베이스 구조를 버전 관리할 수 있는 마이그레이션 시스템과, 데이터베이스에 더미 데이터를 삽입할 수 있는 시더 기능을 제공합니다.
-
검증 및 인증: 사용자 입력 검증과 인증 시스템을 쉽게 설정할 수 있는 도구를 제공하여 보안을 강화할 수 있습니다.
-
미들웨어: 요청과 응답을 가로채어 추가적인 처리를 할 수 있는 미들웨어 기능을 제공합니다.
-
테스트: PHPUnit을 기반으로 한 테스트 프레임워크를 제공하여 애플리케이션의 기능을 자동으로 테스트할 수 있습니다.
-
서비스 제공자: 다양한 서비스와 의존성을 등록하고 관리할 수 있는 서비스 제공자 기능을 제공합니다.
-
명령어 라인 도구 (Artisan): Laravel 애플리케이션을 관리하고, 다양한 작업을 자동화할 수 있는 명령어 라인 도구인 Artisan을 제공합니다.
-
작업 큐: 비동기 작업 처리를 위한 작업 큐 시스템을 제공하여 백그라운드 작업을 효율적으로 처리할 수 있습니다.
-
이벤트 및 리스너: 애플리케이션에서 발생하는 이벤트를 관리하고, 이에 응답하는 리스너를 쉽게 정의할 수 있습니다.
-
파일 저장: 다양한 드라이버를 통해 파일 저장소를 설정하고 사용할 수 있는 파일 시스템 기능을 제공합니다.
1. php 설치하기
[root@jong4719-255754 ~]# php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
2. composer 설치하기
인스톨러를 다운로드합니다. [root@jong4719-255754 ~]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 인스톨러가 정상적으로 설치되었는 지 확인합니다. [root@jong4719-255754 ~]# php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" Installer verified
인스톨러 파일을 실행해 Composer 를 생성합니다. [root@jong4719-255754 ~]# php composer-setup.php All settings correct for using Composer Downloading... Composer (version 2.7.7) successfully installed to: /root/composer.phar Use it: php composer.phar 인스톨러 파일을 삭제합니다. [root@jong4719-255754 ~]# php -r "unlink('composer-setup.php');" composer.phar 파일 이름을 composer 로 변경해주고, 디렉토리 어디에서든 실행 할 수 있도록 파일을 옮겨줍니다. [root@jong4719-255754 ~]# mv composer.phar /usr/local/bin/composer Composer 버전을 확인합니다. [root@jong4719-255754 ~]# composer Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.7.7 2024-06-10 22:11:12
3. Laravel 프로젝트 만들기
Laravel 을 설치 합니다. 설치시 프로젝트명을 지정하면 프로젝트명의 하위디렉토리가 생성되며, 버전을 명시하지 않으면 최상위 버전으로 설치됩니다. [root@jong4719-255754 ~]# composer create-project --prefer-dist laravel/laravel jong Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes INFO Application key set successfully. 생성된 파일을 확인합니다. [root@jong4719-255754 ~]# cd jong/ [root@jong4719-255754 jong]# ls -al total 356 drwxr-xr-x 13 root root 4096 Jul 27 17:55 . dr-xr-x---. 7 root root 158 Jul 27 17:55 .. -rw-r--r-- 1 root root 258 Feb 1 2023 .editorconfig -rw-r--r-- 1 root root 1120 Jul 27 17:55 .env -rw-r--r-- 1 root root 1069 Feb 1 2023 .env.example -rw-r--r-- 1 root root 179 Feb 1 2023 .gitattributes -rw-r--r-- 1 root root 227 Feb 1 2023 .gitignore -rw-r--r-- 1 root root 4158 Feb 1 2023 README.md drwxr-xr-x 7 root root 82 Feb 1 2023 app -rwxr-xr-x 1 root root 1686 Feb 1 2023 artisan drwxr-xr-x 3 root root 34 Feb 1 2023 bootstrap -rw-r--r-- 1 root root 1817 Feb 1 2023 composer.json -rw-r--r-- 1 root root 301138 Jul 27 17:55 composer.lock drwxr-xr-x 2 root root 4096 Feb 1 2023 config drwxr-xr-x 5 root root 74 Feb 1 2023 database drwxr-xr-x 3 root root 16 Feb 1 2023 lang -rw-r--r-- 1 root root 286 Feb 1 2023 package.json -rw-r--r-- 1 root root 1175 Feb 1 2023 phpunit.xml drwxr-xr-x 2 root root 77 Feb 1 2023 public drwxr-xr-x 5 root root 40 Feb 1 2023 resources drwxr-xr-x 2 root root 75 Feb 1 2023 routes drwxr-xr-x 5 root root 46 Feb 1 2023 storage drwxr-xr-x 4 root root 83 Feb 1 2023 tests drwxr-xr-x 40 root root 4096 Jul 27 17:55 vendor -rw-r--r-- 1 root root 263 Feb 1 2023 vite.config.js 설치된 Laravel 버전을 확인합니다. [root@jong4719-255754 jong]# php artisan --version Laravel Framework 9.52.16
4. 생성 페이지 접근
실행 후 웹 페이지에 접속하여 확인합니다. [root@jong4719-255754 jong]# php artisan serve --host=0.0.0.0 INFO Server running on [http://0.0.0.0:8000]. Press Ctrl+C to stop the server
감사합니다.