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.