Askbot - Stack overflow ýaly öz sorag-jogap forumyňyzy dörediň


“Askbot” açyk çeşme, ýönekeý, ýöne güýçli, sorag we jogap forumyny döretmek üçin ýokary we özleşdirilip bilinýän programma üpjünçiligi. StackOverflow we YahooAnswers tarapyndan ylhamlanan we Django web çarçuwasynyň üstünde Python-da ýazylan.

Bilimleri netijeli dolandyrmaga we jogap bermäge mümkinçilik berýär, şonuň üçin LibreOffice-iň sorag-jogap forumlary ýaly guramalar ondan gowy peýdalanýarlar. Askbot özbaşdak programma hökmünde işläp biler ýa-da bar bolan Django programmalary ýa-da beýleki web platformalary bilen birleşdirilip bilner.

Bu gollanmada “AskBot” -y “CentOS 7” -e nädip gurmalydygyny öwrenersiňiz. Gollanmany tamamlamak üçin kök ygtyýary bolan “CentOS 7” serweriniň minimal gurnamasy bolmaly.

1-nji ädim: Gerekli baglylyklary guruň

Terminalda aşakdaky buýrugy ulanyp, ösüş gurallary ýaly zerur baglylyklary gurmak bilen başlarys.

# yum group install 'Development Tools'

Ondan soň, ulgamyňyzda eýýäm gurulmadyk bolsa, Epel ammaryny gurarys.

# yum install epel-release

Iň soňunda, AskBot-y işletmek üçin zerur bolan pifona baglylyklaryň käbirini gurarys.

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

Python-pip ýokardaky buýruk bilen gurulmadyk bolsa, aşakdaky buýrugy ulanyp gurup bilersiňiz.

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

2-nji ädim: PostgreSQL maglumat bazasyny guruň

AskBot maglumatlaryny saklaýan maglumat bazasyny talap edýär. PostgreSQL ulanýar, şonuň üçin ony gurnamaly we ulgamymyzda sazlamaly bolarys.

Gurmagy tamamlamak üçin aşakdaky buýrugy ulanyp bilersiňiz.

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

Gurmak gutaransoň, PostgreSQL bilen başlaň.

# postgresql-setup initdb

Hemme zat kadaly bolsa, aşakdakylary görmeli:

Initializing database ... OK

Indiki ädimimiz, PostgreSQL-i başlamak we ony başlamaga mümkinçilik bermek:

# systemctl start postgresql
# systemctl enable postgresql

Maglumat bazamyzyň serweri işleýän we işleýänsoň, “AskBot” gurnamagymyz üçin maglumat bazasyny döretmek üçin postgres ulanyjysy hökmünde gireris.

# su - postgres

Soňra ulanyň:

$ psql

Indi siz maglumatlar bazamyzy döretmäge we täze maglumatlar bazasynda ulanyja artykmaçlyklary bermäge taýyn PostgreSQL teklip. Aşakdaky buýrugy ulanyp maglumat bazasyny dörediň, islegleriňize görä maglumat bazasynyň adyny üýtgedip bilersiňiz:

postgres=# create database askbot_db;

Ondan soň maglumat bazasynyň ulanyjysyny dörediň.\Parol_here -ni güýçli parol bilen çalyşyň:

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

Askbot_db-de ulanyja artykmaçlyklary beriň:

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

Indiki tanamak usulymyzy md5-e üýtgetmek üçin PostgreSQL konfigurasiýasyny redaktirlemeli bolarys. Munuň üçin halaýan tekst redaktoryňyzy ulanyň we /var/lib/pgsql/data/pg_hba.conf faýlyny redaktirläň:

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

Sazlamalar şeýle bolmaly:

Soňra üýtgeşmeleri ýazdyryň we PostgreSQL-i täzeden açyň:

# systemctl restart postgresql

3-nji ädim: AskBot forumyny guruň

Ahyrynda, AskBot-y gurnamagy dowam etdirip bileris. Ulgamyňyzda täze ulanyjy döretmekden başlaň. Biz oňa askbot diýeris:

# useradd -m -s /bin/bash askbot

Täze ulanyjy üçin parol gurmak:

# passwd askbot

Ondan soň ulanyjyny ulgamdaky tigir toparyna goşmaly bolarys:

# usermod -a -G wheel askbot

Indi virtualenv paketini gurmak üçin turbany ulanarys:

# pip install virtualenv six

Indi askbot ulanyjysy hökmünde hasaba gireris we täze wirtual gurşaw dörederis:

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

Indiki ädim, wirtual gurşawy aşakdaky buýruk bilen işjeňleşdirmek:

# source tecmint/bin/activate

Indi “AskBot” -y turba arkaly gurmaga taýyn.

# pip install six askbot psycopg2

Gurmak birnäçe minut alyp biler. Gurlup gutarandan soň, gurnamany wagtlaýyn katalogda synap bileris. Şol katalog askbotyň adyny tutmaň.

# mkdir forum_test && cd forum_test

Geljekde täze AskBot taslamasy bilen başlarys:

# askbot-setup

Size birnäçe sorag berler, gurnama katalogyny nireden saýlamaly bolarsyňyz - \ulanyň. (sitatasyz) häzirki katalogy saýlamak üçin. Soňra öňünden taýýarlanan maglumat bazasynyň adyny girizmeli bolarsyňyz. , maglumat bazasy ulanyjysy we paroly.

Indiki Django üçin statiki faýllary dörederis:

# python manage.py collectstatic

Indiki maglumat bazasyny döredýäris:

# python manage.py syncdb

Iň soňunda serweri başlaň:

# python manage.py runserver 127.0.0.1:8080

Brauzeriňize http://127.0.0.1:8080 gireniňizde, askbot interfeýsini görmeli.

Bu hemmesi! Askbot açyk çeşme, ýönekeý, çalt we ýokary özleşdirilip bilinýän sorag-jogap (sorag-jogap) forum programma üpjünçiligi. Netijeli soraglary we bilimleri dolandyrmagy goldaýar. Gurnama wagtynda haýsydyr bir ýalňyşlyk bilen ýüzbe-ýüz bolsaňyz ýa-da başga baglanyşykly soraglaryňyz bar bolsa, bize jogap bermek üçin aşakdaky seslenme formasyny ulanyň.