GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Perangkat Lunak Blog Hantu dengan Apache dan SSL di Ubuntu 16.04

Ghost adalah platform penerbitan dan blog open source yang kuat yang dirancang dengan indah dan mudah digunakan. Ghost ditulis dalam javascript dan menggunakan node.js sebagai lingkungan waktu proses. Versi Ghost pertama telah dirilis pada tahun 2013 di bawah lisensi MIT dan terus diperbarui. Tutorial ini menunjukkan penginstalan perangkat lunak Ghost Blog, Node.js dan Apache sebagai server proxy SSL di Ubuntu 16.04.

Nodej adalah runtime javaScript open source yang dibangun di atas mesin JavaScript V8 Chrome (v4) untuk mengembangkan aplikasi web sisi server. Nodejs adalah runtime lintas platform yang dapat berjalan di OS X, Microsoft Windows, Linux, dan FreeBSD. Ini menyediakan arsitektur yang digerakkan oleh peristiwa dan model I/O non-blocking yang membuatnya ringan dan efisien untuk aplikasi web waktu nyata. Proyek Node.js telah dimulai pada tahun 2009 oleh Ryan Dahl dan mencapai versi 6.5.0 (LTS) mulai hari ini.

Prasyarat

  • Ubuntu 16.04
  • hak istimewa root

Apa yang akan kita lakukan dalam tutorial ini:

  • Instal Node.js
  • Instal Ghost
  • Konfigurasikan Hantu
  • Instal Apache dan tambahkan Ghost VirtualHost
  • Aktifkan SSL untuk Ghost

Langkah 1- Instal Node.js di Ubuntu

Untuk tutorial ini, kita akan menggunakan nodejs v4.x. Nodejs dapat diinstal dengan berbagai cara seperti penginstalan dari sumber, atau penginstalan dari repositori Ubuntu. Saya akan menggunakan repositori nodejs dari nodesecure https://deb.nodesource.com/node_4.x untuk instalasi, ini berisi perangkat lunak terbaru dan menggunakan repositori memungkinkannya untuk memperbarui node.js dengan mudah nanti.

Instal kunci repositori nodesource dengan perintah di bawah ini:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Kemudian tambahkan repositori nodejs dengan menjalankan perintah di bawah ini:

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

Perbarui repositori:

sudo apt-get update

Sekarang kita dapat menginstal paket "nodejs" yang akan menginstal node.js dan dependensinya di server:

sudo apt-get install -y nodejs

Sekarang periksa versi nodejs untuk memastikan bahwa instalasi berhasil:

node --version

Periksa versi npm:

npm --version

npm adalah manajer paket untuk menginstal, menerbitkan, dan mengelola program simpul.

Langkah 2 - Instal Blog Hantu

Kami akan menginstal ghost di direktori "/var/www/" dan menggunakan versi terbaru dari Ghost. Harap buat direktori baru "www" di /var dan masukkan dengan "cd":

mkdir -p /var/www/
cd /var/www/

Download Ghost dengan perintah wget, lalu ekstrak ke direktori bernama "ghostblog" :

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

CATATAN :-d :otomatis membuat direktori.

Kemudian buka direktori ghostblog dan instal Ghost dengan npm perintah:

cd ghostblog/
sudo npm install --production

Langkah 3 - Konfigurasi Ghost

Silakan masuk ke direktori ghostblog lalu salin file contoh konfigurasi ke "config.js"

cd /var/www/ghostblog/
cp config.example.js config.js

Selanjutnya, tambahkan pengguna baru "hantu". Pengguna ini akan dituntut untuk menjalankan Ghost :

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

Catatan:

-d =Mendefinisikan direktori home untuk pengguna hantu di /var/www/.

-s =Mendefinisikan shell untuk pengguna hantu.

Sekarang ubah pemilik direktori instalasi ghost menjadi pengguna "ghost".

chown -R ghost:ghost /var/www/ghostblog

Uji blog hantu dengan menjalankan perintah npm sebagai pengguna hantu. Silakan masuk ke hantu pengguna:

su - ghost

dan pergi ke direktori instalasi dan mulai Ghost:

cd ghostblog/
npm start --production

Ghost diinstal dan berjalan di localhost dengan port 2368. Kita dapat memeriksanya dengan perintah curl:

curl -I localhost:2368

Anda dapat melihat hantu sedang berjalan - HTTP/1.1 200 OK .

Kami akan menjalankan ghost sebagai layanan untuk memudahkan kami memulai ghost. Silakan kembali ke sudo/root user dengan mengetik "exit" dan buat file baru bernama "ghost.service" di direktori "/lib/systemd/system/".

cd /lib/systemd/system/
vim ghost.service

Rekatkan skrip systemd di bawah ini:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

Selanjutnya, muat ulang daemon systemd:

systemctl daemon-reload

Kemudian tambahkan ghost untuk memulai saat boot dan mulai ghost dengan perintah systemctl:

systemctl enable ghost
systemctl start ghost

Periksa apakah ghost sedang berjalan dengan memeriksa port 2368:

netstat -plntu

Langkah 4 - Instal Apache dan Ghost VirtualHost

Instal apache dengan perintah apt-get:

sudo apt-get install apache2

Setelah instalasi selesai, buat file baru untuk ghost virtual host di direktori "/etc/apache2/sites-available/".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Rekatkan konfigurasi di bawah ini:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

Simpan dan keluar.

Aktifkan modul proxy HTTP di apache dengan perintah a2enmod seperti yang ditunjukkan di bawah ini:

sudo a2enmod proxy proxy_http

Terakhir, kita harus mengaktifkan Ghost virtual host lalu restart apache:

sudo a2ensite ghostblog
sudo systemctl restart apache2

Mulai ulang hantu:

sudo systemctl restart ghost

Uji dengan mengunjungi domain:http://ghostblog.me

Langkah 5 - Aktifkan SSL untuk Ghost

Untuk mengaktifkan SSL di Apache, pastikan pustaka OpenSSL terinstal di sistem. Kami akan membuat kunci baru dan file crt di direktori "/etc/apache2/certs". Pertama, kami membuat sertifikat direktori baru:

sudo mkdir -p /etc/apache2/certs

Dan buat kunci sertifikat dengan perintah di bawah ini :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

Harap ubah izin file sertifikat:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

Selanjutnya, tambahkan konfigurasi SSL ke ghost virtualhost dengan mengedit file "ghostblog.conf".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Rekatkan skrip konfigurasi baru di bawah ini:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Simpan file dan keluar dari vim.

Aktifkan modul apache OpenSSL dan restart apache :

sudo a2enmod ssl headers
sudo systemctl restart apache2

Pengujian

Kunjungi http://ghostblog.me , dan Anda akan dipaksa ke situs HTTPS/SSL blog Anda.

Ghost dengan apache dan SSL telah berhasil diinstal.

Kesimpulan

Nodejs adalah runtime javascript multi-platform open source untuk membangun aplikasi web sisi server. Ini ringan dan efisien untuk aplikasi web waktu nyata. Ghost adalah platform blogging yang ditulis dalam Javascript untuk Node.js. Ghost dirancang dengan indah dan ramah pengguna. Antarmuka yang intuitif membuat sistem blog ini mudah digunakan. Ghost dapat diinstal secara mandiri atau dengan server web seperti Apache atau Nginx. Anda dapat mengamankan Ghost dengan OpenSSL. Mengkonfigurasi Ghost dengan Apache dan OpenSSL sangatlah mudah, Anda hanya perlu menyiapkan modul http_proxy Apache dan membuat Sertifikat SSL.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Apache Hive dengan Hadoop di CentOS, Ubuntu dan LinuxMint

  3. Cara Menginstal Apache Maven di Ubuntu 18.04 dan 16.04

  1. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi ownCloud dengan Apache di Ubuntu 18.04

  3. Cara Menginstal Drupal 8 dengan Nginx, PHP-FPM dan SSL di Ubuntu 15.10

  1. Cara Instal Drupal 8 dengan Apache, MySQL dan SSL di Ubuntu 15.10

  2. Cara Menginstal OpenCart 2 dengan Nginx dan SSL di Ubuntu 15.10

  3. Cara Menginstal Drupal 8.1 dengan Nginx, PHP-FPM dan SSL di Ubuntu 16.04