Nashir.co.id

Yang penting nulis.


Setup Multi Ghost-blog pada Server $5 DigitalOcean Part 2/2

"The professional publishing platform" itulah motto dari Ghost.org, sebuah mesin Blogging yang benar-benar nyaman untuk digunakan. Website ini pun berjalan di atas system ghost.
Sebelumnya saya mencoba nge-blog pakai ghost pro, namun karena harganya yang lumayan mahal ($19/bulan) untuk pemula seperti saya, akhirnya mencoba mencari cara untuk dapat menekan biaya serendah mungkin tanpa mengorbankan performa. Setelah berbagai percobaan, akhirnya berhasil juga install dan jalankan ghost blog di server seharga $5. Tutorial ini lanjutan dari tutorial sebelumnya di part 1.

E. Persiapan Install Ghost

  1. Gunakan user ghost

    #Ganti User
    $ su ghost
    
  2. Siapkan Folder Baru

    #Ganti folder ke /var/www
    $ cd /var/www
    
    #Tambah folder untuk web pertama
    $ mkdir web1
    
    #Tambah folder untuk web kedua
    $ mkdir web2
    
    #Cek folder
    $ ls
      web1   web2
    
  3. Install Ghost pada Web pertama

    #Ganti folder ke web1
    $ cd /var/www/web1
    
    #Instalasi ghost
    $ sudo ghost install
    #Akan muncul pengecekan seperti ini:
      ✔ Checking system Node.js version
      ✔ Checking current folder permissions
      ✔ Checking operating system
      ✔ Checking MySQL is installed
      ✔ Checking for latest Ghost version
      ✔ Setting up install directory
      ✔ Downloading and installing Ghost v1.0.0
      ✔ Finishing install process
      
    #Isi alamat website pertama (web1.nashir.co.id)
    ? Enter your blog URL: https://web1.nashir.co.id
      
    #Isi hostname dari database (biarkan localhost)
    ? Enter your MySQL hostname: localhost
      
    #Isi user database (biarkan ghost)
    ? Enter your MySQL username: ghost
      
    #Isikan Password mysql, yaitu 'PasswordOKE'
    ? Enter your MySQL password: [hidden]
      
    #Isi nama database (ghost_web1)
    ? Enter your Ghost database name: ghost_web1
      
    #Ghost akan melakukan instalasi
     ✔ Configuring Ghost
     ✔ Setting up instance
     Running sudo command: chown -R ghost:ghost /var/www/ghost/content
     ✔ Setting up "ghost" system user
    
    #Pilih yes (ketik 'y') untuk setup Nginx
    ? Do you wish to set up Nginx? Yes
     ✔ Creating nginx config file at /var/www/web1/system/files/web1.nashir.co.id.conf
     Running sudo command: ln -sf /var/www/ghost/system/files/web1.nashir.co.id.conf /etc/nginx/sites-available/web1.nashir.co.id.conf
     Running sudo command: ln -sf /etc/nginx/sites-available/web1.nashir.co.id.conf /etc/nginx/sites-enabled/web1.nashir.co.id.conf
     Running sudo command: service nginx restart
     ✔ Setting up Nginx
    
    #Pilih yes (ketik 'y') untuk setup SSL
    ? Do you wish to set up SSL? Yes
      
    #Masukan alamat email untuk install SSL (contoh: web1@nashir.co.id)
    ? Enter your email (used for Let's Encrypt notifications) web1@nashir.co.id
      
    #Letsencrypt akan melakukan instalasi SSL
    ✔ Creating ssl security parameters file at /var/www/ghost/system/files/ssl-params.conf
    ✔ Creating ssl config file at /var/www/ghost/system/files/web1.nashir.co.id-ssl.conf
     Running sudo command: ln -sf /var/www/ghost/system/files/web1.nashir.co.id-ssl.conf /etc/nginx/sites-available/web1.nashir.co.id.conf-ssl.conf
     Running sudo command: ln -sf /etc/nginx/sites-available/web1.nashir.co.id-ssl.conf /etc/nginx/sites-enabled/web1.nashir.co.id-ssl.conf
     Running sudo command: service nginx restart
     ✔ Setting up SSL
       
    #Pilih no (ketik 'n') untuk menolak pembuatan user mysql baru
    ? Do you wish to set up "ghost" mysql user? No
     ℹ Setting up "ghost" mysql user [skipped]
      
    #Pilih yes (ketik 'y') untuk setup Systemd
    ? Do you wish to set up Systemd? Yes
     ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_web1.nashir.co.id.service
     Running sudo command: ln -sf /var/www/ghost/system/files/ghost_web1.nashir.co.id.service /lib/systemd/system/ghost_web1.nashir.co.id.service
     Running sudo command: systemctl daemon-reload
     ✔ Setting up Systemd
     ✔ Running database migrations
       
    #Pilih yes (ketik 'y') untuk memulai Ghost
    ? Do you want to start Ghost? Yes
     ✔ Validating config
     Running sudo command: systemctl start ghost_web1.nashir.co.id
     ✔ Starting Ghost
     You can access your blog at https://web1.nashir.co.id
    
     Ghost uses direct mail by default
     To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config
    
  4. Cek Status Instalasi Ghost pada web1

    #Pastikan berada di /var/www/web1
    $ ghost ls
    
    #Maka akan muncul tabel horizontal dengan data seperti ini
     | Name: web1-nashir-co-id
     | Location: /var/www/web1
     | Version: 1.18.2 (atau versi ghost terbaru)
     | Status: running (production)
     | URL: https://web1.nashir.co.id
     | Port: 2368
     | Process Manager: systemd
    
  5. Install Ghost pada Web Kedua
    Ulangi langkah ke 3-4 dengan beberapa perubahan:

    | Folder: '/var/www/web2'
    | URL: 'https://web2.nashir.co.id'
    | Ghost database name: 'ghost_web2'
    | Admin Ghost: 'https://web1.nashir.co.id/ghost'
    

F. Buat User Admin Ghost


Link Pembantu:
1. Menambah Droplet di DigitalOcean
2. Menghubungkan Domain dengan server
3. Menambah SSH Key ke DigitalOcean