Ubuntu 16.04에서 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
- 테스트
- 결론
Ghost는 아름답게 디자인되고 사용하기 쉬운 강력한 오픈 소스 출판 및 블로그 플랫폼입니다. Ghost는 자바스크립트로 작성되었으며 node.js를 런타임 환경으로 사용합니다. 첫 번째 Ghost 버전은 MIT 라이선스에 따라 2013년에 출시되었으며 지속적으로 업데이트됩니다. 이 가이드에서는 Ubuntu 16.04에서 Ghost Blog 소프트웨어, Node.js 및 Apache를 SSL 프록시 서버로 설치하는 방법을 보여줍니다.
Nodejs는 서버 측 웹 애플리케이션 개발을 위해 Chrome V8 자바스크립트 엔진(v4)에 구축된 오픈소스 자바스크립트 런타임입니다. Nodejs는 OS X, Microsoft Windows, Linux 및 FreeBSD에서 실행할 수 있는 교차 플랫폼 런타임입니다. 실시간 웹 애플리케이션을 위해 가볍고 효율적으로 만드는 이벤트 기반 아키텍처 및 비차단 I/O 모델을 제공합니다. Node.js 프로젝트는 Ryan Dahl이 2009년에 시작하여 현재 버전 6.5.0(LTS)에 도달했습니다.
전제 조건
- 우분투 16.04
- 루트 권한\n
이 튜토리얼에서 우리가 할 것:
- Node.js 설치
- 고스트 설치
- Ghost 구성
- Apache 설치 및 Ghost VirtualHost 추가
- Ghost용 SSL 활성화\n
1단계 - Ubuntu에 Node.js 설치
이 튜토리얼에서는 nodejs v4.x를 사용합니다. Nodejs는 소스에서 설치 또는 Ubuntu 저장소에서 설치와 같은 다양한 방법으로 설치할 수 있습니다. 설치를 위해 nodesecure https://deb.nodesource.com/node_4.x의 nodejs 리포지토리를 사용하겠습니다. 여기에는 최신 소프트웨어가 포함되어 있으며 리포지토리를 사용하면 node.js를 쉽게 업데이트할 수 있습니다. 나중에.
아래 명령어를 사용하여 nodesource 저장소 키를 설치합니다.
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
그런 다음 아래 명령어를 실행하여 nodejs 저장소를 추가합니다.
sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list
저장소를 업데이트합니다.
sudo apt-get update
이제 서버에 node.js와 해당 종속 항목을 설치하는 "nodejs" 패키지를 설치할 수 있습니다.
sudo apt-get install -y nodejs
이제 nodejs 버전을 확인하여 설치가 성공했는지 확인하십시오.
node --version
npm 버전 확인:
npm --version
npm은 노드 프로그램을 설치, 게시 및 관리하는 패키지 관리자입니다.
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 명령을 사용하여 Ghost를 설치합니다.
cd ghostblog/
sudo npm install --production
3단계 - 고스트 구성
ghostblog 디렉토리로 이동한 다음 구성 샘플 파일을 "config.js"에 복사하십시오.
cd /var/www/ghostblog/
cp config.example.js config.js
다음으로 새 사용자 "ghost"를 추가합니다. 이 사용자는 Ghost를 실행하라는 소송을 당할 것입니다.
useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER
메모:
-d = /var/www/에서 고스트 사용자의 홈 디렉토리를 정의합니다.
-s = 고스트 사용자의 쉘을 정의합니다.
이제 고스트 설치 디렉토리의 소유자를 "ghost" 사용자로 변경하십시오.
chown -R ghost:ghost /var/www/ghostblog
고스트 사용자로 npm 명령을 실행하여 고스트 블로그를 테스트합니다. 사용자 ghost로 로그인하십시오:
su - ghost
설치 디렉토리로 이동하여 Ghost를 시작하십시오.
cd ghostblog/
npm start --production
Ghost는 포트 2368로 localhost에 설치되어 실행 중입니다. curl 명령으로 확인할 수 있습니다.
curl -I localhost:2368
고스트가 실행 중인 것을 볼 수 있습니다 - HTTP/1.1 200 OK.
고스트를 더 쉽게 시작할 수 있도록 고스트를 서비스로 실행할 것입니다. "exit"를 입력하여 sudo/root 사용자로 돌아가서 "/lib/systemd/system/" 디렉토리에 "ghost.service"라는 새 파일을 만드십시오.
cd /lib/systemd/system/
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 데몬을 다시 로드합니다.
systemctl daemon-reload
그런 다음 부팅 시 시작할 고스트를 추가하고 systemctl 명령으로 고스트를 시작합니다.
systemctl enable ghost
systemctl start ghost
포트 2368을 확인하여 Ghost가 실행 중인지 확인합니다.
netstat -plntu
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>
파일을 저장하고 vim을 종료합니다.
OpenSSL apache 모듈을 활성화하고 apache를 다시 시작합니다.
sudo a2enmod ssl headers
sudo systemctl restart apache2
테스트
http://ghostblog.me를 방문하면 블로그의 HTTPS/SSL 사이트로 이동하게 됩니다.
apache 및 SSL을 사용하는 Ghost가 성공적으로 설치되었습니다.
결론
Nodejs는 서버 측 웹 애플리케이션을 구축하기 위한 오픈 소스 다중 플랫폼 자바스크립트 런타임입니다. 실시간 웹 애플리케이션에 가볍고 효율적입니다. Ghost는 Node.js용 Javascript로 작성된 블로그 플랫폼입니다. Ghost는 아름답게 디자인되었으며 사용자 친화적입니다. 직관적인 인터페이스로 이 블로그 시스템을 쉽게 사용할 수 있습니다. Ghost는 독립형으로 설치하거나 Apache 또는 Nginx와 같은 웹 서버와 함께 설치할 수 있습니다. OpenSSL로 Ghost를 보호할 수 있습니다. Apache 및 OpenSSL로 Ghost를 구성하는 것은 쉽습니다. Apache http_proxy 모듈을 설정하고 SSL 인증서를 생성하기만 하면 됩니다.