웹사이트 검색

CentOS에 Laravel PHP 웹 프레임워크를 설치하는 방법


Laravel은 표현력이 풍부하고 매력적인 구문을 갖춘 강력한 무료 오픈 소스 PHP 프레임워크입니다. 현대적이고 강력하며 강력한 애플리케이션을 처음부터 개발하기 위한 세련되고 단순하며 읽기 쉬운 구문을 갖추고 있습니다. 또한 Laravel은 깔끔하고 현대적이며 유지 관리가 가능한 PHP 코드를 작성하는 데 필요한 여러 도구를 제공합니다.

추가 읽기: Ubuntu에 Laravel PHP 프레임워크를 설치하는 방법

주요 Laravel 기능:

  • 데이터베이스 작업을 위한 강력한 ORM(객체 관계형 매핑)입니다.
  • 복잡하지 않고 빠른 라우팅 메커니즘.
  • 강력한 종속성 주입 컨테이너.
  • 세션 및 캐시 저장을 위해 Amazon SQS 및 Redis 등을 포함한 여러 대기열 백엔드에 걸쳐 통합 API를 제공합니다.
  • 간단한 인증 메커니즘을 지원합니다.
  • 실시간 이벤트 방송을 지원합니다.
  • 또한 데이터베이스에 구애받지 않는 마이그레이션 및 스키마 빌더를 지원합니다.
  • 백그라운드 작업 처리 등을 지원합니다.

시스템 요구 사항

최신 버전의 Laravel을 실행하려면 시스템이 다음 요구 사항을 충족해야 합니다.

  • OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype 및 JSON PHP 확장이 포함된 PHP >= 7.1.3.
  • Composer – PHP용 애플리케이션 수준 패키지 관리자입니다.

테스트 환경:

  1. LEMP 스택을 갖춘 CentOS 7

이 글에서는 CentOS, Red Hat, Fedora 시스템에 최신 버전의 Laravel 5.6 PHP Framework를 설치하는 방법을 설명합니다.

1단계: Yum 저장소 설정

1. 먼저 Linux 배포판에서 REMIEPEL 저장소를 활성화하여 업데이트된 패키지(PHP<, Nginx, MariaDB 등) 다음 명령을 사용하여

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

2단계: Nginx, MySQL, PHP 설치

2. 다음으로 시스템에 작동하는 LEMP 환경을 설치해야 합니다. 이미 작동 중인 LEMP 스택이 있는 경우 다음 명령을 사용하여 설치하지 않으면 이 단계를 건너뛸 수 있습니다.

Nginx 설치

yum install nginx        [On CentOS/RHEL]

3. nginx가 설치되면 웹 서버를 시작하고 시스템 부팅 시 웹 서버가 시작되도록 활성화한 후 다음 명령을 사용하여 상태를 확인합니다.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start nginx
systemctl enable nginx
systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
service nginx start  
chkconfig nginx on
service nginx status

4. 공용 네트워크에서 nginx에 액세스하려면 시스템 방화벽에서 포트 80를 열어 그림과 같이 외부 요청을 수신해야 합니다.

------------- On CentOS/RHEL 7.x -------------
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables restart

MySQL 설치

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

PHP 설치

yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. 다음으로 PHP-FPM 서비스를 시작하고 활성화한 후 실행 중인지 확인합니다.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
service php-fpm start  
chkconfig php-fpm on
service php-fpm status

3단계: Composer 및 Laravel PHP 프레임워크 설치

6. 이제 다음 명령을 사용하여 필수 Laravel 종속성을 설치하기 위해 Composer(PHP용 종속성 관리자)를 설치합니다.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

7. Composer를 설치한 후에는 다음과 같이 composer create-project 명령을 실행하여 Laravel을 설치할 수 있습니다. 다음과 같습니다.

cd /var/www/html/
sudo composer create-project --prefer-dist laravel/laravel testsite 

8. 이제 웹 문서 루트의 긴 목록을 작성하면 laravel 파일을 포함하는 testsite 디렉토리가 거기에 있어야 합니다.

ls -l /var/www/html/testsite

4단계: Laravel 설치 구성

9. 이제 다음 명령을 사용하여 testsite 디렉터리와 laravel 파일에 적절한 권한을 설정합니다.

chmod -R 775 /var/www/html/testsite
chown -R apache.apache /var/www/html/testsite
chmod -R 777 /var/www/html/testsite/storage/

10. 또한 SELinux를 활성화한 경우 다음 명령을 사용하여 저장소 및 부트스트랩/캐시 디렉터리의 보안 컨텍스트를 업데이트해야 합니다.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
restorecon -Rv '/usr/share/nginx/html/testapp'

11. 그런 다음 제공된 샘플 파일을 사용하여 애플리케이션에 대한 환경 파일을 만듭니다.

cp .env.example .env

12. 다음으로 Laravel은 애플리케이션 키를 사용하여 사용자 세션 및 기타 암호화된 데이터를 보호합니다. 따라서 다음 명령을 사용하여 애플리케이션 키를 임의의 문자열로 생성하고 설정해야 합니다.

php artisan key:generate

5단계: Laravel용 Nginx 서버 블록 구성

13. 이 단계에서는 웹 브라우저에서 액세스하려면 testsite에 대한 Nginx 서버 블록을 구성해야 합니다. 표시된 대로 /etc/nginx/conf.d/ 디렉터리 아래에 .conf 파일을 만듭니다.

vi /etc/nginx/conf.d/testsite.conf

그리고 여기에 다음 구성을 추가합니다(귀하의 환경에 적용 가능한 값을 사용하세요. 이 예에서는 더미 도메인이 testinglaravel.com입니다). laravel 색인 파일은 /var/www/html/testsite/public에 저장되어 있으며 이것이 사이트/애플리케이션의 루트가 됩니다.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/public;
	index       index.php;

	charset utf-8;
	gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript 	image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	
	location ~ \.php {
		include fastcgi.conf;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

파일을 저장하고 종료합니다. 그런 다음 최근 변경 사항을 적용하려면 웹 서버를 다시 시작하세요.

systemctl restart nginx

6단계: Laravel 웹사이트에 접속하세요

14. 다음으로, 완전히 등록된 도메인 이름이 없는 경우 /etc/hosts 파일을 사용하여 테스트 목적으로 로컬 DNS를 생성해야 합니다.

표시된 대로 /etc/hosts 파일에 다음 줄을 추가합니다(192.168.43.31testinglaravel.com 각각).

192.168.43.31  testinglaravel.com

15. 마지막으로 다음 URL을 사용하여 브라우저에서 Laravel 사이트에 액세스하세요.

http://testinglaravel.com
OR
http://your-ip-address

로컬에서 개발하는 경우 다음과 같이 PHP에 내장된 개발 서버를 사용하여 애플리케이션이나 사이트를 제공할 수 있습니다. 이 명령은 http://localhost:8000 또는 http://127.0.0.1:8000에서 개발 서버를 시작합니다. CentOS/REHL에서는 이러한 방식으로 애플리케이션을 제공하려면 방화벽에서 이 포트를 열어야 합니다.

php artisan serve

이제부터 준비가 완료되었으며 사이트 개발을 시작할 수 있습니다. 캐시, 데이터베이스, 세션 등 추가 구성을 보려면 Laravel 홈페이지를 방문하세요.

Laravel은 실용적이고 현대적인 웹 개발을 위한 표현력이 뛰어나고 아름다운 구문을 갖춘 PHP 프레임워크입니다. 설치하는 동안 모든 일이 순조롭게 진행되기를 바랍니다. 그렇지 않은 경우 아래 의견 양식을 사용하여 질문을 공유해 주세요.