웹사이트 검색

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


이 페이지에서

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

Anchor는 PHP로 작성된 가벼운 오픈소스 블로그 CMS입니다. 앵커 소스 코드는 GitHub에서 호스팅됩니다. 이 튜토리얼에서는 PHP, Nginx, MariaDB 및 Composer를 사용하여 Fedora 29 시스템에 Anchor CMS를 설치합니다.

요구 사항

시스템이 다음 요구사항을 충족하는지 확인하세요.

  • MySQL 5.6 이상(MySQL 5.7 권장).
  • 다음 PHP 확장이 있는 PHP 5.6 이상: (curl, mcrypt, gd, mbstring, pdo_mysql 또는 pdo_sqlite).
  • Apache 또는 Nginx. 이 튜토리얼에서는 Nginx를 사용합니다.\n

전제 조건

  • Fedora 29 운영 체제.
  • 루트가 아닌 sudo 권한을 가진 사용자.\n

초기 단계

Fedora 시스템 버전 확인:

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

시간대 설정:

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

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

sudo dnf check-upgrade || sudo dnf upgrade -y

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

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

1단계 - PHP 설치

Anchor CMS에는 PHP 버전 5.6 이상이 필요합니다.

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

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-mysql php-sqlite3 php-gd php-mcrypt php-dom

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version

# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

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

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

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

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

Anchor는 MySQL/MariaDB 및 SQLite 데이터베이스를 지원합니다. 이 가이드에서는 MariaDB를 데이터베이스 서버로 사용합니다.

MariaDB를 설치합니다.

sudo dnf install -y mariadb-server

MariaDB 버전을 확인합니다.

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

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):
Set root password? [Y/n]: Y
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 셸에 로그인합니다.

mysql -u root -p
# Enter password

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

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

MariaDB 셸에서 종료합니다.

quit

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

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

HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 TLS 인증서를 얻기 위해 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.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 플래그를 추가할 수 있습니다.

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

  • 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 dnf install -y nginx

NGINX 버전 확인:

nginx -v
# nginx version: nginx/1.14.2

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

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

sudo vim /etc/nginx/conf.d/anchor.conf를 실행하고 다음 구성으로 파일을 채웁니다.

server {
    listen 80;
listen 443 ssl;

ssl_certificate /etc/letsencrypt/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com/private.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/private.key; server_name example.com; root /var/www/anchor; index index.php index.html; location / { try_files $uri $uri/ /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_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

NGINX 구성 테스트:

sudo nginx -t

NGINX 새로고침:

sudo systemctl reload nginx.service

5단계 - Composer 다운로드 및 설치

Anchor를 성공적으로 설치하려면 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.4 2019-02-11 10:52:10

6단계 - Anchor CMS 다운로드 및 설치

Anchor가 있어야 할 문서 루트 디렉터리를 만듭니다.

sudo mkdir -p /var/www/anchor

/var/www/limesurvey 디렉토리의 소유권을 {jour_user}:로 변경합니다.

sudo chown -R {your_user}:{your_user} /var/www/anchor

참고: {jour_user}를 처음 생성한 루트가 아닌 사용자 이름으로 바꿉니다.

문서 루트 디렉토리로 이동합니다.

cd /var/www/anchor

Composer를 사용하여 Anchor CMS의 최신 릴리스를 다운로드합니다.

composer create-project anchorcms/anchor-cms .

/var/www/anchor 디렉토리의 소유권을 nginx:로 변경합니다.

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

디렉토리/var/lib/php/session를 만들고 소유권을 nginx로 설정합니다.

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php

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

7단계 - Anchor CMS 설정 완료

웹 브라우저를 열고 URL "http://example.com"을 입력합니다. 다음 페이지로 리디렉션됩니다.

Anchor CMS 웹 설치 프로그램을 시작하려면 "설치 프로그램 실행" 버튼을 클릭하세요. 그러면 언어 및 시간대 페이지가 나타납니다.

원하는 설정을 선택하고 "다음 단계" 버튼을 클릭하여 데이터베이스 구성 페이지로 이동합니다.

데이터베이스 세부정보를 입력하고 "다음 단계" 버튼을 클릭하여 사이트 메타데이터 구성 페이지로 이동합니다.

여기에서 사이트 이름 또는 사이트 설명을 설정하거나 기본값을 그대로 두고 나중에 Anchor 백엔드 인터페이스를 통해 변경할 수 있습니다. 첫 번째 계정을 설정하는 다음 단계를 보려면 "다음 단계" 버튼을 클릭하세요.

첫 번째 계정을 설정한 후 "완료" 버튼을 클릭하여 설치 프로세스를 완료합니다.

설치가 완료되면 설치 를 삭제해야 합니다. 폴더는 보안 목적입니다.

sudo rm -rf /var/www/anchor/install

연결

  • https://anchorcms.com/
  • https://github.com/anchorcms/anchor-cms