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 4.2.0 (LTS) mulai hari ini.
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. Ghost telah dirilis pada tahun 2013 di bawah lisensi MIT.
Prasyarat
- Ubuntu 15.10
- 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 node.js v0.12. Node.js dapat diinstal dari sumber atau dari repositori nodesource.com. Kami akan menggunakan repositori node.js https://deb.nodesource.com/node_0.12 untuk instalasi.
Silakan tambahkan dan perbarui repositori dengan menjalankan perintah di bawah ini:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
Selanjutnya instal node.js dengan apt:
sudo apt-get install -y nodejs
Sekarang periksa versi node.js:
node --version
v0.12.7
Dan periksa versi npm:
npm --version
2.11.3
Npm adalah manajer paket node.js yang digunakan untuk menginstal, menerbitkan, dan mengelola program node.
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 sebagai root/sudo:
cd ghostblog/
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
Sekarang buka file konfigurasi dengan editor vim:
vim config.js
Di blok server (baris 27) , ubah nilai host menjadi 0.0.0.0 .
host = 0.0.0.0
Agar blog bisa diakses dari luar. Simpan dan keluar.
Kemudian tambahkan "hantu" pengguna baru. Pengguna ini akan digunakan untuk menjalankan ghost:
sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD
Sekarang ubah pemilik direktori instalasi hantu menjadi pengguna "hantu".
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 Ghost dan mulai:
cd /var/www/ghostblog
npm start --production
Kunjungi IP server pada port 2368, dalam kasus saya:192.168.1.104:2368
Untuk memudahkan kita memulai ghost, kita akan membuat system service untuk menjalankan Ghost. Harap kembali ke pengguna sudo/root dan buat file baru bernama "ghost.service" di direktori "/lib/systemd/system/".
sudo cd /lib/systemd/system/
sudo 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
Dan simpan file Kemudian muat ulang daemon systemd:
sudo systemctl daemon-reload
Tambahkan layanan Ghost untuk memulai secara otomatis saat boot dan mulai Ghost dengan perintah systemctl:
sudo systemctl enable ghost
sudo systemctl start ghost
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 diinstal pada sistem. Kami akan membuat kunci baru dan file crt di direktori "/etc/apache2/certs". Pertama kita buat 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 dan Keluar.
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 sekarang berhasil diinstal.
Kesimpulan
Nodejs adalah runtine 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.