웹사이트 검색

Ubuntu 18.04 LTS에 WonderCMS를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - PHP 및 필요한 PHP 확장 설치\n
  5. 2단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
  6. 3단계 - NGINX 설치 및 구성
  7. 4단계 - WonderCMS 설치
  8. 링크

WonderCMS는 매우 작고 가볍고 단순한 것을 목표로 하는 무료 오픈 소스 플랫 파일 CMS입니다. PHP, jQuery, HTML/CSS로 구축되었으며 2008년부터 개발되었습니다. 초기 구성이 필요하지 않습니다. 설치 과정은 매우 간단합니다. 압축을 풀고 5개의 파일을 업로드합니다. 모든 파일을 다른 위치에 복사/붙여넣기하여 모든 파일을 쉽게 이동, 백업 및 복원할 수 있습니다. 다른 호스트로 이동해도 재구성이 필요하지 않습니다. WonderCMS는 MySQL과 같은 기존/관계형 데이터베이스도 필요하지 않습니다. 플랫 파일 기술을 통해 WonderCMS는 JSON 형식으로 구성된 database.js라는 텍스트 파일(플랫 파일)에 모든 데이터를 저장할 수 있습니다. 이 튜토리얼에서는 Nginx를 웹 서버로 사용하여 Ubuntu 18.04 LTS 시스템에서 WonderCMS 설치 및 설정을 진행하고 선택적으로 Acme.sh 클라이언트 및 Lets Encrypt 인증 기관을 사용하여 SSL 지원을 추가하여 전송 계층을 보호할 수 있습니다.

요구 사항

WonderCMS 설치 및 실행을 위한 요구 사항은 다음과 같습니다.

  • curl, mbstring 및 zip 확장자가 있는 PHP 버전 7.1 이상.\n
  • 웹 서버(mod_rewrite 모듈이 활성화된 Apache, Nginx, IIS).\n

전제 조건

  • Ubuntu 18.04 LTS 운영 체제.
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

Ubuntu 버전 확인:

lsb_release -ds
# Ubuntu 18.04.2 LTS

시간대 설정:

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y

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

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

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

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

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-zip php7.2-mbstring

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12: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.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

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

2단계 - 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.0

도메인/호스트 이름에 대한 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

3단계 - NGINX 설치 및 구성

WonderCMS는 널리 사용되는 많은 웹 서버 소프트웨어와 잘 작동합니다. 이 튜토리얼에서는 NGINX를 선택했습니다.

NGINX 설치:

sudo apt install -y nginx

NGINX 버전 확인:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

다음으로 WonderCMS용 NGINX를 구성합니다. sudo vim /etc/nginx/sites-available/wondercms.conf를 실행하고 다음 구성을 추가합니다.

server {
  
  listen 80;

  server_name example.com;
  root /var/www/wondercms;

  index index.php;


  location / {
    if (!-e $request_filename) {
      rewrite ^/(.+)$ /index.php?page=$1 last;
    }
  }
  location ~ database.js {
    return 403;
  }

  location ~ \.php(/|$) {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  }

}

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

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

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

sudo nginx -t

NGINX 서비스 다시 로드:

sudo systemctl reload nginx.service

4단계 - WonderCMS 설치

WonderCMS용 문서 루트 디렉토리를 만듭니다.

sudo mkdir -p /var/www/wondercms

/var/www/wondercms 디렉토리의 소유권을 [jour_username]으로 변경합니다.

sudo chown -R [your_username]:[your_username] /var/www/wondercms

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

cd /var/www/wondercms

WonderCMS 소스 다운로드 및 압축 해제:

wget https://github.com/robiso/wondercms/releases/download/2.7.0/WonderCMS-2.7.0.zip
unzip WonderCMS-2.7.0.zip
rm WonderCMS-2.7.0.zip

WonderCMS 파일을 문서 루트 디렉토리로 이동합니다.

mv wondercms/* . && mv wondercms/.*.
rmdir wondercms

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

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

웹 브라우저에서 사이트를 열고 기본 비밀번호 admin으로 로그인한 다음 나중에 기본 비밀번호를 변경하십시오.

연결

  • https://www.wondercms.com/
  • https://github.com/robiso/wondercms