CMS 설치 · 4 min read · Nov 08, 2025

우분투 18.04 LTS에 Pico CMS 설치하기

Pico는 PHP로 작성된 오픈 소스 간단하고 빠른 플랫 파일 CMS입니다. 이는 관리 백엔드와 데이터베이스가 필요 없음을 의미합니다. 콘텐츠 폴더에 .md 파일을 생성하면 그것이 페이지가 됩니다. Pico는 강력하고 유연한 테마를 위한 Twig 템플릿 엔진을 사용합니다. Pico 소스 코드는 Github에서 사용할 수 있습니다. 이 튜토리얼에서는 우분투 18.04 LTS 시스템에 Nginx와 함께 Pico CMS를 설치합니다.

요구 사항

Pico를 실행하기 위한 요구 사항은 다음과 같습니다:

  • Nginx
  • PHP 버전 5.3.6 이상
  • Composer

전제 조건

  • 우분투 18.04 LTS 운영 체제.
  • sudo 권한이 있는 비루트 사용자.

초기 단계

우분투 버전을 확인하세요:

lsb_release -ds  
# Ubuntu 18.04.2 LTS

시간대를 설정하세요:

sudo dpkg-reconfigure tzdata

운영 체제 패키지(소프트웨어)를 업데이트하세요. 이는 운영 체제의 기본 소프트웨어 패키지에 대한 최신 업데이트와 보안 수정을 보장하기 때문에 중요한 첫 단계입니다:

sudo apt update && sudo apt upgrade -y

우분투 운영 체제의 기본 관리를 위해 필요한 필수 패키지를 설치하세요:

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

1단계 - PHP 설치

PHP와 필요한 PHP 확장 프로그램을 설치하세요:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-zip php7.2-xml 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 서비스는 우분투 18.04 시스템에서 자동으로 시작되고 재부팅 시 활성화되므로 수동으로 시작하고 활성화할 필요가 없습니다. 이제 데이터베이스 설치 및 설정이라는 다음 단계로 넘어갈 수 있습니다.

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

HTTPS로 포럼을 보호하는 것은 필수는 아니지만 사이트 트래픽을 보호하는 좋은 방법입니다. Let’s Encrypt에서 TLS 인증서를 받기 위해 acme.sh 클라이언트를 사용할 것입니다. Acme.sh는 제로 의존성으로 Let’s Encrypt에서 TLS 인증서를 받기 위한 순수 UNIX 셸 소프트웨어입니다.

acme.sh를 다운로드하고 설치하세요:

sudo su - root  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh  
./acme.sh --install --accountemail [email protected]  
source ~/.bashrc  
cd ~

acme.sh 버전을 확인하세요:

acme.sh --version  
# v2.8.0

도메인/호스트 이름에 대한 RSAECC/ECDSA 인증서를 받으세요:

# 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 설치 및 구성

NGINX를 설치하세요:

sudo apt install -y nginx

NGINX 버전을 확인하세요:

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

다음으로 Pico CMS를 위한 NGINX를 구성하세요. sudo vim /etc/nginx/sites-available/pico.conf를 실행하고 다음 구성을 추가하세요.

server {
  
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/pico;  

  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;  

  index index.php;

  location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
    deny all;
  }

  location / {
    index index.php;
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_index index.php;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param PICO_URL_REWRITING 1;
  }

}

pico.conf 구성을 활성화하려면 파일을 sites-enabled 디렉토리에 링크하세요:

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

구문 오류에 대한 NGINX 구성을 확인하세요:

sudo nginx -t

NGINX 서비스를 다시 로드하세요:

sudo systemctl reload nginx.service

4단계 - Composer 설치

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.5 2019-04-09 17:46:47

참고: Composer 설치 명령은 향후 변경될 수 있으므로 위 명령이 작동하지 않으면 https://getcomposer.org/download/에서 최신 명령을 확인하세요.

5단계 - Pico CMS 설치

Pico CMS를 위한 문서 루트 디렉토리를 생성하세요:

sudo mkdir -p /var/www/pico

/var/www/pico 디렉토리의 소유권을 [ your_username]으로 변경하세요:

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

문서 루트 디렉토리로 이동하세요:

cd /var/www/pico

Composer로 Pico를 다운로드하세요:

composer create-project picocms/pico-composer .

/var/www/pico 디렉토리의 소유권을 www-data:로 변경하세요:

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

우분투 18.04 서버에 Pico CMS를 성공적으로 설치했습니다. 이제 Pico의 루트 디렉토리에 자신의 콘텐츠 폴더를 생성하고 콘텐츠 디렉토리에 .md 파일을 생성하면 해당 파일이 페이지가 됩니다.

링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.