웹사이트 검색

Fedora 29에서 Nginx와 함께 Pagekit CMS를 설치하는 방법


이 페이지에서

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

Pagekit은 Symfony 구성요소 및 Vue.js로 구축된 현대적이고 직관적이며 모듈식이며 유연한 오픈소스(MIT 라이선스) CMS입니다. 아름다운 웹사이트를 만들 수 있는 도구를 제공합니다. 그것은 풍부한 테마와 플러그인 시스템을 가지고 있습니다.

이 튜토리얼에서는 NGINX를 웹 서버로, MariaDB를 데이터베이스 서버로 사용하여 Fedora 29 운영 체제에서 Pagekit CMS 설치 프로세스를 안내하고 선택적으로 acme.sh 클라이언트 및 Lets Encrypt를 사용하여 전송 계층을 보호할 수 있습니다. SSL 지원을 추가하는 인증 기관.

요구 사항

Pagekit을 설치하려면 서버가 다음 요구 사항을 충족하는지 확인하십시오.

  • Apache 버전 2.2 이상 또는 NGINX 웹 서버.
  • MySQL 버전 5.1 이상 또는 SQLite 3.
  • PHP 버전 5.5.9 이상.
  • 필수 PHP 확장: JSON, Session, ctype, Tokenizer, SimpleXML, DOM, mbstring, PCRE 8.0+, MySQL 또는 SQLite 드라이버가 포함된 ZIP 및 PDO.\n
  • 옵션 PHP 확장: cURL, iconv 및 XML 파서, 캐싱을 위한 APC 또는 XCache.\n

전제 조건

  • Fedora 29를 실행하는 시스템.\n
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

Fedora 시스템 버전 확인:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

시간대 설정:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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

sudo dnf upgrade -y

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

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

1단계 - PHP 및 필요한 PHP 확장 설치

Pagekit CMS 플랫폼에는 PHP 버전 7.0 이상이 필요합니다. Fedora 29에는 기본 리포지토리에 PHP 7.2 버전이 포함되어 있습니다.

PHP 및 필요한 PHP 확장을 다운로드하고 설치합니다.

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-mysqlnd php-sqlite3 php-curl php-xml php-json

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version

# PHP 7.2.14 (cli) (built: Jan  8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM 서비스 시작 및 활성화:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

다음 단계인 데이터베이스 설치 및 설정으로 넘어갈 수 있습니다.

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

Pagekit CMS는 MySQL, MariaDB 및 SQLite 데이터베이스를 지원합니다. 이 튜토리얼에서는 MariaDB를 데이터베이스 서버로 사용합니다.

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

sudo dnf install -y mariadb-server

MariaDB 버전을 확인합니다.

mysql --version

MariaDB 서비스 시작 및 활성화:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

mysql_secure 설치 스크립트를 실행하여 MariaDB 보안을 개선하고 MariaDB 루트 사용자의 비밀번호를 설정합니다.

sudo mysql_secure_installation

각 질문에 답하십시오.

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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

Pagekit 설치에 사용할 MariaDB 데이터베이스 및 사용자를 생성하고 자격 증명을 기억하십시오.

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

MariaDB 셸에서 종료합니다.

quit

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

HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 SSL 인증서를 얻기 위해 Acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 SSL 인증서를 얻기 위한 순수 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.1

도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서를 얻습니다.

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

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

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

acme.sh --list

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

mkdir -p /etc/letsencrypt/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"

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

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

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

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

exit

4단계 - NGINX 설치 및 Pagekit용 NGINX 구성

NGINX 웹 서버 설치:

sudo dnf install -y nginx

NGINX 버전 확인:

nginx -v
# nginx version: nginx/1.14.1

Nginx 서비스 시작 및 사용 설정:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

다음을 실행하여 Pagekit용 NGINX를 구성합니다.

sudo vim /etc/nginx/conf.d/pagekit.conf

그리고 다음 구성으로 파일을 채웁니다.

server {
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; index index.php index.html; root /var/www/pagekit;
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 / { try_files $uri $uri/ /index.php?$query_string; }

location ~ \.php$ {
include default.d/php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
} }

NGINX 구성에서 구문 오류를 확인하세요.

sudo nginx -t

NGINX 서비스 다시 로드:

sudo systemctl reload nginx.service

5단계 - Pagekit CMS 다운로드 및 설치

Pagekit이 상주해야 하는 문서 루트 디렉토리를 생성합니다.

sudo mkdir -p /var/www/pagekit

/var/www/pagekit 디렉토리의 소유권을 [your_user]:로 변경합니다.

sudo chown -R [your_user]:[your_user] /var/www/pagekit

문서 루트로 이동:

cd /var/www/pagekit

wget을 통해 Pagekit CMS의 최신 안정 버전을 다운로드합니다.

wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip

Pagekit CMS 콘텐츠의 압축을 풀고 다운로드한 .zip 파일을 제거합니다.

unzip pagekit-1.0.16.zip
rm pagekit-1.0.16.zip

적절한 소유권을 제공합니다.

sudo chown -R nginx:nginx /var/www/pagekit

sudo vim /etc/php-fpm.d/www.conf를 실행하고 사용자 및 그룹을 nginx로 설정합니다. 처음에는 apache:로 설정됩니다.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

PHP-FPM 서비스를 다시 시작합니다.

sudo systemctl restart php-fpm.service

6단계 - Pagekit 설정 완료

웹 브라우저에서 사이트를 열면 다음 페이지가 표시됩니다.

설치를 계속하려면 오른쪽 화살표 아이콘을 클릭하세요. 언어를 선택하고 "다음" 버튼을 클릭하십시오:

다음으로 SQLite 또는 MySQL 중에서 데이터베이스를 선택하고 필수 필드를 채우고 "다음" 버튼을 클릭합니다.

그런 다음 사이트 제목을 입력하고 관리 사용자 계정을 만들어 사이트를 설정합니다.

그게 다야. Pagekit 로그인 페이지로 리디렉션됩니다. Pagekit 대시보드에 로그인하려면 사용자 이름과 암호를 제공하십시오.

그게 다야. 막히면 공식 Pagekit 문서를 확인하세요.

연결

  • https://pagekit.com/
  • https://github.com/pagekit/pagekit