Debian 9에 Pagekit CMS를 설치하는 방법
이 페이지에서
- 요구 사항\n
- 전제 조건
- 초기 단계
- 1단계 - PHP 및 필요한 PHP 확장 설치\n
- 2단계 - MariaDB를 설치하고 Pagekit용 데이터베이스 만들기\n
- 3단계 - Acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
- 4단계 - NGINX 설치 및 Pagekit용 NGINX 구성
- 5단계 - Pagekit CMS 다운로드 및 설치
- 6단계 - Pagekit 설정 완료
- 링크
Pagekit은 Symfony 구성요소 및 Vue.js로 구축된 현대적이고 직관적이며 모듈식이며 유연한 오픈소스(MIT 라이선스) CMS입니다. 아름다운 웹사이트를 만들 수 있는 도구를 제공합니다. 그것은 풍부한 테마와 플러그인 생태계를 가지고 있습니다.
이 가이드에서는 NGINX를 웹 서버로, MariaDB를 데이터베이스 서버로 사용하여 Debian 9(스트레치) 운영 체제에서 Pagekit CMS 설치 프로세스를 안내하고 선택적으로 acme.sh 클라이언트를 사용하여 전송 계층을 보호할 수 있습니다. 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
전제 조건
- Debian 9(stretch)를 실행하는 시스템.\n
- sudo 권한이 있는 루트가 아닌 사용자.\n
초기 단계
Debian 시스템 버전 확인:
lsb_release -ds
# Debian GNU/Linux 9.7 (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 확장 설치
Pagekit CMS 플랫폼에는 PHP 버전 7.0 이상이 필요합니다. 기본적으로 Debian 9의 기본 소프트웨어 리포지토리에는 PHP 버전 7.0이 있으며 이는 10월 CMS에 적합합니다.
PHP 7.0 및 필수 PHP 확장을 다운로드하고 설치합니다.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mbstring php7.0-zip php7.0-mysql php7.0-sqlite3 php7.0-curl php7.0-xml
모듈로 컴파일된 PHP를 표시하려면 다음을 실행할 수 있습니다.
php -m
ctype
curl
exif
fileinfo
. . .
. . .
PHP 버전 확인:
php --version
# PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
PHP-FPM 서비스는 Debian 9 시스템에서 재부팅 시 자동으로 시작되고 활성화되므로 수동으로 시작하고 활성화할 필요가 없습니다. 다음 단계인 데이터베이스 설치 및 설정으로 넘어갈 수 있습니다.
2단계 - MariaDB 설치 및 Pagekit용 데이터베이스 만들기
Pagekit CMS는 MySQL, MariaDB 및 SQLite 데이터베이스를 지원합니다. Debian 팀은 MySQL을 Debian 9(stretch)의 기본 데이터베이스인 MariaDB로 교체했으므로 이 가이드에서는 MariaDB를 데이터베이스 서버로 사용합니다. 원본 MySQL을 설치하려면 Oracle에서 관리하는 공식 MySQL 저장소를 추가하여 사용할 수 있습니다.
공식 MariaDB 저장소에서 MariaDB 버전 10.2 데이터베이스 서버를 설치합니다.
sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server
참고: 루트 사용자 암호를 묻는 메시지가 나타납니다. 강력한 비밀번호를 입력하고 계속하세요.
MariaDB 버전을 확인합니다.
mysql --version
# mysql Ver 15.1 Distrib 10.2.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
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 apt install -y nginx
NGINX 버전 확인:
sudo nginx -v
# nginx version: nginx/1.10.3
다음을 실행하여 Pagekit용 NGINX를 구성합니다.
sudo vim /etc/nginx/sites-available/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 snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
파일을 sites-enabled
디렉토리에 연결하여 새로운 pagekit.conf
구성을 활성화합니다.
sudo ln -s /etc/nginx/sites-available/pagekit.conf /etc/nginx/sites-enabled
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
/var/www/pagekit
디렉토리의 소유권을 www-data
로 변경합니다.
sudo chown -R www-data:www-data /var/www/pagekit
6단계 - Pagekit 설정 완료
웹 브라우저에서 사이트를 열면 다음 페이지가 표시됩니다.
설치를 계속하려면 오른쪽 화살표 아이콘을 클릭하세요. 언어를 선택하고 "다음" 버튼을 클릭하십시오:
다음으로 SQLite 또는 MySQL 데이터베이스를 선택하고 필수 필드를 채우고 "다음" 버튼을 클릭합니다.
그런 다음 사이트 제목을 입력하고 관리 사용자 계정을 생성하여 사이트를 설정합니다.
그게 다야. Pagekit 로그인 페이지로 리디렉션됩니다. Pagekit 대시보드에 로그인하려면 사용자 이름과 암호를 입력하십시오.
그게 다야. 막히면 공식 Pagekit 문서를 확인하세요.
연결
- https://pagekit.com/
- https://github.com/pagekit/pagekit