웹사이트 검색

Debian 9에서 NGINX와 함께 Fork CMS를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - PHP 및 PHP 확장 설치\n
  5. 2단계 - MariaDB 설치 및 Fork CMS용 데이터베이스 만들기
  6. 3단계 - Acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 받기(선택사항)\n
  7. 4단계 - NGINX 설치 및 구성
  8. 5단계 - Composer 설치
  9. 6단계 - Fork CMS 설치
  10. 7단계 - Fork CMS 설정 완료
  11. 링크

Fork는 Symfony 구성 요소를 사용하는 사용하기 쉬운 오픈 소스 CMS입니다. 직관적이고 사용자 친화적인 인터페이스, 사이트를 확장하기 위해 다운로드할 수 있는 강력한 앱, 다양한 아름다운 테마 모음이 있습니다. 이 튜토리얼에서는 Nginx를 웹 서버로, MariaDB를 데이터베이스 엔진으로 사용하여 Debian 9 시스템에서 Fork CMS 설치 및 설정을 진행하고 선택적으로 Acme.sh 클라이언트 및 Lets Encrypt 인증서를 사용하여 전송 계층을 보호할 수 있습니다. SSL 지원을 추가하는 권한.

요구 사항

Fork CMS를 설치하고 실행하기 위한 요구 사항은 다음과 같습니다.

  • PHP 버전 7.1 이상.
  • cURL, libxml, DOM, SimpleXML, SPL, PDO(MySQL 드라이버 포함), mb_string, iconv, GD2 그래픽 라이브러리, JSON, PCRE, intl과 같은 PHP 확장을 설치하고 활성화해야 합니다.\n
  • MySQL 5.0 이상.
  • .htaccess, mod_rewrite, mod_expires가 포함된 NGINX 또는 Apache(선택사항이지만 권장됨), mod_deflate(선택사항) ) 활성화.\n

전제 조건

  • Debian 9를 실행하는 운영 체제.\n
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

데비안 버전 확인:

lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)

시간대 설정:

dpkg-reconfigure tzdata

운영 체제 패키지(소프트웨어)를 업데이트합니다. 이는 운영 체제 기본 소프트웨어 패키지에 대한 최신 업데이트 및 보안 수정 사항이 있는지 확인하기 때문에 중요한 첫 번째 단계입니다.

apt update && apt upgrade -y

Debian 운영 체제의 기본 관리에 필요한 몇 가지 필수 패키지를 설치합니다.

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

1단계 - PHP 및 PHP 확장 설치

데비안은 기본 소프트웨어 저장소에 최신 PHP 버전을 제공하지 않습니다. 타사 리포지토리를 유지 관리하는 커뮤니티를 추가해야 합니다.

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

PHP와 Fork CMS에 필요한 PHP 확장을 설치합니다.

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.0-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-opcache php7.2-intl

모듈로 컴파일된 PHP를 표시하려면 다음을 실행할 수 있습니다.

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version
# PHP 7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b (cli) (built: May 31 2019 11:26:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM 서비스는 Debian 9 시스템에서 재부팅 시 자동으로 시작되고 활성화되므로 수동으로 시작하고 활성화할 필요가 없습니다. 다음 단계인 데이터베이스 설치 및 설정으로 넘어갈 수 있습니다.

2단계 - MariaDB 설치 및 Fork CMS용 데이터베이스 만들기

MariaDB 데이터베이스 서버 설치:

sudo apt install -y mariadb-server

MariaDB 버전을 확인합니다.

mysql --version
# mysql Ver 15.1 Distrib 10.1.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

mysql_secure 설치 스크립트를 실행하여 MariaDB 보안을 개선하고 MariaDB 루트 사용자의 암호를 설정하십시오:

sudo mysql_secure_installation

각 질문에 답하십시오.

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

루트 사용자로 MariaDB 셸에 연결합니다.

sudo mysql -u root -p
# Enter password

Fork CMS용 빈 MariaDB 데이터베이스 및 사용자를 만들고 사용자 인증 정보를 기억하세요.

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'mypassword';
mysql> FLUSH PRIVILEGES;

mypassword라는 단어를 선택한 보안 암호로 바꾸십시오. MariaDB에서 종료:

mysql> exit

dbname, username 및 password를 자신의 이름으로 바꾸십시오.

3단계 - Acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 받기(선택사항)

HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 SSL 인증서를 얻기 위해 Acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 TLS 인증서를 얻기 위한 순수 Unix 셸 소프트웨어입니다.

acme.sh 다운로드 및 설치:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail
source ~/.bashrc
cd ~

acme.sh 버전 확인:

acme.sh --version
# v2.8.2

도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서 받기:<br>

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

테스트를 위해 가짜 인증서를 원하는 경우 위의 명령에 --staging 플래그를 추가할 수 있습니다.

위의 명령을 실행하면 인증서가 다음 위치에 있게 됩니다.

  • RSA의 경우: /home/username/example.com 디렉토리
  • ECC/ECDSA의 경우: /home/username/example.com_ecc 디렉토리

발급된 인증서를 나열하려면 다음을 실행할 수 있습니다.

acme.sh --list

인증서를 저장할 디렉터리를 만듭니다. 우리는 /etc/letsencrypt. 디렉토리를 사용할 것입니다.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

인증서를 /etc/letsencrypt 디렉토리에 설치/복사합니다.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

모든 인증서는 60일마다 자동으로 갱신됩니다.

인증서를 얻은 후 루트 사용자에서 종료하고 일반 sudo 사용자로 돌아갑니다.

exit

4단계 - NGINX 설치 및 구성

NGINX 웹 서버를 설치합니다.

sudo apt install -y nginx

NGINX 버전 확인:

sudo nginx -v
# nginx version: nginx/1.10.3

Fork CMS용 NGINX를 구성합니다. sudo vim /etc/nginx/sites-available/fork.conf를 실행하고 다음 구성을 추가합니다.

server {
    listen 80;
    listen 443 ssl;
root /var/www/fork; index index.php index.html; server_name example.com;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key; location / { # Checks whether the requested url exists as a file $uri or directory $uri/ in the root, else redirect to /index.php. try_files $uri $uri/ @redirects; } location @redirects { rewrite ^ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_read_timeout 60; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # Don't pollute the logs with common requests location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # As Fork CMS has the app_root as doc_root, we need to restrict access to a few things for security purposes! location ~* ^/(composer\..*|vendor\/.*|Procfile$|\.git\/.*|src\/Console.*|.*\.gitignore|\.editorconfig|\.travis.yml|autoload\.php|bower\.json|phpunit\.xml\.dist|.*\.md|app\/logs\/.*|app\/config\/.*|src\/Frontend\/Cache\/CompiledTemplates.*|src\/Frontend\/Cache\/Locale\/.*\.php|src\/Frontend\/Cache\/Navigation\/.*\.php|src\/Frontend\/Cache\/Search\/.*|src\/Backend\/Cache\/CompiledTemplates\/.*|src\/Backend\/Cache\/Locale\/.*\.php)$ { deny all; access_log off; log_not_found off; } # Deny access to dot-files. location ~ /\. { deny all; access_log off; log_not_found off; } }

파일을 sites-enabled 디렉토리에 연결하여 새 fork.conf 구성을 활성화합니다.

sudo ln -s /etc/nginx/sites-available/fork.conf /etc/nginx/sites-enabled

구문 오류에 대한 NGINX 구성을 확인하십시오.

sudo nginx -t

NGINX 서비스 다시 로드:

sudo systemctl reload nginx.service

5단계 - Composer 설치

PHP 종속성 관리자인 Composer를 전역적으로 설치합니다.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Composer 버전 확인:

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

6단계 - Fork CMS 설치

문서 루트 디렉터리를 만듭니다.

sudo mkdir -p /var/www/fork

/var/www/fork 디렉토리의 소유권을 현재 로그인한 사용자로 변경합니다. 제 경우 이 사용자 이름은 johndoe입니다.

sudo chown -R johndoe:johndoe /var/www/fork

위 명령에서 johndoe를 로그인 사용자 이름으로 바꾸세요! 명령줄에서 Fork CMS의 최신 안정 릴리스를 다운로드합니다.

cd /var/www/fork
composer create-project forkcms/forkcms .

/var/www/fork 디렉토리의 소유권을 www-data로 변경합니다.

sudo chown -R www-data:www-data /var/www/fork

app/config/parameters.yml.dist 파일을 편집하고 데이터베이스 정보를 설정합니다.

sudo vim /var/www/fork/app/config/parameters_install.yml

선호하는 웹 브라우저를 사용하여 사이트를 열고 Fork CMS 설치 프로그램을 따릅니다. 설치 프로그램을 따른 후 Fork를 시작하고 실행해야 합니다. Fork 관리 영역에 액세스하려면 사이트 URL에 /private를 추가하기만 하면 됩니다.

7단계 - Fork CMS 설정 완료

서버가 모든 요구 사항을 충족하는지 확인하고 계속합니다.

언어를 선택하고 다음을 클릭합니다.

원하는 대로 설정을 선택하고 다음을 클릭합니다.

데이터베이스 설정을 입력하고 다음을 클릭합니다. 데이터베이스를 이미 생성했는지 확인하십시오.

사용자 생성 및 설치 완료:

위의 모든 단계를 완료하면 다음 페이지가 표시됩니다.

Fork CMS를 성공적으로 설치했습니다. 새로운 CMS를 즐기세요!

연결

  • https://www.fork-cms.com/
  • https://github.com/forkcms/forkcms


판권 소유. © Linux-Console.net • 2019-2024