Askbot - Ṣẹda Apejọ Q&A tirẹ Bi Ikunpọ Stack


Askbot jẹ orisun ṣiṣi, rọrun sibẹsibẹ lagbara, iyara ati sọfitiwia asefara gíga fun ṣiṣẹda apejọ ibeere ati idahun (Q&A). O jẹ atilẹyin nipasẹ StackOverflow ati YahooAnswers, ati kikọ ni Python lori oke ilana ilana wẹẹbu Django.

O gba laaye fun ibeere to munadoko ati dahun iṣakoso imọ, nitorinaa awọn ajọ bii LibreOffice's Q&A Forums n lo daradara. Askbot le ṣiṣẹ bi ohun elo iduro tabi o le ṣepọ pẹlu awọn ohun elo Django ti o wa tẹlẹ tabi awọn iru ẹrọ wẹẹbu miiran.

Ninu ẹkọ yii iwọ yoo kọ bi o ṣe le fi sori ẹrọ AskBot lori CentOS 7. Lati le pari ikẹkọ naa, iwọ yoo nilo lati ni olupin CentOS 7 fifi sori ẹrọ ti o kere ju pẹlu iraye si gbongbo.

Igbesẹ 1: Fi Awọn igbẹkẹle ti a beere sii

A yoo bẹrẹ nipasẹ fifi awọn igbẹkẹle ti a beere sii gẹgẹbi awọn irinṣẹ idagbasoke nipasẹ lilo aṣẹ atẹle ni ebute kan.

# yum group install 'Development Tools'

Lẹhin eyini a yoo fi ibi ipamọ Epel sori ẹrọ, ti ko ba ti fi sii tẹlẹ sori ẹrọ rẹ.

# yum install epel-release

Ni ikẹhin, a yoo fi sori ẹrọ diẹ ninu awọn igbẹkẹle Python ti o nilo lati ṣiṣe nigbamii AskBot.

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

Ni ọran ti a ko ba fi python-pip sori ẹrọ pẹlu aṣẹ ti o wa loke, o le fi sii pẹlu lilo aṣẹ wọnyi.

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

Igbesẹ 2: Fi aaye data PostgreSQL sii

AskBot nilo ibi ipamọ data nibiti yoo tọju data rẹ. O nlo PostgreSQL, nitorinaa a yoo nilo lati fi sii ati tunto rẹ lori eto wa.

O le lo aṣẹ atẹle lati pari fifi sori ẹrọ.

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

Nigbati fifi sori ba pari, ṣe ipilẹ PostgreSQL pẹlu.

# postgresql-setup initdb

Ti ohun gbogbo ba n lọ deede, o yẹ ki o wo atẹle:

Initializing database ... OK

Igbese wa ti o tẹle ni lati bẹrẹ PostgreSQL ati mu ki o bẹrẹ ni bata:

# systemctl start postgresql
# systemctl enable postgresql

Nisisiyi pe olupin olupin data wa ti n ṣiṣẹ, a yoo buwolu wọle bi olumulo postgres lati ṣẹda ipilẹ data fun fifi sori wa AskBot.

# su - postgres

Lẹhinna lo si:

$ psql

Bayi o wa ni ifiweranṣẹ PostgreSQL, ṣetan lati ṣẹda ibi ipamọ data wa, olumulo ibi ipamọ data ati fifun awọn anfani olumulo lori aaye data tuntun. Ṣẹda ibi ipamọ data nipa lilo pipaṣẹ ti o wa ni isalẹ, ni ọfẹ lati yi orukọ ibi ipamọ data pada fun awọn ayanfẹ rẹ:

postgres=# create database askbot_db;

Nigbamii ṣẹda olumulo ibi ipamọ data. Rọpo\"password_here" pẹlu ọrọ igbaniwọle to lagbara:

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

Fifun awọn anfani olumulo lori askbot_db:

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

Nigbamii ti a yoo nilo lati satunkọ iṣeto PostgreSQL lati yi ọna ìfàṣẹsí wa pada si md5. Lati ṣe eyi, lo olootu ọrọ ayanfẹ rẹ ati satunkọ faili /var/lib/pgsql/data/pg_hba.conf:

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

Awọn atunto yẹ ki o dabi eleyi:

Nigbamii fi awọn ayipada pamọ ki o tun bẹrẹ PostgreSQL:

# systemctl restart postgresql

Igbesẹ 3: Fi sori ẹrọ Apejọ AskBot

Lakotan a le tẹsiwaju pẹlu fifi sori ẹrọ ti AskBot. Bẹrẹ nipa ṣiṣẹda olumulo tuntun lori ẹrọ rẹ. A yoo pe ni askbot:

# useradd -m -s /bin/bash askbot

Ṣeto ọrọigbaniwọle fun olumulo tuntun:

# passwd askbot

Nigbamii ti a yoo nilo lati ṣafikun olumulo si ẹgbẹ kẹkẹ lori eto:

# usermod -a -G wheel askbot

Bayi a yoo lo pip lati fi sori ẹrọ package virualenv:

# pip install virtualenv six

Bayi a yoo buwolu wọle bi olumulo askbot ati ṣẹda ayika foju tuntun:

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

Igbesẹ ti o tẹle ni lati mu ayika foju ṣiṣẹ pẹlu aṣẹ atẹle:

# source tecmint/bin/activate

Bayi a ti ṣetan lati fi sori ẹrọ AskBot nipasẹ pip.

# pip install six askbot psycopg2

Fifi sori ẹrọ le gba to iṣẹju diẹ. Ni kete ti o ti pari, a le idanwo idanwo wa ni itọsọna igba diẹ. Rii daju pe KO darukọ orukọ askbot.

# mkdir forum_test && cd forum_test

Nigbamii ti a yoo ṣe ipilẹṣẹ iṣẹ akanṣe AskBot tuntun pẹlu:

# askbot-setup

Iwọ yoo beere ibeere diẹ nibiti iwọ yoo ni lati yan itọsọna fifi sori ẹrọ - lo \".” (laisi awọn agbasọ) lati yan itọsọna lọwọlọwọ. Nigbamii ti iwọ yoo nilo lati tẹ orukọ ibi ipamọ data ti a ti pese tẹlẹ , Olumulo ipamọ data ati ọrọ igbaniwọle rẹ.

Ni atẹle a yoo ṣe awọn faili aimi fun Django pẹlu:

# python manage.py collectstatic

Nigbamii ti a ṣe ipilẹ data:

# python manage.py syncdb

Ati nikẹhin bẹrẹ olupin pẹlu:

# python manage.py runserver 127.0.0.1:8080

Nigbati o ba lọ si aṣawakiri rẹ si http://127.0.0.1:8080 - o yẹ ki o wo wiwo askbot.

Gbogbo ẹ niyẹn! Askbot jẹ orisun ṣiṣi, rọrun, yara ati ibeere asefara gíga ati idahun sọfitiwia apejọ (Q&A). O ṣe atilẹyin ibeere daradara ati idahun iṣakoso imọ. Ti o ba ba awọn aṣiṣe eyikeyi pade nigba fifi sori ẹrọ tabi ni awọn ibeere miiran ti o ni ibatan miiran, lo fọọmu ifesi ni isalẹ lati de ọdọ wa.