GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Forum Wacana dengan Nginx di Ubuntu 16.04

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

  1. Instal Docker di Ubuntu 16.04
  2. Instal dan konfigurasikan perangkat lunak Forum Wacana
  3. Buat SSL Letsencrypt di Ubuntu 16.04
  4. Instal dan konfigurasikan Nginx sebagai proxy terbalik untuk Wacana
  5. Pemasang Web Wacana
  6. 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

Ubuntu
  1. Cara menginstal Docker di Ubuntu 22.04

  2. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04

  3. Cara Menginstal Wacana di Ubuntu 20.04

  1. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  2. Cara Memasang Forum Wacana dengan Nginx di CentOS 7

  3. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  1. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  3. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10