GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Memasang Forum Wacana dengan Nginx di CentOS 7

Discourse adalah perangkat lunak sumber terbuka dan gratis untuk membuat komunitas forum Internet dan milis. Itu dibuat pada tahun 2013, dan ditulis menggunakan bahasa pemrograman Ruby dan Javascript. Perangkat lunak forum wacana telah digunakan oleh banyak organisasi, termasuk Codeacademy, Udacity, Pengembang Twitter, Forum Komunitas Docker, dll.

Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah, cara menginstal dan mengkonfigurasi Forum Wacana dengan server Web Nginx di bawah server CentOS 7. 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 CentOS 7
  2. Memasang dan Mengonfigurasi Perangkat Lunak Forum Wacana
  3. Buat SSL Letsencrypt di CentOS 7
  4. Instal dan Konfigurasi Nginx sebagai Proksi Terbalik untuk Wacana
  5. Pemasang Web Wacana
  6. Konfigurasi Tambahan Wacana

Prasyarat

  • CentOS 7
  • Keistimewaan Root
  • Akun SMTP - mis. dari Mailgun, SendGrid, atau Mailjet

Langkah 1 - Instal Docker di CentOS 7

Forum wacana akan dipasang di bawah wadah Docker. Jadi langkah pertama yang harus kita lakukan adalah menginstall Docker di server CentOS 7 kita.

Instal Docker di CentOS 7 menggunakan perintah berikut.

wget -qO- https://get.docker.com/ | sh

Jika Anda tidak memiliki perintah wget, instal dari repositori.

yum -y install wget

Jika penginstalan selesai, mulai layanan Docker dan aktifkan untuk diluncurkan saat boot menggunakan perintah systemctl berikut.

systemctl start docker
systemctl enable docker

Mesin Docker telah diinstal dan berjalan di server CentOS 7. Periksa status layanan menggunakan perintah berikut.

systemctl status docker

Layanan Docker aktif dan berjalan.

Langkah 2 - Instal dan konfigurasikan Perangkat Lunak Forum Wacana

Pada langkah ini, kita akan menginstal dan mengkonfigurasi perangkat lunak Wacana. Kami akan mengunduh skrip pembuatan docker wacana, mengonfigurasinya sesuai kebutuhan, lalu membuat wadah Docker baru untuk perangkat lunak forum wacana.

Sebelum mendownload wacana, kita perlu menginstal perintah git ke server.

yum -y install git

Sekarang buat direktori baru '/var/discourse' dan unduh/kloning skrip wacana buruh pelabuhan menggunakan perintah git.

mkdir -p /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse

Buka direktori wacana dan salin contoh skrip docker-compose 'standalone.yml' ke direktori '/var/discourse/containers/' dengan nama 'app.yml'.

cd /var/discourse
cp samples/standalone.yml containers/app.yml

Sekarang edit file 'app.yml' menggunakan vim.

vim containers/app.yml

- Pemetaan Pelabuhan 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', seperti yang ditunjukkan di bawah ini.

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.co'

Dan ketik alamat email Anda di baris 'DISCOURSE_DEVELOPER_EMAIL'.

DISCOURSE_DEVELOPER_EMAILS: '[email protected]'

- Konfigurasi SMTP

Konfigurasi SMTP adalah konfigurasi terpenting 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.

Untuk tutorial ini, kita akan menggunakan akun SMTP free-tier dari Mailgun. Daftar dengan Mailgun dan konfigurasikan nama domain Anda, dan pastikan Anda mendapatkan detail akun SMTP Anda.

Kemudian batalkan komentar konfigurasi SMTP dan ketik detail 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

Itu dia. Simpan perubahan dan keluar dari editor.

Selanjutnya, buat image Docker Wacana baru berdasarkan konfigurasi template app.yml.

sudo ./launcher bootstrap app

Jika semua sudah selesai, mulai/inisialisasi Wadah Wacana baru menggunakan perintah berikut.

sudo ./launcher start app

Dan Wadah Docker Wacana aktif dan berjalan - periksa menggunakan perintah 'docker ps'.

docker ps -a

Periksa host open port menggunakan netstat, dan pastikan service docker-proxy baru dengan port 2045 ada dalam daftar.

netstat -plntu

Perangkat lunak Forum Wacana telah diinstal di bawah wadah buruh pelabuhan di host CentOS 7.

Langkah 3 - Buat SSL Letsencrypt di CentOS 7

Untuk tutorial ini, kita akan menjalankan forum Wacana di bawah server web Nginx dan hanya menerima koneksi HTTPS. Untuk tujuan ini, kami memerlukan Sertifikat SSL baru untuk nama domain, jadi, kami akan menggunakan sertifikat SSL gratis dari Letsencrypt.

Instal alat baris perintah Letsencrypt menggunakan perintah yum dengan cara berikut.

yum -y install letsencrypt

Setelah instalasi, tambahkan layanan HTTP dan HTTPS baru ke konfigurasi Firewalld.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Sekarang buat sertifikat SSL baru untuk forum Wacana menggunakan perintah letsencrypt di bawah ini.

letsencrypt certonly

Anda akan melihat dua verifikasi dari Letsencrypt. Ketik nomor '1' untuk mengaktifkan server web sementara untuk autentikasi.

Sebagai bagian dari ini, ketik alamat email Anda untuk memperbarui pemberitahuan, ketik 'A' untuk menyetujui KL letsencrypt (Ketentuan Layanan).

Sekarang ketikkan nama domain wacana 'discourse.hakase-labs.co'.

Dan jika prosesnya sudah selesai maka anda akan mendapatkan hasil seperti dibawah ini.

Sertifikat SSL baru dari letsencrypt telah dibuat di direktori '/etc/letsencrypt/live'.

Langkah 4 - Instal dan Konfigurasi Nginx sebagai Proxy Terbalik untuk Wacana

Dalam tutorial ini, kita akan menggunakan server web Nginx sebagai proxy terbalik untuk Wacana yang berjalan di bawah wadah Docker. Server web Nginx akan berjalan di bawah port HTTP dan HTTPS, dan semua permintaan klien akan ditangani oleh Nginx.

Sebelum menginstal server web Nginx, kita perlu menginstal repositori EPEL di sistem.

yum -y install epel-release

Sekarang instal nginx dari repositori EPEL menggunakan perintah yum berikut.

yum -y install nginx

Setelah semua instalasi selesai, masuk ke direktori konfigurasi nginx '/etc/nginx'.

cd /etc/nginx/

Dan buat konfigurasi SSL tambahan baru 'ssl.conf' menggunakan vim.

vim ssl.conf

Tempelkan konfigurasi SSL berikut di sana.

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 perubahan dan keluar dari editor.

Selanjutnya, buat file host virtual nginx baru 'discourse.conf' untuk Discourse.

vim conf.d/discourse.conf

Tempelkan konfigurasi berikut di sana.

server {
    listen 80; listen [::]:80;
    server_name discourse.hakase-labs.co;
 
    # Automatic Redirect HTTP to HTTPS Nginx
    return 301 https://$host$request_uri;
}
 
server {
    listen 443 ssl http2; 
    server_name discourse.hakase-labs.co;

    # SSL Configuration
    ssl_certificate /etc/letsencrypt/live/discourse.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/discourse.hakase-labs.co/privkey.pem;
    include /etc/nginx/ssl.conf;
 
    # Reverse Proxy Configuration
    location / {
        proxy_pass http://discourse.hakase-labs.co: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.co:2045/ https://discourse.hakase-labs.co;
    }
}

Simpan dan keluar.

Sekarang uji konfigurasi nginx dan pastikan tidak ada kesalahan. Kemudian restart layanan Nginx.

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 Anda, milik saya adalah:

http://discourse.hakase-labs.co

Dan Anda akan diarahkan ke koneksi HTTPS.

Klik 'Daftar '.

Sekarang kita perlu membuat akun 'Administrator' baru.

Ketik nama pengguna dan sandi admin Anda, lalu klik 'Daftar '.

Dan Anda akan mendapatkan halaman untuk konfirmasi email. Periksa kotak masuk email Anda dan pastikan Anda mendapatkan konfigurasi email dari forum Wacana seperti di bawah ini.

Klik 'Tautan '.

Dan Anda akan mendapatkan halaman 'Discourse Welcome'.

Klik tombol 'klik di sini untuk mengaktifkan akun Anda '. Dan sekarang Anda harus membuka halaman berikut.

Klik 'Mungkin Nanti '.

Forum Wacana telah diinstal, dan kami mendapatkan beranda default seperti yang ditunjukkan di bawah ini.

Anda dapat membuka 'Dasbor Admin', dan Anda akan mendapatkan Dasbor Admin Wacana.

Perangkat Lunak Forum Wacana telah diinstal dengan Nginx sebagai proxy terbalik di server CentOS 7.

Langkah 6 - Konfigurasi Tambahan Wacana

Selama instalasi Wacana, beberapa orang mengatakan bahwa mereka tidak mendapatkan email konfirmasi untuk aktivasi pengguna admin.

Untuk masalah ini, pastikan Anda memiliki akun SMTP yang benar pada konfigurasi app.yml. 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 berikut.

./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

Sekarang Anda dapat masuk ke forum Wacana dengan nama pengguna dan kata sandi Anda.


Cent OS
  1. Cara Menginstal Docker di CentOS 8

  2. Cara Menginstal WordPress dengan Nginx di CentOS 7

  3. Cara Instal phpMyAdmin dengan Nginx di CentOS 7 / RHEL 7

  1. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  2. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  3. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  1. Cara Menginstal Seafile dengan Nginx di CentOS 7

  2. Cara Instal Redmine 3 dengan Nginx di CentOS 7

  3. Cara Menginstal Forum Wacana dengan Nginx di Ubuntu 16.04