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

Cara Menginstal dan Mengonfigurasi Askbot dengan Nginx di CentOS 7

Askbot adalah perangkat lunak sumber terbuka untuk membuat forum Tanya Jawab berdasarkan Python Django Framework. Ini pada dasarnya adalah sistem Tanya Jawab seperti StackOverflow, Yahoo Answers, dan lainnya. Dibuat oleh Mike Chan dan Sailing Cai pada tahun 2009, dan mudah untuk menginstal dan mengkonfigurasi pada sistem Linux seperti Ubuntu dan CentOS. Banyak proyek perangkat lunak sumber terbuka besar seperti Fedora dan LibreOffice yang menggunakannya.

Dalam tutorial ini, kami akan menunjukkan cara menginstal aplikasi Askbot Python Django menggunakan server web uWSGI dan Nginx pada sistem CentOS 7. Untuk database, kita akan menggunakan PostgreSQL untuk instalasi Askbot.

Apa yang akan kami lakukan

  1. Instal dependensi
  2. Instal dan konfigurasikan PostgreSQL
  3. Instal dan konfigurasi Askbot
  4. Instal dan konfigurasikan uWSGI
  5. Instal dan konfigurasikan server Web Nginx
  6. Uji penyiapan

Prasyarat

  • Server CentOS 7
  • Hak istimewa root

Langkah 1 - Instal dependensi

Pada langkah ini, kita akan menginstal beberapa paket yang diperlukan agar instalasi Askbot berhasil. Ini termasuk 'Alat Pengembangan', repositori Epel, dan beberapa alat terkait python (untuk mengelola paket Python). Jadi mari kita mulai.

Pertama, instal CentOS 'Development Tools' dengan perintah yum group di bawah ini.

yum group install 'Development Tools'

Kemudian instal repositori Epel.

yum -y install epel-release

Dan terakhir instal paket python, termasuk python pip, python-devel dan python six.

yum -y install python-pip python-devel python-six

Langkah 2 - Instal dan konfigurasikan PostgreSQL

Sekarang kita membutuhkan database PostgreSQL, yang tersedia di repositori CentOS. Di bagian ini, kita akan membahas bagaimana Anda dapat menginstal database PostgreSQL, mengubah pengguna kata sandi postgres, membuat pengguna dan database baru untuk instalasi Askbot, dan terakhir, mengubah konfigurasi otentikasi postgres.

Jadi mari kita mulai dengan menginstal PostgreSQL dari repositori menggunakan perintah yum di bawah ini.

yum -y instal postgresql-server postgresql-devel postgresql-contrib

Setelah instalasi selesai, kita perlu menginisialisasi database, yang dapat Anda lakukan dengan menggunakan perintah di bawah ini.

postgresql-setup initdb

Selanjutnya, mulai postgres dan aktifkan untuk diluncurkan secara otomatis pada saat boot.

systemctl start postgresql
systemctl aktifkan postgresql

Pada titik ini, database PostgreSQL harus diinstal. Selanjutnya, kita perlu mengatur ulang kata sandi pengguna postgres. Untuk ini, pertama login sebagai pengguna 'postgres' dan akses alat baris perintah psql.

su - postgres
psql

Dan kemudian berikan kata sandi baru kepada pengguna postgres.

\password postgres

Sekarang, buat database dan pengguna baru untuk Askbot. Misalnya, kami ingin membuat pengguna baru 'hakaselabs ' dengan sandi 'hakase123 ', dan database bernama 'askbotdb '. Kueri postgres berikut akan membantu kami membuat semua ini.

buat database askbotdb;
buat hakaselabs pengguna dengan kata sandi 'hakase123';
berikan semua hak istimewa pada database askbotdb kepada hakaselabs;

Jadi sekarang, database dan pengguna untuk instalasi Askbot telah dibuat. Langkah selanjutnya adalah mengedit konfigurasi postgres untuk pengaturan otentikasi, yang dapat Anda lakukan dengan menuju ke direktori 'pgsql/data' dan mengedit file 'pg_hba.conf' dengan vim.

cd /var/lib/pgsql/data/
vim pg_hba.conf

Setelah berada di dalam file, ubah semua otentikasi menjadi md5, seperti yang ditunjukkan di bawah ini.

Lokal Semua semua MD5
# IPv4 Koneksi Lokal:
Host semua semua 127.0.0.1/32 Md5
# IPv6 Koneksi Lokal:
Host semua ::1/128 md5

Sekarang, simpan dan keluar dari file, lalu restart layanan postgres.

systemctl restart postgresql

Jadi sekarang, database PostgreSQL telah diinstal; database untuk instalasi Askbot telah dibuat; dan metode otentikasi pengguna postgres telah diubah menjadi md5.

Langkah 3 - Instal dan konfigurasi Askbot

Pada langkah ini, kita akan membahas instalasi dan konfigurasi Askbot. Kami akan menginstal Askbot di bawah pengguna bernama 'askbot', dan menggunakan virtualenv python. Jadi mari kita mulai.

Pertama, buat pengguna baru 'askbot' dan berikan kata sandi baru kepada pengguna.

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

Kemudian tambahkan pengguna 'askbot' ke grup 'roda' untuk akses perintah sudo (tidak yakin apa itu 'sudo'? Pelajari lebih lanjut di sini).

usermod -a -G wheel askbot

Sekarang tingkatkan pip ke versi terbaru dan instal paket python virtualenv.

pip install --upgrade pip
pip install virtualenv six

Berikutnya. masuk sebagai pengguna 'askbot' dan buat lingkungan virtual python baru 'hakase-labs' dengan virtualenv.

su - askbot
virtualenv hakase-labs/

Buka direktori 'hakase-labs' dan aktifkan lingkungan virtual untuk instalasi Askbot.

cd hakase-labs/
source bin/activate

Sekarang instal askbot dan paket python lainnya dengan perintah pip di lingkungan virtual 'hakase-labs'.

pip install enam 
pip install askbot psycopg2

Selanjutnya, buat direktori baru untuk proyek 'Askbot'. Harap pastikan Anda tidak menggunakan 'askbot' sebagai nama direktori. Dalam kasus kami, misalnya, kami membuat direktori baru bernama 'myapp'

mkdir myapp/

Buka direktori myapp dan jalankan perintah 'askbot-setup'.

cd myapp/
askbot-setup

Perintah 'askbot-setup' akan menanyakan hal-hal tertentu. Misalnya, Anda akan ditanya tentang jalur direktori untuk menyebarkan Askbot - Anda dapat mengetik '.' dan tekan Enter untuk melanjutkan. Demikian pula, ketika ditanya tentang mesin database, ketik '1' untuk menggunakan postgresql dan tekan Enter. Untuk detail terkait database, masukkan nama database sebagai 'askbotdb', pengguna database sebagai 'hakaselabs', dan sandi sebagai 'hakase123'.

Jadi Askbot sekarang diinstal pada direktori 'myapp'. Sekarang kita perlu membuat file statis Askbot Django dan databasenya.

Jalankan perintah di bawah ini untuk menghasilkan file statis Askbot Django.

python manage.py collectstatic

Saat dimintai konfirmasi, ketik 'yes' dan tekan Enter.

Sekarang, untuk menghasilkan database, jalankan syncdb seperti di bawah ini.

python manage.py syncdb

Anda akan ditanya tentang cara membuat pengguna dan kata sandi admin. Jadi ketika ditanya, ketik nama pengguna, email, dan kata sandi untuk konfigurasi admin.

Jadi sekarang, Askbot telah diinstal, file statis telah dibuat, dan konfigurasi database telah selesai.

Anda dapat menguji instalasi Askbot dengan perintah runserver di bawah ini.

python manage.py runserver 0.0.0.0:8080

Buka browser Web Anda dan ketik alamat IP server, dan Anda akan melihat halaman yang mirip dengan berikut:

Langkah 4 - Instal dan konfigurasi uWSGI

Kami akan menggunakan uWSGI sebagai layanan untuk proyek Askbot Django. Secara khusus, kami akan menggunakan uWSGI dengan server web Nginx untuk instalasi Askbot. Jadi mari kita mulai.

Pertama, instal uWSGI menggunakan perintah pip, seperti yang ditunjukkan di bawah ini.

sudo pip install uwsgi

Setelah instalasi selesai, buat direktori baru untuk file host virtual uWSGI. Misalnya, dalam kasus kami, kami membuat '/etc/uwsgi/sites'.

mkdir -p /etc/uwsgi/sites

Buka direktori yang baru dibuat dan buat konfigurasi askbot uWSGI baru dengan vim.

cd /etc/uwsgi/sites
vim askbot.ini

Tempelkan konfigurasi berikut ke dalam file.

[uwsgi]

# Direktori proyek, direktori Python
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
proses =5

# Askbot akan berjalan di bawah file sock
socket =/run/uwsgi/askbot.sock
chmod- socket =664
uid =askbot
gid =nginx
vacuum =true

# uWSGI File log
logto =/var/log/uwsgi.log

Itu dia. Simpan file dan keluar dari editor.

Selanjutnya, tambahkan file skrip layanan uWSGI baru ke direktori '/etc/systemd/system'. Buka direktori dan buat file 'uwsgi.service' dengan vim.

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

Rekatkan konfigurasi layanan uWSGI berikut ke dalam file.

[Unit]
Deskripsi=Layanan Kaisar uWSGI

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

[Instal]
WantedBy=multi-user.target

Simpan dan keluar.

Sekarang, muat ulang layanan systemd dan aktifkan uWSGI untuk memulai secara otomatis saat boot.

systemctl daemon-reload
systemctl aktifkan uwsgi

Jadi dengan ini, uWSGI telah diinstal, dan Anda akan melihatnya berjalan sebagai layanan.

Langkah 5 - Instal dan konfigurasikan server web Nginx

Jadi, 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'.

Untuk memulainya, instal Nginx dengan perintah yum.

yum -y install nginx

Sekarang buka direktori 'conf.d' Nginx dan buat file host virtual baru 'askbot.conf' dengan editor vim.

cd /etc/nginx/conf.d/
vim askbot.conf

Rekatkan konfigurasi Askbot Nginx berikut ke dalam file.

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
       include       uwsgi_params;   run /> uwsgi/askbot.sock;
   }
}

Simpan file dan keluar dari editor. Sekarang, uji konfigurasi untuk memastikan tidak ada kesalahan.

nginx -t

Selanjutnya, mulai layanan Nginx dan uWSGI.

systemctl start nginx
systemctl start uwsgi

Dan aktifkan mereka untuk memulai secara otomatis pada saat boot.

systemctl aktifkan nginx
systemctl aktifkan uwsgi

Jadi Nginx sekarang diinstal sebagai proxy terbalik untuk aplikasi uWSGI 'Askbot'.

Langkah 6 - Uji penyiapan

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

Berikut halaman login pengguna Askbot:

Dasbor pengguna Askbot:

Pengaturan admin Askbot:

Login admin Askbot Django:

Dasbor admin Askbot Django:

Jadi aplikasi sistem Q&A 'Askbot' telah berhasil diinstal dengan web server uWSGI dan Nginx di server CentOS 7.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 8

  2. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi Redis di CentOS 7

  1. Cara Menginstal dan Mengonfigurasi GitLab di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di CentOS 7

  3. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  1. Cara Instal dan Konfigurasi Redmine di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Redis di CentOS 8

  3. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8