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.