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

theanh

Administrator
Nhân viên
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. Phiên bản Ghost đầu tiên đã được phát hành vào năm 2013 theo giấy phép MIT và liên tục được cập nhật. Hướng dẫn này trình bày cách cài đặt phần mềm Ghost Blog, Node.js và Apache làm máy chủ proxy SSL trên Ubuntu 16.04.

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à một 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 một 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 động vào năm 2009 và đã đạt đến phiên bản 6.5.0 (LTS) tính đến thời điểm hiện tại.


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

  • Ubuntu 16.04
  • quyền root
Những gì chúng ta sẽ làm trong hướng dẫn này:
  • Cài đặtNode.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 ta sẽ sử dụng nodejs v4.x. Nodejs có thể được cài đặt theo nhiều cách khác nhau như cài đặt từ nguồn hoặc cài đặt từ kho lưu trữ Ubuntu. Tôi sẽ sử dụng kho lưu trữ nodejs của nodesecure để cài đặt, nó chứa phần mềm cập nhật và sử dụng kho lưu trữ cho phép nó dễ dàng cập nhật node.js sau này.

Cài đặt khóa kho lưu trữ nodesource bằng lệnh bên dưới:
Mã:
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
Sau đó thêm kho lưu trữ nodejs bằng cách thực hiện các lệnh bên dưới:
Mã:
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
Cập nhật kho lưu trữ:
Mã:
sudo apt-get update
Bây giờ chúng ta có thể cài đặt gói "nodejs" để cài đặt node.js và các thành phần phụ thuộc của nó trên máy chủ:
Mã:
sudo apt-get install -y nodejs
Bây giờ hãy kiểm tra phiên bản nodejs để đảm bảo rằng quá trình cài đặt đã thành công:
Mã:
node --version
Kiểm tra phiên bản npm:
Mã:
npm --version
npm là trình quản lý gói để 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:
Mã:
cd ghostblog/
sudo 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
Tiếp theo, thêm người dùng mới "ghost". Người dùng này sẽ bị kiện để chạyGhost:
Mã:
useradd -d /var/www -s /bin/bash ghost
passwd ghost
Mã:
NHẬP MẬT KHẨU MỚI CHO NGƯỜI DÙNG ghost
Lưu ý:

-d = Định nghĩa thư mục home cho người dùng ghost trong /var/www/.

-s = Định nghĩa shell cho người dùng ghost.

Bây giờ hãy thay đổi chủ sở hữu của 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 blog ghost 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 và khởi động Ghost:
Mã:
cd ghostblog/
npm start --production
Ghost đã được cài đặt và chạy trên localhost với cổng 2368. Chúng ta có thể kiểm tra bằng lệnh curl:
Mã:
curl -I localhost[I]:2368
[/I]


Bạn có thể thấy ghost đang chạy - HTTP/1.1 200 OK.

Chúng tôi sẽ chạy ghost như một dịch vụ để giúp chúng tôi khởi động ghost dễ dàng hơn. Vui lòng quay lại sudo/root user bằng cách nhập "exit" và tạo một tệp mới có tên là "ghost.service"trong thư mục "/lib/systemd/system/".
Mã:
cd /lib/systemd/system/
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
Tiếp theo, tải lại daemon systemd:
Mã:
systemctl daemon-reload
Sau đó thêm ghost để khởi động khi khởi động và khởi động ghost bằng lệnh systemctl:
Mã:
systemctl enable ghost
systemctl start ghost
Kiểm tra xem ghost có đang chạy không bằng cách kiểm tra cổng 2368:
Mã:
netstat -plntu



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 certs thư mục 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 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"
Lưu tệp và thoát khỏi vim.

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 Trang web HTTPS/SSL của blog của bạn.



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


Kết luận​

Nodejs là một trình chạy 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 bằng 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