Discourse adalah perangkat lunak sumber terbuka dan gratis untuk membuat komunitas forum Internet dan milis. Itu dibuat pada tahun 2013, dan ditulis dalam bahasa pemrograman Ruby dan Javascript. Perangkat lunak forum wacana telah digunakan oleh banyak organisasi, termasuk Codeacademy, Udacity, Pengembang Twitter, dan Forum Komunitas Docker.
Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah cara memasang dan mengonfigurasi Forum Wacana dengan server web Nginx di Ubuntu 16.04. Secara khusus, kami akan menunjukkan cara menginstal Perangkat Lunak Forum Wacana, mengonfigurasi Nginx sebagai proxy terbalik untuk aplikasi Wacana, dan mengamankan perangkat lunak forum Wacana menggunakan SSL gratis dari Letsencrypt.
Apa yang akan kami lakukan
- Instal Docker di Ubuntu 16.04
- Instal dan konfigurasikan perangkat lunak Forum Wacana
- Buat SSL Letsencrypt di Ubuntu 16.04
- Instal dan konfigurasikan Nginx sebagai proxy terbalik untuk Wacana
- Pemasang Web Wacana
- Konfigurasi tambahan wacana
Prasyarat
- Ubuntu 16.04
- Keistimewaan Root
- Akun SMTP - Mailgun, SendGrid, Mailjet, dll.
Langkah 1 - Instal Docker di Ubuntu 16.04
Perangkat lunak Wacana ditulis dalam Ruby dan Javascript, menggunakan PostgreSQL sebagai database utama, dan Redis sebagai cache dan untuk data sementara. Kami akan menginstal Wacana di bawah wadah Docker.
Proses instalasi akan dilakukan pada Ubuntu 16.04. Jadi untuk memulainya, instal Docker menggunakan perintah di bawah ini.
wget -qO- https://get.docker.com/ | sh
Setelah instalasi selesai, periksa layanan buruh pelabuhan dan pastikan sudah berjalan di sistem.
systemctl status docker
Dan juga pastikan bahwa Docker ada di aplikasi boot startup.
systemctl is-enabled docker
Langkah 2 - Instal dan konfigurasikan forum wacana
Pada langkah ini, kita akan menginstal dan mengkonfigurasi perangkat lunak Wacana. Kami akan mengunduh skrip pembuatan docker wacana, mengonfigurasi sesuai dengan kebutuhan kami, dan kemudian membuat wadah Docker baru untuk perangkat lunak forum wacana.
Buat direktori '/var/discourse' baru dan klon skrip penginstal.
mkdir -p /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
Sekarang buka direktori 'discourse' dan salin contoh file docker-compose.
cd /var/discourse
cp samples/standalone.yml containers/app.yml
Edit file 'app.yml' menggunakan editor vim.
vim containers/app.yml
Konfigurasikan pemetaan port Docker
Secara default, semua permintaan HTTP dan HTTPS akan ditangani oleh proxy Docker. Dan untuk panduan ini, kami akan menggunakan Nginx untuk tujuan ini - semua HTTP dan HTTPS akan ditangani oleh server web Nginx.
Jadi kita perlu mengubah konfigurasi pemetaan port docker. Wadah Wacana hanya akan memiliki koneksi HTTP, dan host akan membuka port baru '2045' dan memetakan ke port penampung 80.
Batalkan komentar pada baris HTTPS dan ubah baris HTTP dengan port baru '2045'.
expose:
- "2045:80" # http
# - "443:443" # https
Konfigurasi nama domain wacana
Ketik nama domain Anda sendiri untuk wacana yang dipasang pada baris 'DISCOURSE_HOSTNAME' seperti di bawah ini.
DISCOURSE_HOSTNAME: 'discourse.hakase-labs.me'
Dan ketik alamat email Anda di baris 'DISCOURSE_DEVELOPER_EMAIL'.
DISCOURSE_DEVELOPER_EMAILS: '[email protected]'
Konfigurasi SMTP
Ini adalah konfigurasi paling penting untuk Perangkat Lunak Wacana. Pastikan Anda memiliki akun SMTP untuk instalasi Wacana - Anda dapat membeli atau mencoba akun SMTP tingkat gratis dari Mailgun, Mailjet, atau SendGrid.
Dalam tutorial ini, kita akan menggunakan akun SMTP free-tier dari Mailgun. Batalkan komentar konfigurasi SMTP dan ketik akun Anda seperti di bawah ini.
DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: [email protected]
DISCOURSE_SMTP_PASSWORD: mypassword
Simpan dan keluar.
Selanjutnya, buat image Docker Wacana baru berdasarkan konfigurasi template app.yml.
sudo ./launcher bootstrap app
Setelah itu, mulai/inisialisasi Wadah Wacana baru menggunakan perintah di bawah ini.
sudo ./launcher start app
Wadah Wacana harus aktif dan berjalan - periksa menggunakan perintah buruh pelabuhan.
docker ps -a
Periksa host open port menggunakan netstat, dan pastikan port docker-proxy baru 2045 ada dalam daftar.
netstat -plntu
Perangkat lunak Forum Wacana telah diinstal di bawah wadah buruh pelabuhan di host Ubuntu 16.04.
Langkah 3 - Buat SSL Letsencrypt di Ubuntu 16.04
Forum Wacana akan berjalan di bawah koneksi aman HTTP, dan akan ditangani oleh server Web Nginx. Kami akan menggunakan SSL gratis dari Letsencrypt untuk panduan ini, dan kami perlu menginstal klien letsencrypt di server.
Instal letsencrypt dengan perintah apt di bawah ini.
sudo apt install letsencrypt -y
Sekarang buat sertifikat SSL baru menggunakan perintah letsencrypt.
letsencrypt certonly
Ketik alamat email Anda untuk memperbarui pemberitahuan dan pilih 'OK'.
Untuk TOS (Ketentuan Layanan) Letsencrypt, pilih 'Setuju'.
Sekarang ketikkan nama domain wacana Anda 'discourse.hakase-labs.me'.
Dan jika sudah selesai maka akan mendapatkan hasil seperti dibawah ini
Sertifikat SSL baru dari letsencrypt telah dibuat di direktori '/etc/letsencrypt/live'.
Langkah 4 - Instal dan konfigurasikan Nginx sebagai proxy terbalik untuk Wadah Wacana
Pada langkah ini, kita akan menginstal server web Nginx dan mengonfigurasinya sebagai proxy terbalik untuk Wadah Wacana yang berjalan pada port 2045.
Instal Nginx dengan perintah apt di bawah ini.
sudo apt install nginx -y
Sekarang mulai Nginx dan aktifkan untuk diluncurkan saat boot menggunakan perintah systemctl.
systemctl start nginx
systemctl enable nginx
Nginx telah diinstal dan berjalan pada port HTTP 80. Anda dapat memeriksanya menggunakan netstat.
netstat -plntu
Server web Nginx telah diinstal ke server Ubuntu 16.04.
Selanjutnya, kita perlu membuat file host virtual baru untuk wadah Wacana. Buka direktori konfigurasi nginx dan buat file 'wacana' baru menggunakan editor vim.
cd /etc/nginx/
vim sites-available/discourse
Sekarang, rekatkan konfigurasi virtual host Discourse nginx berikut.
server {
listen 80; listen [::]:80;
server_name discourse.hakase-labs.me;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name discourse.hakase-labs.me;
ssl_certificate /etc/letsencrypt/live/discourse.hakase-labs.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/discourse.hakase-labs.me/privkey.pem;
include /etc/nginx/snippets/ssl.conf;
location / {
proxy_pass http://discourse.hakase-labs.me:2045/;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http://discourse.hakase-labs.me:2045/ https://discourse.hakase-labs.me;
}
}
Simpan dan keluar.
Catatan:
- Semua permintaan HTTP akan dialihkan secara otomatis ke koneksi HTTPS.
- Ubah konfigurasi SSL dengan direktori jalur Anda sendiri.
- Ada konfigurasi SSL tambahan.
Sekarang buat file konfigurasi ssl tambahan baru 'ssl.conf'.
vim snippets/ssl.conf
Tempelkan konfigurasi berikut ke dalam file.
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
Simpan dan keluar.
Dan sekarang aktifkan virtual host wacana menggunakan perintah 'ln -s', seperti gambar di bawah ini.
ln -s /etc/nginx/sites-available/discourse /etc/nginx/sites-enabled/
Uji konfigurasi dan pastikan tidak ada kesalahan, lalu mulai ulang layanan.
nginx -t
systemctl restart nginx
Instalasi dan konfigurasi Nginx sebagai proxy terbalik untuk Wadah Wacana telah selesai.
Langkah 5 - Penginstal Web Wacana
Buka browser web Anda dan kunjungi URL wacana.
http://discourse.hakase-labs.me
Dan Anda akan diarahkan ke koneksi aman HTTP. Klik tombol 'Daftar' untuk membuat pengguna admin baru.
Sekarang ketikkan pengguna dan kata sandi admin Anda, lalu klik 'Daftar'.
Dan Anda akan mendapatkan email konfirmasi baru tentang aktivasi pengguna admin Anda.
Di bawah ini adalah contoh pesan email untuk konfirmasi akun Wacana. Klik tautan untuk mengonfirmasi dan mengaktifkan akun admin.
Dan Anda harus mendapatkan halaman wacana seperti yang ditunjukkan di bawah ini. Klik tombol 'Klik di sini untuk mengaktifkan akun Anda'.
Sekarang Anda dapat mengonfigurasi forum Wacana Anda sendiri. Klik tombol 'Next' dan Anda perlu mengkonfigurasi Forum Wacana dengan 13 langkah. Atau Anda dapat mengonfigurasinya nanti dengan mengeklik 'Mungkin Nanti'.
Di bawah ini adalah Forum Wacana yang diinstal pada server web Nginx dan HTTPS di Ubuntu 16.04.
Berikut adalah Dasbor Admin Wacana saya.
Forum Wacana telah diinstal dengan Nginx sebagai proxy terbalik di server Ubuntu 16.04.
Langkah 6 - Konfigurasi tambahan wacana
Saat menginstal Discourse, Anda mungkin mengalami masalah di mana Anda tidak mendapatkan email konfirmasi untuk aktivasi pengguna admin.
Untuk mengurutkan masalah, pastikan Anda memiliki akun SMTP yang benar di app.yml konfigurasi. Atau Anda dapat mengaktifkan akun admin secara manual dari server Anda.
Untuk mengaktifkan akun admin Anda secara manual, buka direktori '/var/discourse'.
cd /var/discourse
Sekarang akses wadah wacana dengan perintah di bawah ini.
./launcher enter app
Dan aktifkan user admin pertama menggunakan perintah rails seperti di bawah ini.
rails c
u =User.last
u.admin =true
u.activate
u.save
Dan sekarang Anda dapat masuk ke forum Wacana dengan nama pengguna dan kata sandi Anda.
Referensi
- https://meta.discourse.org/
- https://github.com/discourse/discourse/tree/master/docs