GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Ghost di Ubuntu 18.04

Ghost adalah platform penerbitan sumber modern yang dibangun di atas platform Node.js. Ini sepenuhnya dapat disesuaikan dan mudah digunakan, memungkinkan Anda untuk mempublikasikan konten Anda dengan kurva pembelajaran hampir nol.

Dalam tutorial ini kami akan menunjukkan kepada Anda cara menerapkan blog Ghost yang aman di server Ubuntu 18.04 menggunakan Nginx sebagai proxy, sertifikat SSL Let's Encrypt gratis, Node.js versi LTS terbaru, dan MySQL/MariaDB sebagai backend database .

Prasyarat #

Sebagai prasyarat untuk mengikuti tutorial ini, Anda memerlukan:

  • Menurut persyaratan sistem Ghost resmi, Anda memerlukan setidaknya 1G RAM. Jika Anda memiliki server dengan RAM kurang dari 1 GB, Anda dapat membuat file swap.
  • Nama domain yang menunjuk ke IP server publik Anda. Dalam tutorial ini kita akan menggunakan example.com .
  • Nginx diinstal dengan mengikuti Cara Menginstal Nginx di Ubuntu 18.04.
  • Firewall dikonfigurasi dengan mengikuti Cara Mengatur Firewall dengan UFW di Ubuntu 18.04. Pastikan port 80 dan 443 terbuka.

Sebelum melanjutkan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

Menginstal Node.js dan Benang #

Pada saat penulisan artikel ini, versi Node.js yang direkomendasikan untuk Ghost adalah v8 carbon LTS. Kami akan menginstal Node.js dari repositori NodeSource.

Aktifkan repositori NodeSource untuk Node.js v8 menggunakan curl berikut ini perintah:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Instal Node.js dengan mengetik:

sudo apt install nodejs
Untuk metode instalasi lainnya, lihat panduan Cara Memasang Node.js di Ubuntu 18.04.

Untuk menginstal yarnfirst, aktifkan repositori Yarn di sistem Anda dengan perintah berikut:

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

Setelah repositori diaktifkan, instal benang dengan:

sudo apt updatesudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Menginstal MySQL #

Ghost mendukung database MySQL, MariaDB dan SQLite. Dalam tutorial ini, kita akan menggunakan MySQL yang merupakan database yang direkomendasikan saat Anda menjalankan Ghost dalam mode produksi.

Instal paket MySQL dengan perintah berikut:

sudo apt install mysql-server

Jalankan mysql_secure_installation perintah untuk meningkatkan keamanan instalasi MySQL:

sudo mysql_secure_installation

Anda akan diminta untuk mengonfigurasi VALIDATE PASSWORD PLUGIN yang digunakan untuk menguji kekuatan kata sandi pengguna MySQL. Ada tiga tingkat kebijakan validasi kata sandi, rendah, sedang dan kuat. Tekan ENTER jika Anda tidak ingin menyiapkan plugin validasi sandi.

Pada prompt berikutnya Anda akan diminta untuk mengatur kata sandi untuk pengguna root MySQL.

Setelah Anda mengatur kata sandi root, skrip juga akan meminta Anda untuk menghapus pengguna anonim, membatasi akses pengguna root ke mesin lokal dan menghapus database pengujian. Anda harus menjawab Y (ya) untuk semua pertanyaan.

Selanjutnya kita perlu mengubah metode otentikasi dari auth_socket ke mysql_native_password , sehingga penginstal Ghost dapat mengakses server MySQL kami. Untuk melakukannya, masuk ke server MySQL sebagai pengguna root:

sudo mysql

dan jalankan kueri berikut yang akan menetapkan kata sandi pengguna root MySQL saat menggunakan mysql_native_password metode:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword';FLUSH PRIVILEGES;

Pastikan Anda mengubah very_strong_pasword dengan kata sandi yang kuat.

Menginstal Ghost-CLI #

Kami akan menginstal Ghost menggunakan utilitas Ghost CLI resmi. Utilitas ini memungkinkan Anda untuk menginstal atau memperbarui Ghost dalam satu perintah.

Ghost CLI tersedia sebagai paket npm. Perintah berikut akan menginstal Ghost CLI pada sistem Ubuntu Anda secara global:

sudo yarn global add ghost-cli

Membuat lokasi pemasangan Ghost #

Kami akan mengunduh dan menginstal Ghost di /var/www/ghost direktori, yang merupakan lokasi instalasi yang disarankan.

Untuk membuat jenis direktori:

sudo mkdir -p /var/www/ghost

Ubah kepemilikan direktori menjadi pengguna Anda:

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

$USER adalah variabel lingkungan yang menyimpan nama pengguna Anda.

Setel izin direktori yang benar:

sudo chmod 775 /var/www/ghost

Menginstal Ghost #

Sekarang setelah Anda menginstal Ghost CLI dan semua prasyarat sudah lengkap, kita bisa mulai dengan instalasi.

Ubah ke /var/www/ghost direktori.

cd /var/www/ghost

Untuk memulai instalasi, jalankan ghost install , yang akan menginstal dan mengonfigurasi Ghost, mengonfigurasi Nginx sebagai proxy terbalik, dan mengamankan situs dengan sertifikat SSL mari kita enkripsi gratis.

ghost install
✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
System checks failed with message: 'Linux version is not Ubuntu 16'
Some features of Ghost-CLI may not work without additional configuration.
For local installs we recommend using `ghost install local` instead.
? Continue anyway? (y/N) y

Penginstal akan memeriksa sistem Anda dan mencetak beberapa peringatan seperti yang ditunjukkan di atas. Ketik y untuk melanjutkan dan penginstal akan mengunduh dan menginstal Ghost:

ℹ Checking operating system compatibility [skipped]
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v1.24.9
✔ Finishing install process

Selanjutnya Anda akan diminta untuk mengatur URL blog Anda dan informasi MySQL Anda. Berikan username dan password root yang telah kita setup di Installing MySQL bagian dan gunakan nama database default ghost_prod .

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

Pemasang akan membuat pengguna sistem bernama ghost dan akan menanyakan apakah Anda ingin membuat pengguna MySQL hantu, ketik Yes .

✔ Configuring Ghost
✔ Setting up instance
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

Selanjutnya, penginstal akan menanyakan apakah Anda ingin mengatur Nginx. Konfirmasikan dengan mengetik Yes .

? Do you wish to set up Nginx? Yes
✔ Creating nginx config file at /var/www/ghost/system/files/example.com.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

Setelah Nginx diatur, penginstal akan menanyakan apakah Anda ingin mengatur SSL. Konfirmasikan dengan mengetik Yes dan wizard konfigurasi akan meminta Anda untuk memasukkan alamat email Anda dan kemudian akan menghasilkan sertifikat SSL Let's Encrypt gratis untuk domain Anda dan mengkonfigurasi Nginx.

? Do you wish to set up SSL? Yes
? Enter your email (used for Let's Encrypt notifications) [email protected]
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 [email protected]
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

Selanjutnya, penginstal akan menanyakan apakah Anda ingin menyiapkan layanan systemd. Ketik Y untuk menerima dan penginstal akan membuat layanan systemd baru bernama ghost_example-com dan mengaktifkannya untuk memulai saat boot:

? 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

Terakhir, penginstal akan menyiapkan database dan menanyakan apakah Anda ingin memulai Ghost, ketik Yes .

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
You can access your publication at https://example.com
Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication

Ghost uses direct mail by default
To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config

Selesaikan penyiapan Ghost #

Buka browser Anda, buka antarmuka admin Ghost Anda di https://example.com/ghost/ dan Anda akan disajikan dengan layar berikut:

Untuk memulai, klik Create your account tombol.

Anda akan diarahkan ke layar Buat akun Anda, di mana Anda harus memasukkan judul Blog Anda, serta akun Anda Nama lengkap, Alamat email, dan Kata Sandi:

Setelah Anda mengisi detail dan mengklik Invite your team tombol.

Pada layar ini Anda akan diminta untuk memasukkan alamat email kolaborator Anda. Anda cukup mengklik I'll do this later, take me to my blog! link dan Anda akan diarahkan ke dasbor Ghost:

Dari sini, Anda dapat membuat postingan baru, menambahkan pengguna, dan mengubah konfigurasi Ghosts.


Ubuntu
  1. Cara Menginstal Odoo di Ubuntu

  2. Cara menginstal R di Ubuntu 16.04

  3. Cara Menginstal Go di Ubuntu 18.04

  1. Cara Menginstal Maven di Ubuntu

  2. Cara Menginstal Anggur di Ubuntu

  3. Cara Menginstal Ruby di Ubuntu 20.04

  1. Cara Menginstal Putty di Ubuntu

  2. Cara Menginstal Ruby di Ubuntu 18.04

  3. Cara Menginstal Pip di Ubuntu 18.04