Askbot - Unda Mijadala Yako Mwenyewe ya Maswali na Majibu kama vile Kufurika kwa Stack


Askbot ni programu huria, rahisi lakini yenye nguvu, haraka na inayoweza kubinafsishwa sana kwa ajili ya kuunda jukwaa la maswali na majibu (Maswali na Majibu). Imechochewa na StackOverflow na YahooAnswers, na imeandikwa kwa Python juu ya mfumo wa wavuti wa Django.

Huruhusu usimamizi mzuri wa maarifa na majibu, kwa hivyo mashirika kama vile Mijadala ya Maswali na Majibu ya LibreOffice yanaitumia vyema. Askbot inaweza kufanya kazi kama programu inayojitegemea au inaweza kuunganishwa na programu zako zilizopo za Django au majukwaa mengine ya wavuti.

Katika somo hili utajifunza jinsi ya kusakinisha AskBot kwenye CentOS 7. Ili kukamilisha mafunzo, utahitaji kuwa na usakinishaji mdogo wa seva ya CentOS 7 na ufikiaji wa mizizi.

Hatua ya 1: Sakinisha Vitegemezi Vinavyohitajika

Tutaanza kwa kusakinisha vitegemezi vinavyohitajika kama vile zana za ukuzaji kwa kutumia amri ifuatayo kwenye terminal.

# yum group install 'Development Tools'

Baada ya hapo tutasakinisha hazina ya Epel, ikiwa bado haijasakinishwa kwenye mfumo wako.

# yum install epel-release

Mwishowe, tutasakinisha baadhi ya utegemezi wa python unaohitajika ili kuendesha AskBot baadaye.

# yum install python-pip python-devel python-six

Ikiwa python-pip haijasanikishwa na amri hapo juu, unaweza kuisanikisha kwa kutumia amri ifuatayo.

# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && python get-pip.py

Hatua ya 2: Sakinisha Hifadhidata ya PostgreSQL

AskBot inahitaji hifadhidata ambapo itahifadhi data yake. Inatumia PostgreSQL, kwa hivyo tutahitaji kuisakinisha na kuisanidi kwenye mfumo wetu.

Unaweza kutumia amri ifuatayo kukamilisha usakinishaji.

# yum -y install postgresql-server postgresql-devel postgresql-contrib

Usakinishaji utakapokamilika, anzisha PostgreSQL na.

# postgresql-setup initdb

Ikiwa kila kitu kinakwenda kawaida, unapaswa kuona zifuatazo:

Initializing database ... OK

Hatua yetu inayofuata ni kuanza PostgreSQL na kuiwezesha kuanza kwenye buti:

# systemctl start postgresql
# systemctl enable postgresql

Sasa kwa kuwa seva yetu ya hifadhidata iko na inafanya kazi, tutaingia kama mtumiaji wa posta ili kuunda hifadhidata kwa usakinishaji wetu wa AskBot.

# su - postgres

Kisha tumia kwa:

$ psql

Sasa wewe ni kidokezo cha PostgreSQL, tayari kuunda hifadhidata yetu, mtumiaji wa hifadhidata na kuwapa haki za mtumiaji kwenye hifadhidata mpya. Unda hifadhidata kwa kutumia amri iliyo hapa chini, jisikie huru kubadilisha jina la hifadhidata kulingana na upendeleo wako:

postgres=# create database askbot_db;

Ifuatayo, tengeneza mtumiaji wa hifadhidata. Badilisha \password_here kwa nenosiri kali:

postgres=# create user askbot_user with password 'password_here';

Peana haki za mtumiaji kwenye askbot_db:

postgres=# grant all privileges on database askbot_db to askbot_user;

Ifuatayo tutahitaji kuhariri usanidi wa PostgreSQL ili kubadilisha njia yetu ya uthibitishaji kuwa md5. Ili kufanya hivyo, tumia kihariri chako cha maandishi unachopenda na uhariri /var/lib/pgsql/data/pg_hba.conf faili:

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

Mipangilio inapaswa kuonekana kama hii:

Ifuatayo, hifadhi mabadiliko na uanze tena PostgreSQL:

# systemctl restart postgresql

Hatua ya 3: Sakinisha Mijadala ya AskBot

Hatimaye tunaweza kuendelea na usakinishaji wa AskBot. Anza kwa kuunda mtumiaji mpya kwenye mfumo wako. Tutaiita askbot:

# useradd -m -s /bin/bash askbot

Weka nenosiri kwa mtumiaji mpya:

# passwd askbot

Ifuatayo tutahitaji kuongeza mtumiaji kwenye kikundi cha gurudumu kwenye mfumo:

# usermod -a -G wheel askbot

Sasa tutatumia bomba kusanikisha kifurushi cha virtualenv:

# pip install virtualenv six

Sasa tutaingia kama mtumiaji wa askbot na kuunda mazingira mapya ya mtandaoni:

# su - askbot
$ virtualenv tecmint/
New python executable in /home/askbot/tecmint/python
Installing setuptools, pip, wheel...
done.

Hatua inayofuata ni kuamsha mazingira ya kawaida na amri ifuatayo:

# source tecmint/bin/activate

Sasa tuko tayari kusakinisha AskBot kupitia bomba.

# pip install six askbot psycopg2

Ufungaji unaweza kuchukua dakika kadhaa. Ikishakamilika, tunaweza kujaribu usakinishaji wetu katika saraka ya muda. Hakikisha SIO kutaja saraka hiyo askbot.

# mkdir forum_test && cd forum_test

Ifuatayo tutaanzisha mradi mpya wa AskBot na:

# askbot-setup

Utaulizwa maswali machache ambapo itabidi uchague saraka ya usakinishaji - tumia \ (bila nukuu) ili kuchagua saraka ya sasa. Kisha utahitaji kuingiza jina la hifadhidata lililotayarishwa awali. , mtumiaji wa hifadhidata na nenosiri lake.

Ifuatayo tutatoa faili tuli za Django na:

# python manage.py collectstatic

Ifuatayo, tunatengeneza hifadhidata:

# python manage.py syncdb

Na mwishowe anza seva na:

# python manage.py runserver 127.0.0.1:8080

Unapoenda kwenye kivinjari chako http://127.0.0.1:8080 - unapaswa kuona kiolesura cha askbot.

Ni hayo tu! Askbot ni chanzo huria, rahisi, haraka na kinachoweza kubinafsishwa sana na programu (Maswali na Majibu) ya jukwaa. Inasaidia usimamizi wa maarifa wenye ufanisi wa maswali na majibu. Iwapo ulikumbana na hitilafu zozote wakati wa usakinishaji au una maswali yoyote yanayohusiana, tumia fomu ya maoni iliyo hapa chini ili kuwasiliana nasi.