웹사이트 검색

Fedora 29에 Bolt CMS를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - PHP 및 필요한 PHP 확장 설치\n
  5. Bolt CMS용 데이터베이스 만들기
  6. 3단계 - acme.sh 클라이언트 설치 및 Let\>)
  7. 4단계 - NGINX 설치 및 Bolt CMS용 NGINX 구성
  8. 5단계 - Bolt CMS 설치
  9. 6단계 - Bolt CMS 설치 및 설정 완료
  10. 링크

Bolt는 PHP로 구축된 정교하고 가볍고 단순한 CMS입니다. 오픈 소스 MIT 라이선스에 따라 출시되며 소스 코드는 Github의 공개 저장소로 호스팅됩니다. Bolt는 콘텐츠 관리를 위한 도구로 가능한 한 간단하고 직관적이도록 노력합니다. 설정이 빠르고 구성이 쉬우며 우아한 템플릿을 사용합니다. Bolt는 최신 오픈 소스 라이브러리를 사용하여 생성되며 최신 마크업을 사용하여 HTML5로 사이트를 구축하는 데 가장 적합합니다. 이 튜토리얼에서는 Nginx를 웹 서버로, MariaDB를 데이터베이스 서버로 사용하여 Fedora 29 시스템에 Bolt CMS를 설치하는 방법을 살펴보고 선택적으로 acme.sh 클라이언트를 사용하여 전송 계층을 보호하고 Lets Encrypt 인증 기관을 추가할 수 있습니다. SSL 지원.

요구 사항

Bolt의 시스템 요구 사항은 적당하며 최신 웹 서버에서 실행되어야 합니다.

  • pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip과 같은 공통 PHP 확장자가 있는 PHP 버전 5.5.9 이상.\n
  • SQLite(PHP와 함께 제공됨), 또는 MySQL 또는 PostgreSQL에 대한 액세스.\n
  • mod_rewrite가 활성화된 Apache(.htaccess 파일) 또는 Nginx(아래에서 다루는 가상 호스트 구성).\n
  • PHP에 최소 32MB의 메모리가 할당되었습니다.\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 check-update; sudo dnf update -y

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

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

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

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

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-pgsql php-sqlite3 php-curl php-gd php-mysqlnd php-intl php-json php-opcache php-xml php-process

모듈로 컴파일된 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 설치 및 Bolt CMS용 데이터베이스 생성

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

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

sudo dnf install -y mariadb-server

MariaDB 버전 확인:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1

MariaDB 서비스 시작 및 활성화:

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

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

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

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

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

MariaDB에서 종료:

MariaDB> exit

dbname, usernamepassword를 자신의 이름으로 바꾸세요.

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

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

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 인증서 받기:<br>

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

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

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

  • 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 설치 및 Bolt CMS용 NGINX 구성

Bolt CMS는 널리 사용되는 많은 웹 서버 소프트웨어와 잘 작동합니다. 이 튜토리얼에서는 Nginx를 선택했습니다. Nginx보다 Apache 웹 서버를 선호하는 경우 https://docs.bolt.cm/3.6/installation/webserver/apache에서 자세한 내용을 확인하세요.

Fedora 저장소에서 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

다음을 실행하여 Bolt CMS용 Nginx를 구성합니다.

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

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

server {

listen 80;
listen 443 ssl http2;
server_name example.com;
root /var/www/bolt/public;
index index.php;

# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
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 = /bolt {
try_files $uri /index.php?$query_string;
}

location ^~ /bolt/ {
try_files $uri /index.php?$query_string;
}

location ~ /index.php/(.*) {
rewrite ^/index.php/(.*) /$1 permanent;
}

location ~ /\. { deny all; }
location ~ /\.(htaccess|htpasswd)$ { deny all; }
location ~ /\.(?:db)$ { deny all; }
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml)$ { deny all; }

location ~ [^/]\.php(/|$) {
include default.d/php.conf;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_param HTTPS $https if_not_empty;
fastcgi_pass unix:/run/php-fpm/www.sock;
}

}

참고: Bolt CMS를 위한 완전한 프로덕션 준비 Nginx 구성은 https://docs.bolt.cm/3.6/installation/webserver/nginx를 확인하세요.

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

sudo nginx -t

Nginx 서비스 다시 로드:

sudo systemctl reload nginx.service

5단계 - Bolt CMS 설치

/var/www 디렉토리 만들기:

sudo mkdir -p /var/www/

/var/www 디렉토리로 이동합니다.

cd /var/www/

wget을 통해 최신 릴리스 Bolt CMS를 다운로드하고 압축을 풉니다.

sudo wget https://bolt.cm/distribution/bolt-latest.zip && sudo unzip bolt-latest.zip

다운로드한 bolt-latest.zip 파일을 제거합니다.

sudo rm bolt-latest.zip

Bolt-v3.6.4 디렉터리의 이름을 just bolt로 바꿉니다.

sudo mv bolt-v3.6.4 bolt

디렉토리를 문서 루트로 변경합니다.

cd /var/www/bolt

설치를 완료하려면 다음 파일의 이름을 바꿔야 합니다.

sudo mv .bolt.yml.dist .bolt.yml
sudo mv composer.json.dist composer.json
sudo mv composer.lock.dist composer.lock
sudo mv src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.php

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

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

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

웹 브라우저에서 Bolt CMS를 업로드한 폴더로 이동하고 화면의 안내를 따릅니다.

6단계 - Bolt CMS 설치 및 설정 완료

웹 브라우저에서 사이트를 연 후 다음 페이지로 리디렉션되어야 합니다.

사용자를 만드는 데 필요한 정보를 입력하고 "첫 번째 사용자 만들기" 버튼을 클릭하여 계속 진행합니다. 그런 다음 Bolt CMS 관리 인터페이스가 표시되어야 합니다.

볼트 CMS 설치가 완료되었습니다. Bolt CMS 관리자에 액세스하려면 사이트 IP 또는 도메인에 /bolt를 추가하세요.

연결

  • https://bolt.cm/
  • https://github.com/bolt/bolt