웹사이트 검색

Ubuntu 15.10에서 Apache 및 SSL을 사용하여 Ghost Blog 소프트웨어를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 우분투 16.04(Xenial Xerus)
  • 우분투 15.10(Wily Werewolf)

이 페이지에서

  1. 전제 조건
  2. 1단계 - Ubuntu에 Node.js 설치
  3. 2단계 - Ghost Blog 설치
  4. 3단계 - Ghost 구성
  5. 4단계 - Apache 및 Ghost VirtualHost 설치
  6. 5단계 - Ghost용 SSL 활성화\n
  7. 테스트
  8. 결론

Nodejs는 서버 측 웹 애플리케이션 개발을 위해 Chrome V8 자바스크립트 엔진(v4)에 구축된 오픈소스 자바스크립트 런타임입니다. Nodejs는 OS X, Microsoft Windows, Linux 및 FreeBSD에서 실행할 수 있는 교차 플랫폼 런타임입니다. 실시간 웹 애플리케이션을 위해 가볍고 효율적으로 만드는 이벤트 기반 아키텍처 및 비차단 I/O 모델을 제공합니다. Node.js 프로젝트는 Ryan Dahl이 2009년에 시작하여 현재 버전 4.2.0(LTS)에 도달했습니다.

Ghost는 아름답게 디자인되고 사용하기 쉬운 강력한 오픈 소스 출판 및 블로그 플랫폼입니다. Ghost는 자바스크립트로 작성되었으며 node.js를 런타임 환경으로 사용합니다. Ghost는 MIT 라이선스로 2013년에 출시되었습니다.

전제 조건

  • 우분투 15.10
  • 루트 권한\n

이 튜토리얼에서 우리가 할 것:

  • Node.js 설치
  • 고스트 설치
  • Ghost 구성
  • Apache 설치 및 Ghost VirtualHost 추가
  • Ghost용 SSL 활성화\n

1단계 - Ubuntu에 Node.js 설치

이 튜토리얼에서는 node.js v0.12를 사용합니다. Node.js는 소스 또는 nodesource.com 저장소에서 설치할 수 있습니다. 설치를 위해 node.js 저장소 https://deb.nodesource.com/node_0.12를 사용합니다.

아래 명령을 실행하여 저장소를 추가하고 업데이트하십시오.

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

다음으로 apt를 사용하여 node.js를 설치합니다.

sudo apt-get install -y nodejs

이제 node.js 버전을 확인하십시오.

node --version

v0.12.7

그리고 npm 버전을 확인하십시오.

npm --version

2.11.3

Npm은 노드 프로그램을 설치, 게시 및 관리하는 데 사용되는 node.js 패키지 관리자입니다.

2단계 - 고스트 블로그 설치

우리는 "/var/www/" 디렉토리에 고스트를 설치하고 최신 버전의 고스트를 사용할 것입니다. /var에 새 디렉토리 "www"를 만들고 "cd"로 입력하세요.

mkdir -p /var/www/
cd /var/www/

wget 명령으로 Ghost를 다운로드한 다음 "ghostblog"라는 디렉토리에 압축을 풉니다.

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

참고: -d : 자동으로 디렉토리를 생성합니다.

그런 다음 ghostblog 디렉토리로 이동하여 npm 명령을 root/sudo로 사용하여 Ghost를 설치합니다.

cd ghostblog/
npm install --production

3단계 - 고스트 구성

ghostblog 디렉토리로 이동한 다음 구성 샘플 파일을 "config.js"에 복사하십시오.

cd /var/www/ghostblog/
cp config.example.js config.js

이제 vim 편집기로 구성 파일을 엽니다.

vim config.js

서버 블록(27행)에서 호스트 값을 0.0.0.0으로 변경합니다.

host = 0.0.0.0

외부에서 블로그에 액세스할 수 있도록 합니다. 저장 및 종료.

그런 다음 새 사용자 "ghost"를 추가합니다. 이 사용자는 고스트를 실행하는 데 사용됩니다.

sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD

이제 고스트 설치 디렉토리의 소유자를 "ghost" 사용자로 변경하십시오.

chown -R ghost:ghost /var/www/ghostblog

고스트 사용자로 npm 명령을 실행하여 고스트 블로그를 테스트합니다. 사용자 ghost로 로그인하십시오:

su - ghost

Ghost 설치 디렉토리로 이동하여 시작하십시오.

cd /var/www/ghostblog
npm start --production

제 경우에는 포트 2368에서 서버 IP를 방문하십시오: 192.168.1.104:2368

Ghost를 더 쉽게 시작할 수 있도록 Ghost를 실행하는 시스템 서비스를 생성합니다. sudo/root 사용자로 돌아가서 \/lib/systemd/system/\ 디렉터리에 \ghost.service\라는 새 파일을 만드세요.

sudo cd /lib/systemd/system/
sudo vim ghost.service

아래에 systemd 스크립트를 붙여넣습니다.

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

파일을 저장한 다음 systemd 데몬을 다시 로드합니다.

sudo systemctl daemon-reload

부팅 시 자동으로 시작하도록 Ghost 서비스를 추가하고 systemctl 명령으로 Ghost를 시작합니다.

sudo systemctl enable ghost
sudo systemctl start ghost

4단계 - Apache 및 Ghost VirtualHost 설치

apt-get 명령으로 아파치를 설치합니다.

sudo apt-get install apache2

설치가 완료되면 "/etc/apache2/sites-available/" 디렉토리에 고스트 가상 호스트에 대한 새 파일을 만듭니다.

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

아래 구성을 붙여넣습니다.

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

저장 및 종료.

아래와 같이 a2enmod 명령을 사용하여 apache에서 HTTP 프록시 모듈을 활성화합니다.

sudo a2enmod proxy proxy_http

마지막으로 Ghost 가상 호스트를 활성화한 다음 Apache를 다시 시작해야 합니다.

sudo a2ensite ghostblog
sudo systemctl restart apache2

고스트 재시작:

sudo systemctl restart ghost

도메인을 방문하여 테스트: http://ghostblog.me

5단계 - Ghost용 SSL 활성화

Apache에서 SSL을 활성화하려면 openssl 라이브러리가 시스템에 설치되어 있는지 확인하십시오. "/etc/apache2/certs" 디렉토리에 새 키와 crt 파일을 생성합니다. 먼저 새 디렉터리 인증서를 만듭니다.

sudo mkdir -p /etc/apache2/certs

그리고 아래 명령으로 인증서 키를 생성합니다.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

인증서 파일의 권한을 변경하십시오.

sudo cd /etc/apache2/certs/
sudo chmod 600 *

다음으로 "ghostblog.conf" 파일을 편집하여 고스트 가상 호스트에 SSL 구성을 추가합니다.

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

아래에 새 구성 스크립트를 붙여넣습니다.

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

저장 및 종료.

OpenSSL apache 모듈을 활성화하고 apache를 다시 시작합니다.

sudo a2enmod ssl headers
sudo systemctl restart apache2

테스트

http://ghostblog.me를 방문하면 블로그의 HTTPS/SSL 사이트로 이동하게 됩니다.

아파치와 SSL을 사용하는 Ghost가 이제 성공적으로 설치되었습니다.

결론

Nodejs는 서버 측 웹 애플리케이션을 구축하기 위한 오픈 소스 다중 플랫폼 자바스크립트 런타임입니다. 실시간 웹 애플리케이션에 가볍고 효율적입니다. Ghost는 Node.js용 Javascript로 작성된 블로그 플랫폼입니다. Ghost는 아름답게 디자인되었으며 사용자 친화적입니다. 직관적인 인터페이스로 이 블로그 시스템을 쉽게 사용할 수 있습니다. Ghost는 독립형으로 설치하거나 Apache 또는 Nginx와 같은 웹 서버와 함께 설치할 수 있습니다. openssl로 Ghost를 보호할 수 있습니다. Apache 및 OpenSSL로 Ghost를 구성하는 것은 쉽습니다. Apache http_proxy 모듈을 설정하고 SSL 인증서를 생성하기만 하면 됩니다.