GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

Askbot adalah perangkat lunak sumber terbuka untuk membuat forum Tanya Jawab berdasarkan Python Django Framework. Ini mirip dengan sistem Tanya Jawab lainnya seperti StackOverflow dan Yahoo Answers. Alat ini telah digunakan oleh proyek perangkat lunak sumber terbuka besar seperti Fedora dan LibreOffice. Askbot dibuat oleh Mike Chan dan Sailing Cai pada tahun 2009, dan mudah untuk diinstal dan dikonfigurasi pada sistem Linux seperti Ubuntu dan CentOS.

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana langkah demi langkah menginstal Aplikasi Askbot Django menggunakan server Web uWSGI dan Nginx, dan kami akan menggunakan Ubuntu 16.04 Xenial Xerus sebagai sistem operasi utama kami.

Apa yang akan kami lakukan:

  1. Instal dependensi
  2. Instal dan konfigurasikan database PostgreSQL
  3. Instal dan konfigurasi Askbot
  4. Instal dan konfigurasikan uWSGI
  5. Instal dan konfigurasikan Nginx
  6. Pengujian

Prasyarat

  • Ubuntu 16.04
  • Hak istimewa root

Langkah 1 - Instal dependensi

Langkah pertama yang harus kita lakukan adalah menginstall paket-paket yang dibutuhkan untuk instalasi Askbot. Jadi ayo mulai. Hubungkan ke server Ubuntu Anda menggunakan SSH.

ssh [email protected]

Selanjutnya, instal paket seperti python-dev, pip dll dengan perintah apt berikut.

apt install -y build-essential python-pip python-dev python-flup libpng12-dev zlib1g-dev libpng-dev libjpeg-dev python-setuptools

Semua paket yang diperlukan telah diinstal.

Langkah 2 - Instal dan konfigurasikan database PostgreSQL

Askbot menawarkan dukungan untuk banyak sistem database seperti MySQL, SQLite, dan PostreSQL. Dalam tutorial ini, kita akan menggunakan PostgreSQL sebagai sistem database kita.

Kami akan menginstal PostgreSQL, mengkonfigurasi otentikasi untuk pengguna lokal, dan kemudian membuat database dan pengguna baru untuk instalasi Askbot.

Instal database PostgreSQL menggunakan perintah apt berikut.

apt install -y postgresql postgresql-contrib

Sekarang edit pg_hba.conf file dengan vim untuk mengonfigurasi autentikasi pengguna lokal.

vim /etc/postgresql/9.5/main/pg_hba.conf

Ubah semua otentikasi pengguna lokal menggunakan md5 seperti di bawah ini.

local   all             all                                     md5

Simpan dan keluar. Sekarang, mulai ulang layanan PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot sistem.

systemctl restart postgresql
systemctl enable postgresql

Selanjutnya, kita perlu membuat database dan pengguna baru untuk instalasi Askbot. Untuk kasus kami, kami akan membuat database baru 'askbotdb ' dengan nama pengguna 'hakaselabs ' dan sandi 'hakase123 '.

Masuk sebagai postgres pengguna dan akses shell PostgreSQL 'psql'.

su - postgres
psql

Ubah postgres kata sandi pengguna dengan kata sandi Anda sendiri.

\password postgres

Dan buat database baru 'askbotdb ' dan pengguna baru 'hakaselabs ' dengan sandi 'hakase123 ' menggunakan kueri berikut.

create database askbotdb;
create user hakaselabs with password 'hakase123';
grant all privileges on database askbotdb to hakaselabs;
\q

Database PostgreSQL baru untuk instalasi Askbot telah dibuat.

Langkah 3 - Instal dan Konfigurasi Aplikasi Askbot Django

Semua paket yang diperlukan untuk instalasi Askbot telah diinstal dan database PostgreSQL telah dibuat. Sekarang, langkah selanjutnya adalah menginstal dan mengkonfigurasi Askbot.

Kita perlu membuat user baru untuk instalasi Askbot, karena kita tidak akan menggunakan user root untuk itu. Buat pengguna baru bernama 'askbot ' dan berikan kata sandi baru kepada pengguna itu.

useradd -m -s /bin/bash askbot
passwd askbot

Selanjutnya, tambahkan askbot pengguna ke grup sudo menggunakan perintah usermod berikut.

usermod -a -G sudo askbot

Pengguna baru telah dibuat. Sekarang kita perlu memperbarui python-pip dan menginstal paket virtualenv. Instal paket-paket ini menggunakan perintah pip berikut.

pip install --upgrade pip
pip install virtualenv

Sekarang, login sebagai pengguna 'askbot' dengan perintah su, lalu instal Askbot.

su - askbot

Dan kami ingin membuat lingkungan virtual baru untuk instalasi askbot kami. Buat lingkungan virtual baru dengan perintah virtualenv.

virtualenv hakase-labs

Pergi ke hakase-lab direktori dan aktifkan virtualenv.

cd hakase-labs/
source bin/activate

Instal aplikasi Askbot Django dengan pip, termasuk psycopg2 untuk koneksi database PostgreSQL.

pip install askbot psycopg2

Setelah instalasi selesai, Anda akan melihat hasil seperti gambar di bawah ini.

Selanjutnya, buat direktori baru untuk aplikasi Askbot Django - kita akan menggunakan nama 'myapp'. Buat direktori dan instal Askbot di dalamnya.

mkdir myapp/
cd myapp

Instal Askbot dengan perintah di bawah ini.

askbot-setup

Ketika Anda ditanya tentang direktori instalasi Askbot, berikan saja '. ' dan tekan 'Enter'. Demikian pula untuk konfigurasi database, pilih PostgreSQL dengan memilih angka '1 '. Masukkan nama database 'askbotdb ', nama pengguna 'hakaselabs ' dengan sandi 'hakase123 '.

Sekarang, buat direktori file statis dengan perintah berikut.

python manage.py collectstatic

Ketik 'yes' dan tekan Enter untuk melanjutkan.

Buat database PostgreSQL dengan opsi syncdb.

python manage.py syncdb

Dan Anda akan ditanya tentang cara membuat pengguna admin - ketik 'ya' lalu ketik pengguna admin, email, dan kata sandi Anda.

Askbot sekarang diinstal pada sistem di bawah lingkungan virtual pengguna 'askbot'. Anda dapat menguji instalasi Askbot dengan menjalankan perintah runserver di bawah ini.

python manage.py runserver 0.0.0.0:8080

Buka browser web Anda dan ketik IP server dengan port 8080, dan Anda akan melihat halaman 'Askbot', seperti gambar di bawah ini.

Langkah 4 - Instal dan Konfigurasi uWSGI

uWSGI mendukung aplikasi berbasis Python, Perl, dan Ruby. Dalam tutorial ini, kita akan menggunakan uWSGI dengan server web Nginx untuk instalasi Askbot kita. Instal uWSGI dengan perintah pip berikut.

sudo pip install uwsgi

Sekarang buat direktori baru untuk konfigurasi situs uWSGI '/etc/uwsgi/sites'.

mkdir -p /etc/uwsgi/sites
/etc/uwsgi/sites

Tambahkan file konfigurasi uWSGI baru 'askbot.ini' ke direktori 'sites' dan edit dengan vim.

vim askbot.ini

Di sana, rekatkan konfigurasi uWSGI berikut.

[uwsgi]

# Project directory, Python directory
chdir = /home/askbot/hakase-labs/myapp
home = /home/askbot/hakase-labs/
static-map = /m=/home/askbot/hakase-labs/myapp/static
wsgi-file = /home/askbot/hakase-labs/myapp/django.wsgi

master = true
processes = 5

# Askbot will running under the sock file
socket = /home/askbot/hakase-labs/myapp/askbot.sock
chmod-socket = 664
uid = askbot
gid = www-data
vacuum = true

# uWSGI Log file
logto = /var/log/uwsgi.log

Itu dia. Simpan dan keluar.

Selanjutnya, kita perlu membuat file layanan baru untuk uWSGI. Buka direktori '/etc/systemd/system/' dan buat file uwsgi.service baru menggunakan vim.

cd /etc/systemd/system/
vim uwsgi.service

Tempelkan konfigurasi layanan uWSGI berikut di sana.

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown askbot:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Simpan dan keluar. Kemudian, muat ulang layanan systemd.

systemctl daemon-reload

Sekarang, mulai layanan uWSGI dan aktifkan untuk diluncurkan secara otomatis saat boot sistem.

systemctl start uwsgi
systemctl enable uwsgi

uWSGI telah diinstal dan dikonfigurasi untuk aplikasi Askbot kami, dan itu berjalan sebagai layanan sistem.

Langkah 5 - Instal dan konfigurasikan Nginx

Askbot sekarang terinstal, dan berjalan di bawah file kaus kaki uWSGI 'askbot.sock'. Pada langkah ini, kita akan menggunakan server web Nginx sebagai proxy terbalik untuk aplikasi uWSGI Askbot.

Instal Nginx dari repositori menggunakan perintah apt berikut.

apt install nginx

Setelah instalasi selesai, silakan masuk ke direktori konfigurasi nginx '/etc/nginx/' dan tambahkan file host virtual nginx baru 'askbot'.

cd /etc/nginx
vim sites-available/askbot

Rekatkan konfigurasi host virtual askbot nginx berikut.

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/home/askbot/hakase-labs/myapp/askbot.sock;
   }
}

Simpan dan keluar.

Sekarang aktifkan file host virtual Askbot dengan membuat symlink untuk file 'askbot' ke direktori 'sites-enabled' dan uji konfigurasi nginx.

ln -s /etc/nginx/sites-available/askbot /etc/nginx/sites-enabled/
nginx -t

Host virtual Askbot diaktifkan. Sekarang restart layanan nginx dan aktifkan untuk memulai secara otomatis saat boot sistem.

systemctl restart nginx
systemctl enable nginx

Konfigurasi Nginx telah selesai, dan dijalankan pada port 80. Periksa dengan perintah netstat, seperti gambar di bawah ini.

netstat -plntu

Sekarang periksa askbot dengan memeriksa file sock uWSGI menggunakan perintah netstat berikut.

netstat -pl | grep askbot

Server web Nginx telah diinstal dan dikonfigurasi untuk aplikasi Askbot Python Django.

Langkah 6 - Pengujian

Buka browser web Anda dan kunjungi nama domain Askbot:askbot.me, dan Anda akan mendapatkan halaman beranda seperti yang ditunjukkan di bawah ini.

Login pengguna Askbot.

Dasbor pengguna Askbot.

Pengaturan Askbot.

Login admin Askbot Django.

Dasbor admin Askbot Django.

Aplikasi sistem Tanya Jawab 'Askbot' telah diinstal dengan server web uWSGI dan Nginx di server Ubuntu 16.04.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara menginstal dan Mengkonfigurasi Mariadb 10 di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  2. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 16.04