Askbot, ṣẹda awọn apejọ rẹ ti o ni ibamu si awọn ibeere ati awọn idahun

nipa askbot

Ninu nkan ti n bọ a yoo wo Askbot. Eyi ni sọfitiwia orisun ṣiṣi ti a lo lati ṣẹda awọn apejọ ayelujara ti o da lori ibeere-ati-idahun. Oju opo wẹẹbu naa bẹrẹ ni Oṣu Keje ọdun 2009, ati pe o ni ibẹrẹ iru si Stack Overflow tabi Yahoo! Awọn idahun. O jẹ idagbasoke akọkọ ati itọju nipasẹ Evgeny fadeev.

Askbot jẹ ibeere orisun orisun ati idahun (Q&A) ti o da lori Python ati Django. Pẹlu Askbot, olumulo eyikeyi le ṣẹda ibeere tirẹ ati pẹpẹ idahun. Ninu awọn ila wọnyi a yoo rii bi a ṣe le fi sori ẹrọ Askbot lori Ubuntu 20.04 tabi 18.04.

Ṣeun si sọfitiwia yii, eyikeyi olumulo le ṣẹda ibeere ti o munadoko ati apero imoye idahun, ninu eyiti awọn idahun ti o dara julọ yoo han ni akọkọ, tito lẹtọ nipasẹ awọn afi. O tun pẹlu iṣakoso olumulo pẹlu awọn ọna ṣiṣe ere, eyiti o fun awọn olumulo karma fun ipolowo ti o dara ati alaye ti o yẹ.

fọọmu lati firanṣẹ awọn ibeere

Bii o ṣe le fi sori ẹrọ Askbot lori Ubuntu 20.04?

Fi awọn ohun-ini pataki sii

Lati fi sori ẹrọ Askbot, akọkọ ohun gbogbo ti a gbọdọ fi sori ẹrọ ninu eto wa diẹ ninu awọn idii pataki fun iṣẹ to tọ. A yoo nilo lati ṣii ebute nikan (Ctrl + Alt + T) ati ṣiṣe awọn ofin:

awọn ibeere fun askbot

sudo apt update; sudo apt install python-dev python-setuptools python3-pip python3-psycopg2 libpq-dev

Fi PostgreSQL sii

Bayi pe a ni awọn idii ti tẹlẹ ti fi sori ẹrọ, jẹ ki a fifi sori ẹrọ PostgreSQL. Lati ṣe eyi, ni ebute kan (Ctrl + Alt + T) aṣẹ lati ṣe yoo jẹ atẹle:

fi sori ẹrọ postgresql

sudo apt install postgresql postgresql-client

Lẹhin fifi PostgreSQL sii, awọn ofin wọnyi le ṣee lo si bẹrẹ ati ṣayẹwo ipo rẹ:

ipo postgresql

sudo systemctl start postgresql.service

sudo systemctl status postgresql.service

Ṣẹda Ọrọigbaniwọle Olumulo PostgreSQL

Lẹhin fifi PostgreSQL sii, o jẹ imọran ti o dara ṣẹda tabi yiyipada ọrọ igbaniwọle olumulo Postgres aiyipada. Lati ṣe eyi, a nilo ni ṣiṣe ṣiṣe aṣẹ wọnyi ni ikarahun bash:

ọrọ igbaniwọle olumulo postgres

sudo passwd postgres

Ofin ti o wa loke yẹ ki o beere lọwọ wa lati ṣẹda ọrọigbaniwọle tuntun fun olumulo ti postgres. Lẹhin ti o ṣeto ọrọ igbaniwọle titun kan, ni gbogbo igba ti a ba fẹ wọle si ikarahun ibanisọrọ PostgreSQL, a yoo beere lọwọ rẹ lati tẹ ọrọ igbaniwọle ti a ṣẹṣẹ wọle sii.

Ṣẹda ibi ipamọ data PostgreSQL

Bayi pe a ti fi PostgreSQL sii, a yoo ni lati lo awọn ofin wọnyi si so wa pọ mọ console ikarahun rẹ. Eyi yoo beere lọwọ wa lati kọ ọrọ igbaniwọle ti a kọ ni igbesẹ ti tẹlẹ:

ikarahun postgresql

su - postgres

psql

Ninu console ikarahun, a yoo tẹ iru atẹle si ṣẹda ibi ipamọ data tuntun ti a pe beere:

ṣẹda ibi ipamọ data ni postgresql

create database askbot;

Ni aaye yii, ohun miiran ti a nilo lati ṣe ni ṣẹda olumulo ibi ipamọ data ti a npè ni beere onija pẹlu ọrọigbaniwọle titun kan. A yoo ṣe aṣeyọri eyi nipa kikọ:

ṣẹda olumulo fun askbot

create user askbotusuario with password 'tu-contraseña';

Nigbamii ti, a yoo ni lati eleyinju si beere onija ni kikun wiwọle si awọn database ti beere. Lẹhinna a kan ni lati jade kuro ni ikarahun naa:

fun gbogbo awọn anfani

grant all privileges on database askbot to askbotusuario;

buwolu jade

\q

exit

Lẹhin ti o ṣẹda ipilẹ data loke ati olumulo, jẹ ki a satunkọ faili iṣeto ni PostgreSQL ki o mu ijẹrisi md5 ṣiṣẹ. A le ṣe eyi pẹlu olootu ayanfẹ wa.

sudo vim /etc/postgresql/12/main/pg_hba.conf

Ninu inu faili naa, ni opin rẹ, a yoo ṣatunkọ awọn ila ti o ṣe afihan ni sikirinifoto atẹle iboju lati tọka si md5.

md5 iṣeto atunto

Lẹhin ṣiṣatunkọ faili ti tẹlẹ, a fipamọ ati jade. Bayi a yoo ni lati tun bẹrẹ PostgreSQL pẹlu aṣẹ:

sudo systemctl restart postgresql

Fi sori ẹrọ Askbot

Lati fi sori ẹrọ Askbot, a yoo nilo lati ṣẹda akọọlẹ olumulo ifiṣootọ kan. A le ṣaṣeyọri eyi nipa ṣiṣe awọn ofin wọnyi lati ṣẹda iroyin tuntun ti a pe beere:

sudo useradd -m -s /bin/bash askbot

sudo passwd askbot

Lẹhinna a yoo rii daju pe olumulo le ṣiṣe sudo bi gbongbo:

sudo usermod -a -G sudo askbot

Nigbati a ba pari, a yoo ṣe pipaṣẹ miiran yii ni ebute si fi sori ẹrọ ayika foju Python (virtualenv):

fi sori ẹrọ virtualenv askbot

sudo pip install virtualenv six

Ni opin fifi sori ẹrọ, a yoo yipada si akọọlẹ ti beere:

su - askbot

A tesiwaju ṣiṣẹda ayika foju tuntun fun beere:

ṣẹda ayika foju fun askbot

virtualenv askbot

Igbese to nbo yoo jẹ yipada si agbegbe foju ki o muu ṣiṣẹ:

muu ṣiṣẹ foju ayika

cd askbot

source bin/activate

Lẹhinna a yoo fi sori ẹrọ awọn modulu Askbot, Mefa ati PostgreSQL:

fifi sori ẹrọ modulu

pip install --upgrade pip

pip install six==1.10.0

pip install askbot==0.11.1 psycopg2

Lẹhin fifi sori a yoo ṣẹda itọsọna kan ti a pe ni miapp fun askbot ati tunto rẹ:

mkdir miapp

cd miapp

askbot-setup

Aṣẹ iṣeto naa yoo beere awọn alaye ti ayika, bi o ṣe le rii ninu sikirinifoto atẹle:

ipari iṣeto askbot-setup

Lẹhinna a yoo pari iṣeto naa nṣiṣẹ awọn ofin:

ipari iṣeto

cd askbot_site/

python manage.py collectstatic

python manage.py migrate

Lọlẹ awọn app

Bayi fun bẹrẹ olupin ohun elo, ninu ebute (Ctrl + Alt + T) a yoo lo aṣẹ naa:

python manage.py runserver --insecure 0.0.0.0:8080

Ni aaye yii o yẹ ki a ni anfani lati wọle si ohun elo wa nipasẹ url:

berebot lori ayelujara

http://localhost:8080

A tun le buwolu wọle si ẹhin bi adari pẹlu url atẹle. Botilẹjẹpe a yoo ni lati lo awọn ẹrí alakoso:

Isakoso backend

http://localhost:8080/admin

Ti o ko ba le wọle sinu ẹhin lẹhin bi olutọju, o le ṣẹda akọọlẹ olutọju Super kan nipa ṣiṣe pipaṣẹ ni ebute (Ctrl + Alt + T):

ṣẹda superuser

python manage.py createsuperuser

Lẹhin eyi a le lo awọn iwe eri ti o ṣẹṣẹ ṣẹṣẹ ṣẹda lati tẹ ẹhin ifẹhinti ti abojuto:

Isakoso askbot

Fun awọn ẹni-kọọkan ati awọn ile-iṣẹ ti n wa lati ṣẹda apejọ ibeere ati idahun, Askbot le jẹ iranlọwọ. Fun alaye diẹ sii nipa iṣẹ yii, awọn olumulo le kan si aaye ayelujara osise tabi ninu rẹ ibi ipamọ lori GitHub.


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Jẹ akọkọ lati sọ ọrọ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.