Ghost là một nền tảng blog mã nguồn mở giúp bạn tạo blog trông chuyên nghiệp. Nó được ra mắt vào năm 2013 như một giải pháp thay thế cho WordPress. Nó được viết bằng JavaScript và được hỗ trợ bởi thư viện Node.js.
Trong hướng dẫn này, chúng ta sẽ khám phá cách cài đặt Ghost CMS bằng Nginx và MySQL trên máy chủ chạy Debian 12. Chúng ta sẽ sử dụng chứng chỉ SSL Let's Encrypt để bảo mật cài đặt của mình.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Cũng cho phép các cổng HTTP và HTTPS.
Bật Tường lửa
Kiểm tra trạng thái của tường lửa một lần nữa.
Bạn sẽ thấy kết quả tương tự.
Nhập khóa ký của Nginx.
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Cập nhật hệ thống kho lưu trữ.
Cài đặt Nginx.
Xác minh cài đặt.
Khởi động Nginx máy chủ.
Tiếp theo, tạo tệp kho lưu trữ Nodesource. Chúng tôi sẽ cài đặt Node 18x, đây là phiên bản LTS (Hỗ trợ dài hạn) hiện tại mà Ghost khuyến nghị.
Cập nhật danh sách kho lưu trữ hệ thống.
Cài đặt Node.
Xác nhận cài đặt Node.
Nhập khóa GPG của Docker.
Tạo tệp kho lưu trữ Docker.
Cập nhật kho lưu trữ hệ thống danh sách.
Cài đặt Docker và Docker Compose.
Theo mặc định, Docker yêu cầu quyền root. Nếu bạn muốn tránh sử dụng
Bạn sẽ cần phải đăng xuất khỏi máy chủ và đăng nhập lại với cùng một người dùng để kích hoạt thay đổi này hoặc sử dụng lệnh sau lệnh.
Xác nhận rằng người dùng của bạn đã được thêm vào nhóm Docker.
Bây giờ Docker đã được cài đặt, chúng ta cần tạo tệp Docker compose cho MySQL. Tạo một thư mục cho MySQL docker.
Tạo và mở tệp
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Ở đây chúng tôi đã đặt mật khẩu gốc và thông tin đăng nhập MySQL cho cơ sở dữ liệu Ghost. Những mục này sẽ được tạo khi container được chạy.
Khởi động container MySQL.
Kiểm tra trạng thái của container Docker.
Ghost có thể kết nối với container MySQL bằng cổng 3306 và thực hiện các thao tác trên đó.
Cài đặt Ghost sẽ bao gồm ba thành phần - Công cụ dòng lệnh Ghost-CLI cài đặt và quản lý các bản cập nhật cho blog Ghost và chính gói blog.
Đặt quyền sở hữu thư mục cho người dùng hiện tại.
Đặt đúng thư mục quyền.
Chuyển sang thư mục Ghost.
Trong quá trình cài đặt, công cụ CLI sẽ hỏi một số câu hỏi để cấu hình blog.
Để cài đặt Certbot, chúng ta sẽ sử dụng trình cài đặt gói Snapd. Snapd luôn mang phiên bản ổn định mới nhất của Certbot. Tuy nhiên, Debian không cài đặt Snapd. Cài đặt trước.
Đảm bảo phiên bản snapd của bạn được cập nhật.
Cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Xác minh cài đặt.
Tạo SSL chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Dán mã sau vào
Cấu hình trên sẽ chuyển hướng tất cả các yêu cầu HTTP sang HTTPS và sẽ đóng vai trò là proxy cho dịch vụ Ghost để phục vụ nó thông qua tên miền của bạn.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Mở tệp
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh Nginx của bạn cấu hình.
Nếu bạn không thấy lỗi nào, điều đó có nghĩa là bạn có thể tiếp tục. Khởi động lại máy chủ Nginx để áp dụng cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22575%22%3E%3C/svg%3E
Tại đây, bạn sẽ được yêu cầu tạo tài khoản Quản trị viên và chọn tiêu đề blog.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22639%22%20height=%22750%22%3E%3C/svg%3E
Nhập thông tin chi tiết của bạn và nhấp vào Tạo tài khoản & nút bắt đầu xuất bản để tiếp tục.
Tiếp theo, bạn sẽ được đưa đến màn hình sau, tại đó bạn được cung cấp các tùy chọn như viết bài đăng đầu tiên, tùy chỉnh trang web của mình và nhập thành viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22566%22%3E%3C/svg%3E
Chúng ta sẽ chọn Quản trị viên Khám phá Ghost để khám phá và đi trực tiếp đến bảng điều khiển. Khi kết thúc quá trình thiết lập, bạn sẽ được chào đón bằng bảng điều khiển Quản trị của Ghost.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22513%22%3E%3C/svg%3E
Nếu bạn muốn chuyển sang chế độ tối, bạn có thể thực hiện bằng cách nhấp vào công tắc chuyển đổi bên cạnh nút bánh răng cài đặt ở cuối trang cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22177%22%20height=%2273%22%3E%3C/svg%3E
Bạn sẽ thấy một bài đăng mặc định. Bạn có thể hủy đăng hoặc xóa bài đăng đó và bắt đầu đăng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22449%22%3E%3C/svg%3E
Trước tiên, chúng ta hãy cấu hình dịch vụ SMTP cho email giao dịch. Để thực hiện việc này, hãy mở tệp
Tìm nội dung sau dòng.
Thay thế chúng bằng mã sau.
Ở đây chúng tôi sử dụng dịch vụ Amazon SES Mail vì giá cả phải chăng và không yêu cầu trả phí hàng tháng.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. Sau khi hoàn tất, hãy khởi động lại ứng dụng Ghost để những thay đổi có hiệu lực.
Để định cấu hình cài đặt bản tin, hãy truy cập Cài đặt >> Phần bản tin email.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22653%22%3E%3C/svg%3E
Nhấp vào liên kết Cấu hình Mailgun để mở rộng.
Điền Vùng Mailgun, tên miền và khóa API của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22711%22%20height=%22331%22%3E%3C/svg%3E
Nhấp vào nút Lưu ở trên cùng bên phải để lưu cài đặt.
Để kiểm tra việc gửi bản tin, hãy tạo một bài đăng thử nghiệm mới, nhấn xuất bản và chọn tùy chọn Chỉ email. Nếu bạn cũng muốn xuất bản bài đăng, hãy chọn tùy chọn Xuất bản và gửi email.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22726%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào nút Tiếp tục, đánh giá cuối cùng để tiếp tục. Trang tiếp theo sẽ yêu cầu xác nhận cuối cùng một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22701%22%20height=%22367%22%3E%3C/svg%3E
Nhấp vào nút Gửi email ngay để gửi bản tin. Bạn sẽ nhận được thông báo sau khi thư được gửi đi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22598%22%20height=%22211%22%3E%3C/svg%3E
Kiểm tra email của bạn để biết bài đăng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22573%22%3E%3C/svg%3E
Trước tiên, hãy sao lưu đầy đủ nếu bạn muốn chạy bản cập nhật nhỏ. Nó tạo bản sao lưu của tất cả các bài đăng, thành viên, chủ đề, hình ảnh, tệp và tệp chuyển hướng.
Chạy lệnh cập nhật để thực hiện bản cập nhật nhỏ.
Để thực hiện bản cập nhật lớn, bạn nên làm theo hướng dẫn cập nhật chi tiết chính thức tại Ghost. Tùy thuộc vào phiên bản hiện tại của bạn và phiên bản chính mà bạn muốn cập nhật, các bước sẽ khác nhau.
Trong hướng dẫn này, chúng ta sẽ khám phá cách cài đặt Ghost CMS bằng Nginx và MySQL trên máy chủ chạy Debian 12. Chúng ta sẽ sử dụng chứng chỉ SSL Let's Encrypt để bảo mật cài đặt của mình.
Điều kiện tiên quyết
-
Máy chủ chạy Debian 12 với tối thiểu 2GB RAM.
-
Người dùng không phải root có quyền sudo.
-
Tên miền đủ điều kiện (FQDN) nhưexample.com
trỏ đến máy chủ.
-
Đảm bảo mọi thứ được cập nhật.
Mã:
$ sudo apt update
$ sudo apt upgrade
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
Bước 1 - Cấu hình Tường lửa UFW
Bước đầu tiên là cấu hình tường lửa. Debian đi kèm với ufw (Uncomplicated Firewall) theo mặc định.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Mã:
Status: inactive
Mã:
$ sudo ufw allow OpenSSH
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Mã:
$ sudo ufw status
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt Nginx
Debian 12 đi kèm với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install nginx
sudo
là lệnh bắt buộc để chạy lệnh trên Debian.
Mã:
$ sudo nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl start nginx
Bước 3 - Cài đặt Node.js
Ghost Installer cần Nodejs để hoạt động. Bước đầu tiên là nhập khóa GPG của Nodesource.
Mã:
$ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
Mã:
$ NODE_MAJOR=18
$ echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install nodejs -y
Mã:
$ node --version
v18.18.2
Bước 4 - Cài đặt MySQL bằng Docker
Debian không còn đi kèm MySQL nữa. Thay vào đó, nó đi kèm với MariaDB. Ghost chỉ hỗ trợ MySQL. Bạn có thể tinh chỉnh Ghost để hoạt động với MariaDB nhưng không được khuyến khích. Vì kho lưu trữ chính thức của MySQL chưa được cập nhật cho Debian 12 tại thời điểm viết hướng dẫn này, chúng tôi sẽ cài đặt nó bằng Docker.Nhập khóa GPG của Docker.
Mã:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Mã:
$ echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Mã:
$ sudo apt update
Mã:
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo
mỗi khi bạn chạy lệnh docker
, hãy thêm tên người dùng của bạn vào docker
nhóm.
Mã:
$ sudo usermod -aG docker $(whoami)
Mã:
$ su - ${USER}
Mã:
$ groups
navjot wheel docker
Mã:
$ mkdir ~/mysql
docker-compose.yml
cho chỉnh sửa.
Mã:
$ nano docker-compose.yml
Mã:
services: database: image: container-registry.oracle.com/mysql/community-server:latest container_name: mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_USER: ghost MYSQL_PASSWORD: ghostpassword MYSQL_DATABASE: ghostdb ports: - "3306:3306" volumes: - ./mysql:/var/lib/mysql
Ở đây chúng tôi đã đặt mật khẩu gốc và thông tin đăng nhập MySQL cho cơ sở dữ liệu Ghost. Những mục này sẽ được tạo khi container được chạy.
Khởi động container MySQL.
Mã:
$ docker compose up -d
Mã:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec42fb205f1e container-registry.oracle.com/mysql/community-server:latest "/entrypoint.sh mysq…" 4 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060-33061/tcp mysql
Bước 5 - Cài đặt Ghost
Chúng ta cũng có thể cài đặt Ghost bằng Docker, cách này có thể đơn giản hóa mọi thứ nhưng chúng ta sẽ không thực hiện ở đây.Cài đặt Ghost sẽ bao gồm ba thành phần - Công cụ dòng lệnh Ghost-CLI cài đặt và quản lý các bản cập nhật cho blog Ghost và chính gói blog.
Cài đặt Ghost-CLI
Chạy lệnh sau để cài đặt công cụ Ghost-CLI.
Mã:
$ sudo npm install ghost-cli@latest -g
Chuẩn bị thư mục Ghost
Tạo thư mục gốc Ghost thư mục.
Mã:
$ sudo mkdir -p /var/www/html/ghost
Mã:
$ sudo chown $USER:$USER /var/www/html/ghost
Mã:
$ sudo chmod 755 /var/www/html/ghost
Mã:
$ cd /var/www/html/ghost
Cài đặt Ghost
Cài đặt Ghost chỉ bằng một lệnh quá trình.
Mã:
$ ghost install
- URL blog: Nhập URL blog đầy đủ của bạn cùng với giao thức https. (
https://example.com
) - Tên máy chủ MySQL: Nhấn Enter để sử dụng giá trị mặc định là
localhost
vì bản cài đặt Ghost và MySQL của chúng tôi nằm trên cùng một máy chủ. - Tên người dùng MySQL: Nhập
ghost
làm tên người dùng MySQL của bạn. - Mật khẩu MySQL: Nhập mật khẩu gốc đã tạo trước đó trong tệp docker.
- Tên cơ sở dữ liệu ma: Nhập tên cơ sở dữ liệu (
ghostdb
) được định cấu hình trong tệp docker. - Mật khẩu Sudo: Nó sẽ yêu cầu bạn nhập sudo password để thực hiện các tác vụ quản trị.
- Thiết lập Nginx? Thông thường, Ghost-CLI phát hiện cài đặt Nginx của bạn và tự động cấu hình nó cho blog của bạn. Nhưng điều đó chỉ có tác dụng đối với Nginx được cài đặt bằng gói hệ điều hành. Vì chúng tôi đã cài đặt nó bằng kho lưu trữ của Nginx, Ghost không thể phát hiện ra nó và sẽ tự động bỏ qua nó.
- Thiết lập SSL?: Vì nó bỏ qua cấu hình Nginx, nên công cụ CLI cũng sẽ bỏ qua việc thiết lập SSL.
- Thiết lập systemd?: Ghost sẽ hỏi bạn có muốn thiết lập dịch vụ hệ thống cho Ghost không. Nhấn Y để tiếp tục.
- Khởi động Ghost?: Nhấn Y để bắt đầu cài đặt Ghost của bạn. Tuy nhiên, nó sẽ không hoạt động vì Nginx và SSL vẫn chưa được cấu hình.
Bước 6 - Cài đặt SSL
Trước khi tiến hành, chúng ta cần cài đặt công cụ Certbot và cài đặt chứng chỉ SSL cho tên miền của mình.Để cài đặt Certbot, chúng ta sẽ sử dụng trình cài đặt gói Snapd. Snapd luôn mang phiên bản ổn định mới nhất của Certbot. Tuy nhiên, Debian không cài đặt Snapd. Cài đặt trước.
Mã:
$ sudo apt install snapd
Mã:
$ sudo snap install core
$ sudo snap refresh core
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.7.1
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d example.com
/etc/letsencrypt/live/example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2023-10-17 00:00:00 UTC 14h left Mon 2023-10-16 00:00:18 UTC 9h ago dpkg-db-backup.timer dpkg-db-backup.service
Mon 2023-10-16 19:12:00 UTC 9h left Mon 2023-10-16 07:27:11 UTC 2h 17min ago snap.certbot.renew.timer snap.certbot.renew.service
Mon 2023-10-16 20:49:14 UTC 11h left Mon 2023-10-16 07:48:12 UTC 1h 56min ago apt-daily.timer apt-daily.service
Mã:
$ sudo certbot renew --dry-run
Bước 7 - Cấu hình Nginx
Tạo và mở tệp/etc/nginx/conf.d/ghost.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/ghost.conf
ghost.conf
tệp. Thay thế tất cả các trường hợp của example.com
bằng tên miền của bạn.
Mã:
server { listen 80; listen [::]:80; server_name example.com; location / { return 301 https://$server_name$request_uri; }
}
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com; access_log /var/log/nginx/ghost.access.log; error_log /var/log/nginx/ghost.error.log; client_max_body_size 20m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; ssl_prefer_server_ciphers off; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_stapling on; ssl_stapling_verify on; resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s; resolver_timeout 2s; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:2368; }
}
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Mở tệp
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Xác minh Nginx của bạn cấu hình.
Mã:
$ sudo nginx -t
Mã:
$ sudo systemctl restart nginx
Bước 9 - Chạy trang web
Bây giờ, bạn có thể xác minh cài đặt của mình bằng cách mởhttps://example.com
trong trình duyệt web của bạn. Bạn sẽ nhận được trang sau cho biết quá trình cài đặt thành công.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22575%22%3E%3C/svg%3E
Bước 10 - Hoàn tất thiết lập
Để hoàn tất quá trình thiết lập blog Ghost, hãy truy cậphttps://example.com/ghost
trong trình duyệt của bạn. Phần bổ sung /ghost
ở cuối tên miền blog của bạn sẽ chuyển hướng bạn đến Bảng quản trị của Ghost hoặc trong trường hợp này là phần thiết lập vì đây là lần đầu tiên bạn truy cập vào bảng này.Tại đây, bạn sẽ được yêu cầu tạo tài khoản Quản trị viên và chọn tiêu đề blog.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22639%22%20height=%22750%22%3E%3C/svg%3E
Nhập thông tin chi tiết của bạn và nhấp vào Tạo tài khoản & nút bắt đầu xuất bản để tiếp tục.
Tiếp theo, bạn sẽ được đưa đến màn hình sau, tại đó bạn được cung cấp các tùy chọn như viết bài đăng đầu tiên, tùy chỉnh trang web của mình và nhập thành viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22566%22%3E%3C/svg%3E
Chúng ta sẽ chọn Quản trị viên Khám phá Ghost để khám phá và đi trực tiếp đến bảng điều khiển. Khi kết thúc quá trình thiết lập, bạn sẽ được chào đón bằng bảng điều khiển Quản trị của Ghost.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22513%22%3E%3C/svg%3E
Nếu bạn muốn chuyển sang chế độ tối, bạn có thể thực hiện bằng cách nhấp vào công tắc chuyển đổi bên cạnh nút bánh răng cài đặt ở cuối trang cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22177%22%20height=%2273%22%3E%3C/svg%3E
Bạn sẽ thấy một bài đăng mặc định. Bạn có thể hủy đăng hoặc xóa bài đăng đó và bắt đầu đăng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22449%22%3E%3C/svg%3E
Bước 11 - Cấu hình Mailer
Ghost không chỉ hoạt động như một nền tảng viết blog mà còn là một trình quản lý bản tin. Đối với các hoạt động hàng ngày, bạn có thể sử dụng bất kỳ dịch vụ thư giao dịch nào để làm việc với Ghost để gửi thư. Nhưng nếu bạn muốn gửi bản tin qua Ghost, thì dịch vụ gửi thư hàng loạt chính thức duy nhất được hỗ trợ là Mailgun. Bạn cũng có thể sử dụng một dịch vụ bản tin khác nhưng để làm được điều đó, bạn sẽ cần sử dụng tính năng tích hợp Zapier của Ghost.Trước tiên, chúng ta hãy cấu hình dịch vụ SMTP cho email giao dịch. Để thực hiện việc này, hãy mở tệp
/var/www/html/ghost/config.production.json
để chỉnh sửa.
Mã:
$ nano /var/www/html/ghost/config.production.json
Mã:
"mail": { "transport": "Direct" },
Mã:
"mail": { "from": "'HowtoForge Support' [emailprotected]", "transport": "SMTP", "options": { "host": "YOUR-SES-SERVER-NAME", "port": 465, "service": "SES", "auth": { "user": "YOUR-SES-SMTP-ACCESS-KEY-ID", "pass": "YOUR-SES-SMTP-SECRET-ACCESS-KEY" } }
},
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. Sau khi hoàn tất, hãy khởi động lại ứng dụng Ghost để những thay đổi có hiệu lực.
Mã:
$ ghost restart
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22653%22%3E%3C/svg%3E
Nhấp vào liên kết Cấu hình Mailgun để mở rộng.
Điền Vùng Mailgun, tên miền và khóa API của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22711%22%20height=%22331%22%3E%3C/svg%3E
Nhấp vào nút Lưu ở trên cùng bên phải để lưu cài đặt.
Để kiểm tra việc gửi bản tin, hãy tạo một bài đăng thử nghiệm mới, nhấn xuất bản và chọn tùy chọn Chỉ email. Nếu bạn cũng muốn xuất bản bài đăng, hãy chọn tùy chọn Xuất bản và gửi email.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22726%22%20height=%22572%22%3E%3C/svg%3E
Nhấp vào nút Tiếp tục, đánh giá cuối cùng để tiếp tục. Trang tiếp theo sẽ yêu cầu xác nhận cuối cùng một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22701%22%20height=%22367%22%3E%3C/svg%3E
Nhấp vào nút Gửi email ngay để gửi bản tin. Bạn sẽ nhận được thông báo sau khi thư được gửi đi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22598%22%20height=%22211%22%3E%3C/svg%3E
Kiểm tra email của bạn để biết bài đăng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22573%22%3E%3C/svg%3E
Bước 12 - Cập nhật Ghost
Có hai loại cập nhật Ghost - Cập nhật nhỏ và Cập nhật lớn.Trước tiên, hãy sao lưu đầy đủ nếu bạn muốn chạy bản cập nhật nhỏ. Nó tạo bản sao lưu của tất cả các bài đăng, thành viên, chủ đề, hình ảnh, tệp và tệp chuyển hướng.
Mã:
$ cd /var/www/html/ghost
$ ghost backup
Mã:
$ ghost update