Askbot - Mepụta nzukọ Q&A nke gị dị ka oke oke mmiri


Askbot bụ isi mmalite mepere emepe, dị mfe ma dị ike, ngwa ngwa na ngwa ngwa nwere ike ịhazi ya maka ịmepụta ajụjụ na azịza (Q&A). Ọ bụ StackOverflow na YahooAnswers sitere n'ike mmụọ nsọ, ma dee ya na Python n'elu usoro weebụ Django.

Ọ na-enye ohere maka ajụjụ nke ọma na azịza njikwa ihe ọmụma, yabụ otu dị ka LibreOffice's Q&A Forum na-eji ya eme ihe nke ọma. Askbot nwere ike ịrụ ọrụ dị ka ngwa kwụ ọtọ ma ọ bụ nwee ike jikọta ya na ngwa Django gị dị ugbu a ma ọ bụ nyiwe weebụ ndị ọzọ.

N'ime nkuzi a, ị ga-amụta ka esi etinye AskBot na CentOS 7. Iji mezue nkuzi ahụ, ị ga-achọ ịnweta ihe nkesa CentOS 7 ntakịrị ntinye na mgbọrọgwụ mgbọrọgwụ.

Kwụpụ 1: Wụnye ndabere achọrọ

Anyị ga-amalite site na ịwụnye ihe ndabere achọrọ dị ka ngwa mmepe site na iji iwu na-esonụ na ọdụ.

# yum group install 'Development Tools'

Mgbe nke ahụ gasịrị, anyị ga-etinye ebe nchekwa Epel, ma ọ bụrụ na etinyebeghị ya na sistemụ gị.

# yum install epel-release

N'ikpeazụ, anyị ga-etinye ụfọdụ ndabere Python chọrọ ka emechaa mee AskBot.

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

Ọ bụrụ na ejighị iwu ahụ dị n'elu arụnye python-pip, ị nwere ike tinye ya site na iji iwu a.

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

Kwụpụ 2: Wụnye ọdụ data PostgreSQL

AskBot chọrọ nchekwa data ebe ọ ga-echekwa data ya. Ọ na-eji PostgreSQL, yabụ anyị ga-achọ ịwụnye ya ma hazie ya na sistemụ anyị.

Ị nwere ike iji iwu na-esonụ iji mezue nrụnye.

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

Mgbe echichi zuru, jiri ya bido PostgreSQL.

# postgresql-setup initdb

Ọ bụrụ na ihe niile na-aga nke ọma, ị ga-ahụ ihe ndị a:

Initializing database ... OK

Nzọụkwụ anyị na-esote bụ ịmalite PostgreSQL ma mee ka ọ malite na buut:

# systemctl start postgresql
# systemctl enable postgresql

Ugbu a ihe nkesa nchekwa data anyị dị na-arụ ọrụ, anyị ga-abanye dị ka onye ọrụ postgres iji mepụta nchekwa data maka nrụnye AskBot anyị.

# su - postgres

wee jiri:

$ psql

Ugbu a ị bụ ngwa ngwa PostgreSQL, dị njikere ịmepụta nchekwa data anyị, onye ọrụ nchekwa data ma nye onye ọrụ ohere na nchekwa data ọhụrụ. Mepụta nchekwa data site na iji iwu dị n'okpuru, nweere onwe gị ịgbanwe aha nchekwa data maka mmasị gị:

postgres=# create database askbot_db;

Ọzọ mepụta onye ọrụ nchekwa data. Jiri okwuntughe siri ike dochie \password_here:

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

Nye onye ọrụ ohere na askbot_db:

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

Ọzọ anyị ga-achọ idezi nhazi PostgreSQL iji gbanwee usoro nyocha anyị ka ọ bụrụ md5. Iji mee nke a, jiri editọ ederede ọkacha mmasị gị wee dezie /var/lib/pgsql/data/pg_hba.conf faịlụ:

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

Nhazi kwesịrị ịdị ka nke a:

Ọzọ chekwaa mgbanwe ndị ahụ wee malitegharịa PostgreSQL:

# systemctl restart postgresql

Nzọụkwụ 3: Wụnye AskBot Forum

N'ikpeazụ, anyị nwere ike ịga n'ihu na ntinye nke AskBot. Malite site na ịmepụta onye ọrụ ọhụrụ na sistemụ gị. Anyị ga-akpọ ya askbot:

# useradd -m -s /bin/bash askbot

Hazie paswọọdụ maka onye ọrụ ọhụrụ:

# passwd askbot

Ọzọ anyị ga-achọ ịgbakwunye onye ọrụ na otu wheel na sistemụ:

# usermod -a -G wheel askbot

Ugbu a, anyị ga-eji pip iji wụnye ngwugwu virtualenv:

# pip install virtualenv six

Ugbu a, anyị ga-abanye dị ka onye ọrụ askbot wee mepụta gburugburu mebere ọhụrụ:

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

Nzọụkwụ ọzọ bụ iji iwu na-esonụ rụọ ọrụ mebere gburugburu:

# source tecmint/bin/activate

Ugbu a, anyị dị njikere ịwụnye AskBot site na pip.

# pip install six askbot psycopg2

Nwụnye nwere ike were nkeji ole na ole. Ozugbo ọ mechara, anyị nwere ike ịnwale nrụnye anyị na akwụkwọ ndekọ nwa oge. Gbaa mbọ hụ na ịghara ịkpọ aha akwụkwọ ndekọ aha ahụ askbot.

# mkdir forum_test && cd forum_test

Ọzọ anyị ga-eji malite ọrụ AskBot ọhụrụ:

# askbot-setup

A ga-ajụ gị ajụjụ ole na ole ebe ị ga-ahọrọ ndekọ nwụnye - jiri \ mee ihe. , onye ọrụ nchekwa data na paswọọdụ ya.

Ọzọ, anyị ga-ewepụta faịlụ static maka Django na:

# python manage.py collectstatic

Ọzọ anyị na-emepụta nchekwa data:

# python manage.py syncdb

Ma n'ikpeazụ malite ihe nkesa na:

# python manage.py runserver 127.0.0.1:8080

Mgbe ịga na ihe nchọgharị gị na http://127.0.0.1:8080 - ị ga-ahụ interface askbot.

Ọ gwụla! Askbot bụ ngwa mepere emepe, dị mfe, ngwa ngwa na ngwa ngwa nwere ike ịhazi ajụjụ na azịza (Q&A). Ọ na-akwado njikwa ajụjụ na azịza nke ọma. Ọ bụrụ na ị zutere njehie ọ bụla n'oge nrụnye ma ọ bụ nwee ajụjụ ọ bụla metụtara ya, jiri ụdị nzaghachi dị n'okpuru ebe a iji nweta anyị.