Cách cài đặt phần mềm Ghost Blog với Apache và SSL trên Ubuntu 15.10

theanh

Administrator
Nhân viên
Nodejs là một thời gian chạy javaScript mã nguồn mở được xây dựng trên công cụ JavaScript V8 của Chrome (v4) để phát triển các ứng dụng web phía máy chủ. Nodejs là thời gian chạy đa nền tảng có thể chạy trên OS X, Microsoft Windows, Linux và FreeBSD. Nó cung cấp kiến trúc hướng sự kiện và mô hình I/O không chặn giúp nó nhẹ và hiệu quả cho các ứng dụng web thời gian thực. Dự án Node.js đã được Ryan Dahl khởi xướng vào năm 2009 và đã đạt đến phiên bản 4.2.0 (LTS) tính đến ngày hôm nay.

Ghost là một nền tảng xuất bản và blog mã nguồn mở mạnh mẽ được thiết kế đẹp mắt và dễ sử dụng. Ghost được viết bằng javascript và sử dụng node.js làm môi trường thời gian chạy. Ghost đã được phát hành vào năm 2013 theo giấy phép MIT.

Điều kiện tiên quyết​

  • Ubuntu 15.10
  • quyền root
Những gì chúng ta sẽ làm trong hướng dẫn này:
  • InstallNode.js
  • Cài đặt Ghost
  • Cấu hình Ghost
  • Cài đặt Apache và thêm Ghost VirtualHost
  • Bật SSL cho Ghost

Bước 1- Cài đặt Node.js trên Ubuntu​

Đối với hướng dẫn này, chúng tôi sẽ sử dụng node.js v0.12. Node.js có thể được cài đặt từ nguồn hoặc từ kho lưu trữ nodesource.com. Chúng tôi sẽ sử dụng kho lưu trữ node.js để cài đặt.

Vui lòng thêm và cập nhật kho lưu trữ bằng cách thực hiện lệnh bên dưới:
Mã:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
Tiếp theo cài đặt node.js với apt:
Mã:
sudo apt-get install -y nodejs
Bây giờ hãy kiểm tra phiên bản node.js:
Mã:
node --version

v0.12.7
Và kiểm tra phiên bản npm:
Mã:
npm --version

2.11.3
Npm là trình quản lý gói node.js được sử dụng để cài đặt, xuất bản và quản lý các chương trình node.


Bước 2 - Cài đặt Ghost Blog​

Chúng ta sẽ cài ghost trong thư mục "/var/www/" và sử dụng phiên bản Ghost mới nhất. Vui lòng tạo một thư mục mới "www"trong /var và nhập nó với "cd":
Mã:
mkdir -p /var/www/
cd /var/www/
Tải xuống Ghost bằng lệnh wget, sau đó giải nén nó vào một thư mục có tên là "ghostblog" :
Mã:
wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip
LƯU Ý : -d : tự động tạo thư mục.

Sau đó, hãy đến thư mục ghostblog và cài đặt Ghost bằng lệnh npm với tư cách là root/sudo:
Mã:
cd ghostblog/
npm install --production

Bước 3 - Cấu hình Ghost​

Vui lòng vào thư mục ghostblog rồi sao chép tệp mẫu cấu hình vào "config.js"
Mã:
cd /var/www/ghostblog/
cp config.example.js config.js
Bây giờ hãy mở tệp cấu hình bằng trình soạn thảo vim:
Mã:
vim config.js
Trong khối máy chủ (dòng 27), hãy đổi giá trị host thành 0.0.0.0.
Mã:
host = 0.0.0.0
Để cho phép truy cập blog từ bên ngoài. Lưu và thoát.

Sau đó thêm người dùng mới "ghost". Người dùng này sẽ được sử dụng để chạy ghost:
Mã:
sudo adduser --shell /bin/bash ghost
NHẬP MẬT KHẨU CỦA BẠN
Bây giờ hãy thay đổi chủ sở hữu cho thư mục cài đặt ghost thành người dùng "ghost".
Mã:
chown -R ghost:ghost /var/www/ghostblog
Kiểm tra ghost blog bằng cách thực thi lệnh npm với tư cách là người dùng ghost. Vui lòng đăng nhập vào tài khoản ghost:
Mã:
su - ghost
Và vào thư mục cài đặt Ghost và khởi động nó:
Mã:
cd /var/www/ghostblog
npm start --production
Truy cập IP máy chủ trên cổng 2368, trong trường hợp của tôi: 192.168.1.104:2368




Để giúp chúng ta khởi động ghost dễ dàng hơn, chúng ta sẽ tạo một dịch vụ hệ thống để chạy Ghost. Vui lòng quay lại người dùng sudo/root và tạo một tệp mới có tên "ghost.service"trong thư mục "/lib/systemd/system/".
Mã:
sudo cd /lib/systemd/system/
sudo vim ghost.service
Dán tập lệnh systemd bên dưới:
Mã:
[Unit]Description=ghostAfter=network.target[Service]Type=simple# Ghost installation DirectoryWorkingDirectory=/var/www/ghostblogUser=ghostGroup=ghostExecStart=/usr/bin/npm start --productionExecStop=/usr/bin/npm stop --productionRestart=alwaysSyslogIdentifier=Ghost[Install]WantedBy=multi-user.target
Và lưu tệp Sau đó tải lại daemon systemd:
Mã:
sudo systemctl daemon-reload
Thêm dịch vụ Ghost để tự động khởi động khi khởi động và khởi động Ghost bằng lệnh systemctl:
Mã:
sudo systemctl enable ghost
sudo systemctl start ghost

Bước 4 - Cài đặt Apache và Ghost VirtualHost​

Cài đặt apache bằng lệnh apt-get:
Mã:
sudo apt-get install apache2
Sau khi cài đặt hoàn tất, hãy tạo một tệp mới cho máy chủ ảo ghost trong thư mục "/etc/apache2/sites-available/".
Mã:
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Dán cấu hình bên dưới:
Mã:
 #Tên miền ServerName ghostblog.me ServerAlias www.ghostblog.me #Máy chủ proxy/gateway HTTP ProxyRequests tắt ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http:/127.0.0.1:2368/
Lưu và thoát.

Kích hoạt mô-đun proxy HTTP trong apache bằng lệnh a2enmodnhư hiển thị bên dưới:
Mã:
sudo a2enmod proxy proxy_http
Cuối cùng, chúng ta phải kích hoạt máy chủ ảo Ghost rồi khởi động lại apache:
Mã:
sudo a2ensite ghostblog
sudo systemctl restart apache2
Khởi động lại ghost:
Mã:
sudo systemctl restart ghost
Kiểm tra bằng cách truy cập tên miền:



Bước 5 - Bật SSL cho Ghost​

Để bật SSL trên apache, vui lòng đảm bảo thư viện openssl được cài đặt trên hệ thống. Chúng tôi sẽ tạo khóa mới và tệp crt trong thư mục "/etc/apache2/certs". Đầu tiên, chúng ta tạo thư mục certs mới:
Mã:
sudo mkdir -p /etc/apache2/certs
Và tạo khóa chứng chỉ bằng lệnh bên dưới:
Mã:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt
Vui lòng thay đổi quyền của tệp chứng chỉ:
Mã:
sudo cd /etc/apache2/certs/
sudo chmod 600 *
Tiếp theo, thêm cấu hình ssl vào ghost virtualhost bằng cách chỉnh sửa tệp "ghostblog.conf".
Mã:
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Dán tập lệnh cấu hình mới bên dưới:
Mã:
 ServerName ghostblog.me ServerAlias www.ghostblog.me # Buộc chuyển hướng http sang https vĩnh viễn / https://ghostblog.me/# Tắt ProxyRequests# ProxyPass / http://127.0.0.1:2368/# ProxyPassReverse / http:/127.0.0.1:2368/ ServerName ghostblog.me SSLEngine trên 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"
Lưu và thoát.

Kích hoạt mô-đun Apache OpenSSL và khởi động lại Apache:
Mã:
sudo a2enmod ssl headers
sudo systemctl restart apache2

Kiểm tra​

Truy cập và bạn sẽ bị buộc phải sử dụng HTTPS/SSL trang blog của bạn.



Ghost với apache và SSL hiện đã được cài đặt thành công.


Kết luận​

Nodejs là một trình biên dịch javascript đa nền tảng mã nguồn mở để xây dựng các ứng dụng web phía máy chủ. Nó nhẹ và hiệu quả cho các ứng dụng web thời gian thực. Ghost là một nền tảng blog được viết bằng Javascript cho Node.js. Ghost được thiết kế đẹp mắt và thân thiện với người dùng. Giao diện trực quan giúp hệ thống blog này dễ sử dụng. Ghost có thể được cài đặt độc lập hoặc với một máy chủ web như Apache hoặc Nginx. Bạn có thể bảo mật Ghost bằng openssl. Cấu hình Ghost với Apache và OpenSSL rất dễ dàng, bạn chỉ cần thiết lập mô-đun apache http_proxy và tạo Chứng chỉ SSL.
 
Back
Bên trên