Si të instaloni dhe konfiguroni Askbot me Nginx në CentOS 7
Askbot është një softuer me burim të hapur për krijimin e forumeve për pyetje dhe përgjigje bazuar në Python Django Framework. Në thelb është një sistem pyetjesh dhe përgjigjesh si StackOverflow, Yahoo Answers dhe të tjerë. Krijuar nga Mike Chan dhe Sailing Cai në 2009, dhe është e lehtë për t'u instaluar dhe konfiguruar në sistemet Linux si Ubuntu dhe CentOS. Shumë projekte të mëdha softuerësh me burim të hapur si Fedora dhe LibreOffice po e përdorin atë.
Në këtë tutorial, ne do t'ju tregojmë se si të instaloni aplikacionin Askbot Python Django duke përdorur uWSGI dhe serverin e internetit Nginx në sistemin CentOS 7. Sa i përket bazës së të dhënave, ne do të përdorim PostgreSQL për instalimin e Askbot.
Çfarë do të bëjmë ne
- Instaloni varësitë
- Instaloni dhe konfiguroni PostgreSQL
- Instaloni dhe konfiguroni Askbot
- Instaloni dhe konfiguroni uWSGI
- Instaloni dhe konfiguroni Nginx Webserver
- Testoni konfigurimin
Parakushtet
- Serveri CentOS 7
- Privilegjet e rrënjës
Hapi 1 - Instaloni varësitë
Në këtë hap, ne do të instalojmë disa paketa që nevojiten për instalimin e suksesshëm të Askbot. Këto përfshijnë Veglat e Zhvillimit, depo Epel dhe disa mjete të lidhura me python (për menaxhimin e paketave Python). Pra, le të fillojmë.
Së pari, instaloni CentOS Development Tools me komandën e grupit yum më poshtë.
yum group install 'Development Tools'
Pastaj instaloni depon e Epel.
yum -y install epel-release
Dhe së fundi instaloni paketat python, duke përfshirë python pip, python-devel dhe python six.
yum -y install python-pip python-devel python-six
Hapi 2 - Instaloni dhe konfiguroni PostgreSQL
Tani na duhet baza e të dhënave PostgreSQL, e cila është e disponueshme në depon e CentOS. Në këtë seksion, ne do të diskutojmë se si mund të instaloni bazën e të dhënave PostgreSQL, të ndryshoni përdoruesin e fjalëkalimit të postgres, të krijoni një përdorues dhe bazë të dhënash të re për instalimin e Askbot dhe së fundi, të ndryshoni konfigurimin e vërtetimit të postgres.
Pra, le të fillojmë me instalimin e PostgreSQL nga depoja duke përdorur komandën yum më poshtë.
yum -y install postgresql-server postgresql-devel postgresql-contrib
Pasi të përfundojë instalimi, duhet të inicializojmë bazën e të dhënave, gjë që mund ta bëni duke përdorur komandën e mëposhtme.
postgresql-setup initdb
Duke ecur përpara, filloni postgres dhe aktivizoni atë të nisë automatikisht në kohën e nisjes.
systemctl start postgresql
systemctl enable postgresql
Në këtë pikë, baza e të dhënave PostgreSQL duhet të instalohet. Më pas, duhet të rivendosim fjalëkalimin e përdoruesit të postgres. Për këtë, fillimisht identifikohuni si përdorues i postgres dhe hyni në mjetin e linjës së komandës psql.
su - postgres
psql
Dhe pastaj jepini përdoruesit postgres një fjalëkalim të ri.
\password postgres
Tani, krijoni një bazë të dhënash dhe përdorues të ri për Askbot. Për shembull, ne duam të krijojmë një përdorues të ri hakaselabs me fjalëkalim hakase123 dhe bazën e të dhënave të quajtur askbotdb. Pyetjet e mëposhtme të postgres do të na ndihmojnë t'i krijojmë të gjitha këto.
create database askbotdb;
create user hakaselabs with password 'hakase123';
grant all privileges on database askbotdb to hakaselabs;
Pra, tani, një bazë të dhënash dhe përdorues për instalimin e Askbot janë krijuar. Hapi tjetër është të redaktoni konfigurimin e postgres për konfigurimin e vërtetimit, gjë që mund ta bëni duke shkuar te drejtoria pgsql/data dhe duke redaktuar skedarin pg_hba.conf me vim.
cd /var/lib/pgsql/data/
vim pg_hba.conf
Pasi të futeni në skedar, ndryshoni të gjithë vërtetimin në md5, siç tregohet më poshtë.
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Tani, ruani dhe dilni nga skedari dhe më pas rinisni shërbimin postgres.
systemctl restart postgresql
Pra, deri tani, baza e të dhënave PostgreSQL është instaluar; është krijuar baza e të dhënave për instalimin e Askbot; dhe metoda e vërtetimit të përdoruesit të postgres është ndryshuar në md5.
Hapi 3 - Instaloni dhe konfiguroni Askbot
Në këtë hap, ne do të diskutojmë instalimin dhe konfigurimin e Askbot. Ne do të instalojmë Askbot nën një përdorues të quajtur askbot, dhe duke përdorur virtualenv python. Pra, le të fillojmë.
Së pari, krijoni një përdorues të ri askbot dhe jepini përdoruesit një fjalëkalim të ri.
useradd -m -s /bin/bash askbot
passwd askbot
Më pas shtoni përdoruesin askbot në grupin e rrotave për qasje në komandën sudo (nuk jam i sigurt se çfarë është sudo? Mësoni më shumë rreth tij këtu).
usermod -a -G wheel askbot
Tani përmirësoni pip në versionin më të fundit dhe instaloni paketën python virtualenv.
pip install --upgrade pip
pip install virtualenv six
Tjetra. hyni si përdorues i askbot dhe krijoni mjedis të ri virtual python hakase-labs me virtualenv.
su - askbot
virtualenv hakase-labs/
Shkoni te direktoria hakase-labs dhe aktivizoni mjedisin virtual për instalimin e Askbot.
cd hakase-labs/
source bin/activate
Tani instaloni askbot dhe paketa të tjera python me komandën pip në mjedisin virtual të hakase-labs.
pip install six
pip install askbot psycopg2
Më pas, krijoni një direktori të re për projektin Askbot. Ju lutemi sigurohuni që të mos përdorni askbot si emër të drejtorisë. Në rastin tonë, për shembull, ne krijuam një drejtori të re të quajtur myapp
mkdir myapp/
Shkoni te drejtoria myapp dhe ekzekutoni komandën askbot-setup.
cd myapp/
askbot-setup
Komanda askbot-setup do t'ju pyesë disa gjëra. Për shembull, do të pyeteni për shtegun e drejtorisë për të vendosur Askbot - mund të shkruani . dhe shtypni Enter për të vazhduar. Në mënyrë të ngjashme, kur pyeteni për motorin e bazës së të dhënave, shkruani 1 për të përdorur postgresql dhe shtypni Enter. Për detaje të lidhura me bazën e të dhënave, shkruani emrin e bazës së të dhënave si askbotdb, përdoruesin e bazës së të dhënave si hakaselabs dhe fjalëkalimin si hakase123.
Pra, Askbot është instaluar tani në drejtorinë myapp. Tani duhet të gjenerojmë skedarë statikë Askbot Django dhe bazën e të dhënave.
Drejtoni komandën më poshtë për të gjeneruar skedarë statikë Askbot Django.
python manage.py collectstatic
Kur ju kërkohet konfirmim, shkruani po dhe shtypni Enter.
Tani, për të gjeneruar bazën e të dhënave, ekzekutoni syncdb si më poshtë.
python manage.py syncdb
Do të pyeteni për krijimin e përdoruesit dhe fjalëkalimit të administratorit. Pra, kur të kërkohet, shkruani emrin e përdoruesit, emailin dhe fjalëkalimin për konfigurimin e administratorit.
Pra, deri tani, Askbot është instaluar, skedarët statikë janë gjeneruar dhe konfigurimi i bazës së të dhënave është përfunduar.
Ju mund të testoni instalimin e Askbot me komandën e serverit më poshtë.
python manage.py runserver 0.0.0.0:8080
Hapni shfletuesin tuaj të internetit dhe shkruani adresën IP të serverit dhe do të shihni një faqe të ngjashme me sa vijon:
Hapi 4 - Instaloni dhe konfiguroni uWSGI
Ne do të përdorim uWSGI si shërbim për projektin Askbot Django. Në mënyrë të veçantë, ne do të përdorim uWSGI me serverin në internet Nginx për instalimin e Askbot. Pra, le të fillojmë.
Së pari, instaloni uWSGI duke përdorur komandën pip, siç tregohet më poshtë.
sudo pip install uwsgi
Pasi të përfundojë instalimi, krijoni një direktori të re për skedarët e hostit virtual uWSGI. Për shembull, në rastin tonë, ne krijuam /etc/uwsgi/sites.
mkdir -p /etc/uwsgi/sites
Shkoni te drejtoria e sapokrijuar dhe krijoni konfigurimin e ri të askbot uWSGI me vim.
cd /etc/uwsgi/sites
vim askbot.ini
Ngjitni konfigurimin e mëposhtëm në skedar.
[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 = /run/uwsgi/askbot.sock
chmod-socket = 664
uid = askbot
gid = nginx
vacuum = true
# uWSGI Log file
logto = /var/log/uwsgi.log
Kjo eshte. Ruani skedarin dhe dilni nga redaktori.
Më pas, shtoni skedarin e ri të skriptit të shërbimit uWSGI në drejtorinë /etc/systemd/system. Shkoni te drejtoria dhe krijoni skedarin uwsgi.service me vim.
cd /etc/systemd/system/
vim uwsgi.service
Ngjitni konfigurimin e mëposhtëm të shërbimit uWSGI në skedar.
[Unit]
Description=uWSGI Emperor service
[Service]
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
[Install]
WantedBy=multi-user.target
Ruaje dhe dil.
Tani, ringarkoni shërbimet systemd dhe aktivizoni uWSGI të fillojë automatikisht në kohën e nisjes.
systemctl daemon-reload
systemctl enable uwsgi
Pra, me këtë, uWSGI është instaluar, dhe ju duhet ta shihni atë duke funksionuar si një shërbim.
Hapi 5 - Instaloni dhe konfiguroni uebserverin Nginx
Pra, Askbot është instaluar tani dhe funksionon nën skedarin e çorape uWSGI askbot.sock. Në këtë hap, ne do të përdorim serverin në internet Nginx si një përfaqësues të kundërt për aplikacionin uWSGI Askbot.
Për të filluar, instaloni Nginx me komandën yum.
yum -y install nginx
Tani shkoni te drejtoria Nginx conf.d dhe krijoni skedarin e ri të hostit virtual askbot.conf me redaktorin vim.
cd /etc/nginx/conf.d/
vim askbot.conf
Ngjitni konfigurimin e mëposhtëm Askbot Nginx në skedar.
server {
listen 80;
server_name askbot.me www.askbot.me;
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/askbot.sock;
}
}
Ruani skedarin dhe dilni nga redaktori. Tani, provoni konfigurimin për t'u siguruar që nuk ka ndonjë gabim.
nginx -t
Tjetra, filloni shërbimet Nginx dhe uWSGI.
systemctl start nginx
systemctl start uwsgi
Dhe mundësoni që ato të fillojnë automatikisht në kohën e nisjes.
systemctl enable nginx
systemctl enable uwsgi
Pra, Nginx tani është instaluar si një përfaqësues i kundërt për aplikacionin uWSGI Askbot.
Hapi 6 - Testoni konfigurimin
Hapni shfletuesin tuaj të internetit dhe vizitoni emrin e domenit Askbot: askbot.me dhe do të shihni faqen kryesore, siç tregohet më poshtë.
Këtu është faqja e hyrjes së përdoruesit të Askbot:
Paneli i përdoruesit të Askbot:
Cilësimi i administratorit të Askbot:
Hyrja e administratorit në Askbot Django:
Paneli i administratorit të Askbot Django:
Pra, aplikacioni i sistemit Q&A Askbot është instaluar me sukses me uWSGI dhe serverin e internetit Nginx në serverin CentOS 7.
Referenca
- https://askbot.org/en/