Ghostlà một nền tảng viết blognguồn mở hoàn toàn(giấy phép MIT),đang ngày càng phổ biến trong số các nhà phát triển và người dùng thông thường kể từ khi phát hành năm 2013.Mã nguồn Ghost được công khai trên GitHub.Ghost thường chiếm khoảng ~300MB RAM để chạy tốt, do đó, nó có thể chạy trên phần cứng khiêm tốn. Nó tập trung vào nội dung và viết blog. Điểm hấp dẫn nhất về Ghost là thiết kế đơn giản, sạch sẽ, thanh lịch và đáp ứng. Bạn có thể viết bài đăng trên blog của mình từ điện thoại di động. Nội dung cho Ghost được viết và định dạng bằng ngôn ngữ Markdown.Ghost hoàn toàn phù hợp với các cá nhân hoặc nhóm nhỏ người viết. Ghost cũng có hỗ trợ tích hợp cho dự án Accelerated Mobile Pages (AMP), giúp tải blog của bạn cực nhanh trên điện thoại di động.
Gần đây, các nhà phát triển Ghost đã phát hànhbản phát hành ổn định chính đầu tiên của Ghost - 1.0.0. Ghost 1.0.0 đã giới thiệu nhiều tính năng mới và đáng chú ý nhất trong số đó là:trình chỉnh sửa Markdown hoàn toàn mới,giao diện người dùng (UI) được làm mới,thiết kế chủ đề mặc định mới, quy trình cài đặt và cập nhật mới vàđược cải thiện với công cụ Ghost-CLI.
Trong hướng dẫn này, chúng ta sẽ thiết lập và triển khai một blog Ghost an toàn với sự trợ giúp của công cụ Ghost-CLI của Ghost trên máy chủ Ubuntu 18.04 LTSbằng cách sử dụng Let's Encrypt, Acme.sh, Node.js, npm, Yarn, NGINX và MySQL/MariaDB.
Thiết lập múi giờ:
Cập nhật các gói hệ điều hành của bạn:
Cài đặt gói
Ghost được xây dựng trênNode.js. Chúng tôi sẽ cài đặt phiên bảnđược khuyến nghịcho Ghost làv8 Carbon LTS tại thời điểm viết hướng dẫn này. Trên Linux, bạn có một số tùy chọn cài đặt: Linux Binaries (x86/x64), Source Code hoặc thông qua Package Managers. Chúng tôi sẽ sử dụng phương pháp Package Manager bằng cách sử dụng kho lưu trữ Nodesource.
Tải xuống và cài đặt phiên bản (bản phát hành) Hỗ trợ dài hạn (LTS) mới nhất của Node.js:
LƯU Ý: npm được phân phối cùng với Node.js - điều này có nghĩa là khi bạn tải xuống Node.js, bạn sẽ tự động cài đặt npm trên máy tính của mình.
Kiểm tra phiên bản Node.js và npm:
Npm là một dự án riêng biệt với Node.js và có xu hướng cập nhật thường xuyên hơn. Do đó, ngay cả khi bạn vừa tải xuống Node.js (và do đó là npm), bạn có thể sẽ cần cập nhật npm của mình. May mắn thay, npm biết cách tự cập nhật! Để cập nhật npm của bạn, hãy nhập lệnh này vào thiết bị đầu cuối của bạn:
Kiểm tra lại phiên bản npm, đó phải là phiên bản mới nhất:
Tải xuống và cài đặt phiên bản ổn định mới nhất của máy chủ MariaDB từ kho lưu trữ MariaDB trên máy của bạn:
Trong quá trình cài đặt MariaDB, bạn sẽ được nhắc nhập mật khẩu người dùng
Kiểm tra phiên bản MariaDB:
Kiểm tra xem daemon MariaDB đã khởi động và đang chạy chưa:
Chạy tiện ích
Đăng nhập (kết nối) vào dòng lệnh MariaDB với tư cách là người dùng
Tạo cơ sở dữ liệu MariaDB và người dùng mới để cài đặt Ghost. Bước này là tùy chọn, vì công cụ Ghost-CLI ở bước sau có thể tạo cơ sở dữ liệu cho bạn, bạn chỉ cần nhập thông tin xác thực người dùng gốc MariaDB (tên người dùng & mật khẩu) khi được Ghost-CLI yêu cầu trong quá trình cài đặt Ghost:
Thoát (ngắt kết nối) khỏi MariaDB:
NGINX có thể được cài đặt khác nhau, tùy thuộc vào hệ điều hành. Đối vớiLinux, có thể sử dụng các gói NGINX từnginx.org.
Tải xuống và cài đặt bản phát hành mainline mới nhất (được khuyến nghị cho hầu hết các lần triển khai) của NGINX và các mô-đun có thể tải động trực tiếp từkho lưu trữ NGINX chính thức:
Xác minh rằng NGINX đã được cài đặt bằng cách kiểm tra phiên bản của nó:
Khởi động và kích hoạt NGINX:
Tạo các thư mục
Thêm vào
Lưu file và thoát khỏi trình soạn thảo Vim.
Kiểm tra phiên bản Yarn:
Tải xuống và cài đặt công cụ Ghost-CLI:
Kiểm tra phiên bảnGhost-CLI:
Khắc phục sự cố hệ thống để tìm bất kỳ sự cố tiềm ẩn nào khi cài đặt hoặc cập nhật Ghost:
Đầu tiên, hãy tạo thư mục gốc tài liệu trống:
Thay đổi quyền sở hữu thư mục
Thư mục cài đặt của bạn phải có đúng quyền:
Điều hướng đến thư mục gốc Ghost:
Đảm bảo rằng thư mục trống để tránh xung đột tệp:
Cài đặt Ghost ở chế độ sản xuất bằng cách chạy:
Trả lời từng câu hỏi như được nhắc:
Sau khi cài đặt hoàn tất, hãy chạy
để xem các tiến trình Ghost đang chạy.
Trong tương lai, để cập nhật blog Ghost của bạn khi phiên bản mới hơn được phát hành, bạn chỉ cần chạy
lệnh, từ thư mục cài đặt Ghost và Ghost-CLI sẽ lo liệu mọi thứ cho bạn.
Trên màn hình chào mừng, hãy nhấp vào Tạo tài khoản của bạn:
Nhập email của bạn, tạo người dùng, mật khẩu và tiêu đề blog:
Mời thêm thành viên vào nhóm của bạn. Nếu bạn muốn bỏ qua bước này, hãy nhấp vào Tôi sẽ thực hiện việc này sau, đưa tôi đến blog của tôi! ở cuối trang.
Điều hướng đến khu vực quản trị Ghost để tạo bài đăng đầu tiên, thay đổi chủ đề của trang web hoặc cấu hình các cài đặt bổ sung:
Xin chúc mừng! Bạn đã cài đặt và triển khai thành công nền tảng blog Ghost trên máy chủ Ubuntu 18.04 LTS.
Gần đây, các nhà phát triển Ghost đã phát hànhbản phát hành ổn định chính đầu tiên của Ghost - 1.0.0. Ghost 1.0.0 đã giới thiệu nhiều tính năng mới và đáng chú ý nhất trong số đó là:trình chỉnh sửa Markdown hoàn toàn mới,giao diện người dùng (UI) được làm mới,thiết kế chủ đề mặc định mới, quy trình cài đặt và cập nhật mới vàđược cải thiện với công cụ Ghost-CLI.
Trong hướng dẫn này, chúng ta sẽ thiết lập và triển khai một blog Ghost an toàn với sự trợ giúp của công cụ Ghost-CLI của Ghost trên máy chủ Ubuntu 18.04 LTSbằng cách sử dụng Let's Encrypt, Acme.sh, Node.js, npm, Yarn, NGINX và MySQL/MariaDB.
Yêu cầu
- Tên miền. Hướng dẫn này sẽ sử dụng tên miền example.com.
- Một máy chủ chạy Ubuntu 18.04 LTS với 1GB RAM.
- Một người dùng không phải root có quyền sudo.
Các bước ban đầu
Kiểm tra phiên bản Ubuntu của bạn:
Mã:
lsb_release -ds
# Ubuntu 18.04 LTS
Mã:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Mã:
sudo apt update && sudo apt upgrade -y
build-essential
:
Mã:
sudo apt install -y build-essential
Bước 1 - Cài đặt Node.js và npm
LƯU Ý: Ghost 1.0.0 mới nhất hiện chỉ hỗ trợ các phiên bản Node.js8.9+ và 6.9+.Ghost được xây dựng trênNode.js. Chúng tôi sẽ cài đặt phiên bảnđược khuyến nghịcho Ghost làv8 Carbon LTS tại thời điểm viết hướng dẫn này. Trên Linux, bạn có một số tùy chọn cài đặt: Linux Binaries (x86/x64), Source Code hoặc thông qua Package Managers. Chúng tôi sẽ sử dụng phương pháp Package Manager bằng cách sử dụng kho lưu trữ Nodesource.
Tải xuống và cài đặt phiên bản (bản phát hành) Hỗ trợ dài hạn (LTS) mới nhất của Node.js:
Mã:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
Kiểm tra phiên bản Node.js và npm:
Mã:
node -v && npm -v
# v8.11.2
# 5.6.0
Mã:
sudo npm install -g npm@latest
Mã:
npm -v
# 6.1.0
Bước 2 - Cài đặt máy chủ MariaDB
Ghost hỗ trợ cơ sở dữ liệuMySQL/MariaDB vàSQLite. Tuy nhiên, trong hướng dẫn này, chúng ta sẽ sử dụng cơ sở dữ liệu MariaDB. Nếu bạn thích, bạn có thể sử dụng MySQL thay vì MariaDB.Tải xuống và cài đặt phiên bản ổn định mới nhất của máy chủ MariaDB từ kho lưu trữ MariaDB trên máy của bạn:
Mã:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
root
của MariaDB. Bạn nên nhập mật khẩu mạnh.Kiểm tra phiên bản MariaDB:
Mã:
mysql --version && sudo mysqld --version
#mysql Ver 15.1 Distrib 10.3.7-MariaDB, dành cho debian-linux-gnu (x86_64) bằng readline 5.2
#mysqld Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log dành cho debian-linux-gnu trên x86_64 (bản phân phối nhị phân mariadb.org)
Mã:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
mysql_secure_installation
(tập lệnh) để cải thiện tính bảo mật cho cài đặt MariaDB của bạn:
Mã:
sudo mysql_secure_installation
#Nhập mật khẩu hiện tại cho root (nhập nếu không nhập):
#Đổi mật khẩu root? [C/N] K
#Xóa người dùng ẩn danh? [C/N] K
#Không cho phép root đăng nhập từ xa? [C/N] K
#Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] K
#Tải lại bảng đặc quyền ngay bây giờ? [C/N] K
# Thành công.
#Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thì việc cài đặt MariaDB của bạn hiện đã an toàn.
#Cảm ơn bạn đã sử dụng MariaDB!
root
MariaDB:
Mã:
mysql -u root -p
Mã:
mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;
Mã:
mysql>EXIT;
Bước 3 - Cài đặt NGINX
NGINX(engine-x) là máy chủ web hiệu suất cao, bộ cân bằng tải, bộ đệm và máy chủ proxy hoạt động tốt trong mọi môi trường: Bare Metal, Đám mây công cộng/riêng tư/lai và Container. NGINX sẽ được sử dụng làm proxy ngược cho ứng dụng Ghost của chúng tôi.NGINX có thể được cài đặt khác nhau, tùy thuộc vào hệ điều hành. Đối vớiLinux, có thể sử dụng các gói NGINX từnginx.org.
Tải xuống và cài đặt bản phát hành mainline mới nhất (được khuyến nghị cho hầu hết các lần triển khai) của NGINX và các mô-đun có thể tải động trực tiếp từkho lưu trữ NGINX chính thức:
Mã:
wget https://nginx.org/keys/nginx_signing.key[URL=https://nginx.org/keys/nginx_signing.key?utm_source=diendancongnghe.com]
[/URL]sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Mã:
sudo nginx -v && sudo nginx -V
# phiên bản nginx: nginx/1.15.0
# phiên bản nginx: nginx/1.15.0
Mã:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
/etc/nginx/snippets, /etc/nginx/ssl
, /etc/nginx/sites-available
và /etc/nginx/sites-enabled
. Các thư mục này cần thiết để công cụ Ghost-CLI hoạt động chính xác:
Mã:
sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}
include /etc/nginx/sites-enabled/*.conf;
directiveto nginx.conf
file, chạy:
Mã:
sudo vim /etc/nginx/nginx.conf
Lưu file và thoát khỏi trình soạn thảo Vim.
Bước 4 - Cài đặt Yarn (tùy chọn)
Tải xuống và cài đặt trình quản lý góiYarn trên hệ thống của bạn:
Mã:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install -y yarn
Mã:
yarn --version
# 1.7.0
Bước 5 - Cài đặt Ghost-CLI
Ghost-CLIlà một công cụ giao diện dòng lệnh (CLI) giúp cài đặt và cập nhật Ghost dễ dàng. Công cụ này thiết lập cơ sở dữ liệu, cấu hình NGINX làm proxy ngược, kích hoạt bảo mật TLS/SSL bằng Let’s Encrypt CA, tự động gia hạn SSL của bạn và khởi tạo Ghost thành dịch vụ systemd. Ghost-CLI là một mô-đun npm có thể được cài đặt thông quanpm
hoặc yarn
.Tải xuống và cài đặt công cụ Ghost-CLI:
Mã:
sudo npm install -g ghost-cli@latest
# hoặc với Yarn
sudo yarn global add ghost-cli@latest
Mã:
ghost version
# Phiên bản Ghost-CLI: 1.8.1
Mã:
ghost doctor install
Bước 6 - Cài đặt Ghost
Tiếp theo, chúng ta sẽ cài đặt Ghost bằng công cụ Ghost-CLI.Đầu tiên, hãy tạo thư mục gốc tài liệu trống:
Mã:
sudo mkdir -p /var/www/example.com
/var/www/example.com
thành người dùng không phải root với sudo
quyền mà bạn đã tạo. Trong ví dụ này, johndoe:
Mã:
sudo chown johndoe:johndoe /var/www/example.com
Mã:
sudo chmod 755 /var/www/example.com
Mã:
cd /var/www/example.com
Mã:
ls -a
Mã:
ghost cài đặt
Mã:
? Nhập URL blog của bạn: https://example.com? Nhập tên máy chủ MySQL của bạn: localhost? Nhập tên người dùng MySQL của bạn: root? Nhập mật khẩu MySQL của bạn: your_mysql_root_user_password_here? Nhập tên cơ sở dữ liệu Ghost của bạn: database_name_for_ghost
? Bạn có muốn thiết lập người dùng mysql "ghost" không? có? Bạn có muốn thiết lập Nginx không? có? Bạn có muốn thiết lập SSL không? có? Nhập email của bạn (được sử dụng cho thông báo Let's Encrypt) [emailprotected]? Bạn có muốn thiết lập Systemd không? có? Bạn có muốn khởi động Ghost không? có
Mã:
ghost ls
Trong tương lai, để cập nhật blog Ghost của bạn khi phiên bản mới hơn được phát hành, bạn chỉ cần chạy
Mã:
ghost update
Bước 7 - Hoàn tất thiết lập Ghost
Để hoàn tất quá trình thiết lập, hãy điều hướng đến trang cấu hình Ghost bằng cách thêm/ghost
vào cuối URL hoặc IP của blog. Ví dụ này sử dụng https://example.com/ghost
.Trên màn hình chào mừng, hãy nhấp vào Tạo tài khoản của bạn:
Nhập email của bạn, tạo người dùng, mật khẩu và tiêu đề blog:
Mời thêm thành viên vào nhóm của bạn. Nếu bạn muốn bỏ qua bước này, hãy nhấp vào Tôi sẽ thực hiện việc này sau, đưa tôi đến blog của tôi! ở cuối trang.
Điều hướng đến khu vực quản trị Ghost để tạo bài đăng đầu tiên, thay đổi chủ đề của trang web hoặc cấu hình các cài đặt bổ sung:
Xin chúc mừng! Bạn đã cài đặt và triển khai thành công nền tảng blog Ghost trên máy chủ Ubuntu 18.04 LTS.