Ubuntu 15.10에서 Apache 및 SSL을 사용하여 Ghost Blog 소프트웨어를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 우분투 16.04(Xenial Xerus)
- 우분투 15.10(Wily Werewolf)
이 페이지에서
- 전제 조건
- 1단계 - Ubuntu에 Node.js 설치
- 2단계 - Ghost Blog 설치
- 3단계 - Ghost 구성
- 4단계 - Apache 및 Ghost VirtualHost 설치
- 5단계 - Ghost용 SSL 활성화\n
- 테스트
- 결론
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 인증서를 생성하기만 하면 됩니다.