Thứ sáu, 13/04/2018 | 00:00 GMT+7

Cách cài đặt và cấu hình Ghost trên Ubuntu 16.04

Ghost là một nền tảng blog open-souce dung lượng nhẹ. Ghost hoàn toàn có thể tùy chỉnh, với nhiều chủ đề có sẵn.

Trong hướng dẫn này, bạn sẽ cài đặt version Ghost sẵn sàng production trên Ubuntu 16.04 bằng trình hướng dẫn cài đặt ghost-cli chính thức. Thao tác này sẽ cài đặt Ghost, cấu hình Nginx cho các yêu cầu proxy tới Ghost, bảo mật nó bằng certificate Let's Encrypt và cấu hình Ghost để chạy trong nền như một dịch vụ hệ thống.

Yêu cầu

Để hoàn thành hướng dẫn này, bạn cần :

Bước 1 - Cài đặt ứng dụng Ghost CLI

Ta sẽ cài đặt Ghost bằng chương trình ghost-cli chính thức. Chương trình này sẽ cài đặt Ghost, tạo database và user MySQL, cấu hình Nginx làm Reverse Proxy và bảo mật trang web bằng mã hóa SSL / TLS.

Đầu tiên, tải ghost-cli bằng npm :

  • sudo npm i -g ghost-cli

Ta sẽ đặt Ghost trong folder var/www/ghost , đây là vị trí cài đặt được khuyến khích . Tạo folder này:

  • mkdir /var/www/ghost

Sau đó, đảm bảo user của bạn sở hữu folder này.

  • sudo chown $USER:$USER /var/www/ghost

Thư mục /var/www/ghost phải có đầy đủ quyền cho user của bạn và đọc và thực thi quyền cho những người khác, vì vậy hãy đặt quyền bằng lệnh sau:

sudo chmod 775 /var/www/ghost 

Với CLI được cài đặt và folder tại chỗ, ta có thể cài đặt blog của bạn .

Bước 2 - Cài đặt và cấu hình Ghost

Ứng dụng Ghost CLI có một trình hướng dẫn cài đặt sẽ hướng dẫn bạn qua tất cả các bước để cấu hình một blog Ghost đang hoạt động.

Chuyển sang folder /var/www/ghost/ .

  • cd /var/www/ghost/

Sau đó sử dụng lệnh ghost để cài đặt Ghost. Nó sẽ cấu hình Ghost để sử dụng MySQL làm database mặc định. Trong khi bạn có thể sử dụng các database khác, MySQL là lựa chọn được khuyến khích cho các cài đặt production .

  • ghost install

Trước tiên, trình cài đặt sẽ đảm bảo bạn đã cài đặt các yêu cầu cần thiết, sau đó sẽ download và cài đặt Ghost:

Output
✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions ✔ Checking operating system compatibility ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.22.2 ✔ Finishing install process

Khi cài đặt xong , bạn sẽ được yêu cầu nhập URL blog của bạn cùng với thông tin database MySQL của bạn. Cung cấp tên user và password gốc trong bước này. Đối với tên database , bạn có thể sử dụng mặc định của ghost_prod .

Output
? Enter your blog URL: http://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: [hidden] ? Enter your Ghost database name: ghost_prod

Sau đó, trình hướng dẫn cấu hình sẽ tạo một user hệ thống ma và sẽ hỏi bạn liệu nó có nên tạo user MySQL ma hay không , mà bạn nên cho phép:

Output
✔ Configuring Ghost ✔ Setting up instance Running sudo command: useradd --system --user-group ghost Running sudo command: chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ? Do you wish to set up "ghost" mysql user? Yes ✔ Setting up "ghost" mysql user

Tiếp theo, nó sẽ hỏi bạn có muốn cấu hình Nginx hay không. Xác nhận điều này và trình cài đặt sẽ tạo khối server Reverse Proxy thích hợp cho blog của bạn:

Output
? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.con.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf Running sudo command: nginx -s reload ✔ Setting up Nginx

Tiếp theo, bạn sẽ được yêu cầu cài đặt hỗ trợ SSL. Nếu bạn đang sử dụng một domain đủ điều kiện đã đăng ký và đã cấu hình cài đặt DNS của bạn để trỏ đến địa chỉ IP của server , thì hãy nhấn Y để tiếp tục.

Output
? Do you wish to set up SSL? Yes

Bạn sẽ được yêu cầu nhập địa chỉ email của bạn và sau đó certificate sẽ được cài đặt.

Output
? Enter your email (used for Let's Encrypt notifications) you@example.com Running sudo command: mkdir -p /etc/letsencrypt Running sudo command: ./acme.sh --install --home /etc/letsencrypt Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail you@example.com Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf ✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf Running sudo command: nginx -s reload ✔ Setting up SSL

Tiếp theo, trình hướng dẫn cấu hình sẽ nhắc bạn cài đặt dịch vụ systemd. Nhấn Y để tiếp tục và trình hướng dẫn sẽ tạo một dịch vụ systemd mới có tên là ghost_ example-com và cho phép nó bắt đầu khi server khởi động :

Output
? Do you wish to set up Systemd? Yes ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service Running sudo command: systemctl daemon-reload ✔ Setting up Systemd

Cuối cùng, trình hướng dẫn sẽ cấu hình database của bạn và hỏi liệu nó có nên khởi động Ghost hay không, mà bạn nên cho phép bằng cách nhấn Y :

Output
Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current ✔ Running database migrations ? Do you want to start Ghost? Yes Running sudo command: systemctl is-active ghost_example-com ✔ Ensuring user is not logged in as ghost user ✔ Checking if logged in user is directory owner ✔ Checking current folder permissions Running sudo command: systemctl is-active ghost_example-com ✔ Validating config ✔ Checking folder permissions ✔ Checking file permissions ✔ Checking content folder ownership ✔ Checking memory availability Running sudo command: systemctl start ghost_example-com ✔ Starting Ghost Running sudo command: systemctl is-enabled ghost_example-com Running sudo command: systemctl enable ghost_example-com --quiet ✔ Starting Ghost

Blog Ghost của bạn hiện đã được cài đặt và sẵn sàng sử dụng. Bạn có thể truy cập blog của bạn tại http:// example.com . Bây giờ ta hãy tạo một account để bạn có thể tạo bài viết đầu tiên của bạn .

Bước 3 - Tạo account và cấu hình blog của bạn

Để đăng nhập và cấu hình blog của bạn, hãy truy cập http:// example.com /login . Bạn sẽ được chào đón bằng màn hình sau:

Màn hình chào mừng

Nhấn nút Tạo account của bạn để bắt đầu.

Bạn sẽ thấy màn hình Tạo account của bạn , màn hình yêu cầu bạn nhập tiêu đề blog, cũng như tên, địa chỉ email và password của bạn:

Tạo màn hình account

Điền thông tin chi tiết và nhấn Bước cuối cùng: Nút Mời group của bạn .

Trình hướng dẫn sẽ yêu cầu bạn nhập địa chỉ email của các cộng tác viên khác, nhưng bạn có thể chọn liên kết mà tôi sẽ thực hiện việc này sau ở cuối màn hình.

Sau đó, bạn sẽ thấy danh sách các bài đăng, mà Ghost gọi là câu chuyện:

Danh sách truyện

Menu bên trái cho phép bạn tạo câu chuyện mới hoặc quản lý các cài đặt khác của blog. Tham khảo tài liệu chính thức để tìm hiểu thêm.

Kết luận

Trong hướng dẫn này, bạn đã cài đặt Ghost, cấu hình Nginx cho các yêu cầu proxy tới Ghost và đảm bảo Ghost chạy như một dịch vụ hệ thống. Tuy nhiên, bạn có thể làm được nhiều điều hơn nữa với Ghost. Hãy xem các hướng dẫn này để tìm hiểu thêm về cách sử dụng blog mới của bạn:


Tags:

Các tin liên quan

Cách lưu trữ một trang web với Caddy trên Ubuntu 16.04
2018-04-12
Cách thiết lập khóa SSH trên Ubuntu 16.04
2018-04-12
Cách đồng bộ hóa dữ liệu đã chuyển đổi từ MongoDB sang Elasticsearch với Transporter trên Ubuntu 16.04
2018-04-05
Cách triển khai trang web Jekyll bằng Git Hooks trên Ubuntu 16.04
2018-03-29
Cách chặn nỗ lực đăng nhập SSH không mong muốn với PyFilter trên Ubuntu 16.04
2018-03-27
Cách tự động triển khai ứng dụng Laravel với Trình triển khai trên Ubuntu 16.04
2018-03-23
Cách thiết lập trang web phát triển Jekyll trên Ubuntu 16.04
2018-03-20
Cách cài đặt Ruby on Rails với rbenv trên Ubuntu 16.04
2018-03-15
Cách cài đặt Node.js trên Ubuntu 16.04
2018-03-07
Cách cài đặt và bảo mật Memcached trên Ubuntu 16.04
2018-03-06