웹사이트 검색

Ubuntu 16.04에서 Nginx와 함께 Grav CMS를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 우리가 할 일:\n
  3. 1단계 - Nginx 웹 서버 설치
  4. 2단계 - PHP-FPM 설치 및 구성
  5. 3단계 - PHP Composer 설치
  6. 4단계 - Grav 다운로드 및 설치
  7. 5단계 - Grav 가상 호스트 구성\n
  8. 6단계 - 테스트
  9. 참조

Grav는 데이터베이스가 필요 없는 최신 웹 애플리케이션입니다. 간단하고 빠르며 설치가 필요 없는 파일 기반 웹 플랫폼입니다. Grav는 템플릿 작성을 위한 Twig Templating, 콘텐츠 생성을 위한 Markdown, 간단한 구성을 위한 YAML, 성능 계층을 위한 Parsedown 및 Doctrine 캐시 등의 최신 기술을 사용합니다. 이 도구는 PHP로 작성되었으며 강력한 패키지 관리 시스템과 함께 제공됩니다. Grav 자체, 테마 및 플러그인 설치 및 업그레이드를 포함한 Grav 시스템.

이 튜토리얼에서는 Ubuntu 16.04에서 Grav CMS를 설치하고 구성하는 방법을 단계별로 보여줍니다. Grav는 PHP 웹 애플리케이션 기반이므로 시스템에 PHP를 설치해야 하며 더 많은 성능을 얻으려면 Nginx 웹 브라우저와 함께 PHP-FPM을 사용할 것입니다.

전제 조건

  • 우분투 16.04
  • 루트 권한\n

우리가 할 일:

  1. Nginx 설치
  2. PHP-FPM 설치 및 구성
  3. PHP 작성기 설치
  4. Grav CMS 다운로드 및 설치
  5. Grav용 Nginx 가상 호스트 구성\n
  6. 테스트

1단계 - Nginx 웹 서버 설치

이 첫 번째 단계에서는 Ubuntu 리포지토리에서 Nginx 웹 서버를 설치합니다. 그 전에 다음 apt 명령을 사용하여 모든 패키지와 저장소를 업데이트해야 합니다.

sudo apt update
sudo apt upgrade

이제 Nginx 웹 서버를 설치합니다.

sudo apt install nginx -y

설치가 완료되면 서비스를 시작하고 시스템 부팅 시 시작되도록 활성화합니다. 이는 다음 systemctl 명령을 사용하여 수행할 수 있습니다.

systemctl start nginx
systemctl enable nginx

Nginx 웹 서버는 Ubuntu 16.04에 설치되었으며 기본 HTTP 포트 80에서 실행됩니다. 다음과 같은 방법으로 netstat 명령을 사용하여 확인하십시오.

netstat -plntu

그러면 아래와 같은 결과를 얻을 수 있습니다.

2단계 - PHP-FPM 설치 및 구성

이제 Grav 설치를 위해 PHP-FPM을 설치하고 구성합니다. 다음 명령을 사용하여 PHP 및 PHP-FPM 패키지(필요한 모든 확장 포함)를 설치합니다.

sudo apt install -y php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml php7.0-zip

이제 PHP-FPM을 구성해야 합니다.

- 추가 확장 프로그램 설치

이것은 선택 사항이지만 Grav 성능에 가장 적합합니다. PECL 명령을 사용하여 PHP 확장 리포지토리에서 수동으로 일부 추가 확장을 설치합니다.

아래의 pecl 명령을 사용하여 apcu 확장(캐시 성능 향상을 위해)을 설치합니다.

sudo pecl install apcu

이제 /etc/php/7.0/mods-available/ 디렉토리에 새로운 확장 구성 apcu.ini를 만듭니다.

sudo vim /etc/php/7.0/mods-available/apcu.ini

다음 구성을 거기에 붙여넣으십시오.

extension=apcu.so

저장 및 종료.

그런 다음 아래 명령을 사용하여 확장을 활성화하십시오.

sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/20-apcu.ini

이제 Grav 성능을 더욱 향상시키기 위해 YAML 확장을 설치합니다. 그러나 확장을 설치하기 전에 다음 apt 명령을 사용하여 일부 패키지를 설치해야 합니다.

sudo apt install libyaml-dev unzip -y

다음으로 pecl 명령을 사용하여 yaml 확장을 설치합니다.

sudo pecl install yaml-2.0.0

설치가 완료되면 새 yaml.ini 구성 파일을 생성합니다.

sudo vim /etc/php/7.0/mods-available/yaml.ini

다음 구성을 거기에 붙여넣으십시오.

extension=yaml.so

저장 및 종료.

이제 YAML 확장을 활성화합니다.

sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/cli/conf.d/20-yaml.ini

Grav를 위한 새로운 추가 PHP 확장이 추가되었습니다.

- Grav용 PHP-FPM 풀 구성

새 PHP-FPM 풀 구성을 만들기 전에 grav라는 새 사용자를 시스템에 추가해야 합니다. 이는 useradd 명령을 사용하여 수행할 수 있습니다.

useradd -m -s /bin/bash grav
passwd grav

이제 /etc/php/7.0/fpm/pool.d 디렉토리로 이동하여 기본 www.conf 구성을 백업하십시오.

cd /etc/php/7.0/fpm/pool.d/
mv www.conf www.conf.bak

다음으로 Grav에 대한 새로운 PHP-FPM 풀 구성(grav.conf)을 만듭니다.

vim grav.conf

다음 구성을 거기에 붙여넣으십시오.

[grav]

user = grav
group = grav

listen = /run/php/php7.0-fpm.sock

listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

chdir = /

저장 및 종료.

PHP-FPM 서비스를 다시 시작하고 시스템 부팅 시 실행되도록 활성화합니다.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

이제 PHP-FPM이 php7.0-fpm.sock 파일에서 실행 중입니다. 다음과 같은 방법으로 netstat 명령을 사용하여 확인하십시오.

netstat -pl | grep php

그리고 아래와 같은 결과를 얻어야 합니다.

메모:

apcu 및 yaml 확장을 확인하려면 다음 php 명령을 사용할 수 있습니다.

sudo php -m | grep apcu
sudo php -m | grep yaml

PHP-FPM 설치 및 구성이 완료되었습니다.

3단계 - PHP Composer 설치

Composer는 PHP용 애플리케이션 수준 패키지 관리자입니다. PHP 종속성을 관리하는 데 사용됩니다.

다음 명령을 사용하여 PHP Composer를 설치합니다.

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

설치가 완료되면 다음과 같은 방법으로 작성기 명령을 실행해 보십시오.

composer --version

PHP Composer가 설치되었습니다.

4단계 - Grav 다운로드 및 설치

우리는 grav 사용자로 도구를 설치하고 실행할 것입니다. 사용자는 이전 단계 중 하나에서 생성되었습니다.

먼저 grav 사용자로 로그인합니다.

su - grav

이제 새 www 디렉토리를 만듭니다.

mkdir -p ~/www
cd ~/www

wget을 사용하여 최신 grav 버전을 다운로드하고 파일 이름에 .zip 확장자를 추가합니다.

wget https://getgrav.org/download/core/grav/latest
mv latest latest.zip

latest.zip 파일을 추출하고 grav 디렉토리의 이름을 html로 바꿉니다.

unzip latest.zip
mv grav/ html/

이제 루트 권한으로 돌아가서 그룹 소유자를 www-data로 변경하십시오.

exit
cd /home/grav/www
sudo chown -R grav:www-data html/

Grav는 이제 grav 사용자가 /home/grav/www/html 디렉토리에 다운로드하여 설치합니다.

5단계 - Grav 가상 호스트 구성

이 단계에서는 Grav용 Nginx 가상 호스트를 구성합니다. 사이트 사용 가능 디렉터리 내에 grav라는 새 가상 호스트 파일을 생성한 다음 Grav 가상 호스트를 활성화합니다.

/etc/nginx 구성 디렉토리로 이동하고 vim 편집기를 사용하여 새 파일 grav를 만듭니다.

cd /etc/nginx
vim sites-available/grav

다음 Grav Nginx 가상 호스트 구성을 거기에 붙여넣으십시오.

server {
    ## Define Index
    #listen 80;
    index index.html index.php;

    ## Web root and Domain Name
    root /home/grav/www/html;
    server_name grav.hakase-labs.co;

    ## Begin - Index
    # for subfolders, simply adjust the rewrite:
    # to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    ## End - Index

    ## Begin - PHP-FPM Configuration
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(.git|cache|bin|logs|backups)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
    ## End - Security
}

저장 및 종료.

다음으로 가상 호스트를 활성화하고 nginx 구성을 테스트합니다.

ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/
nginx -t

참고: 구성을 테스트한 후 Nginx 오류가 없는지 확인하십시오.

이제 Nginx 및 PHP-FPM 서비스를 다시 시작하십시오.

systemctl restart nginx
systemctl restart php7.0-fpm

Nginx Grav 가상 호스트에 대한 구성이 완료되었습니다.

6단계 - 테스트

웹 브라우저를 열고 Grav 사이트 도메인 이름을 입력하세요. 제 주소는 http://grav.hakase-labs.co/입니다.

그러면 아래와 같이 기본 Grav 홈페이지가 표시됩니다.

Ubuntu 16.04에서 PHP-FPM 및 Nginx 웹 서버를 사용한 Grav Flat CMS 설치가 성공적으로 완료되었습니다.

참조

  • https://learn.getgrav.org/