Askbot: creeu el vostre propi fòrum de preguntes i respostes com Stack Overflow


Askbot és un programari de codi obert, senzill però potent, ràpid i altament personalitzable per crear un fòrum de preguntes i respostes (Q&A). Està inspirat en StackOverflow i YahooAnswers i escrit en Python a la part superior del marc web Django.

Permet una gestió eficient del coneixement de preguntes i respostes, de manera que organitzacions com ara els fòrums de preguntes i respostes de LibreOffice en fan un bon ús. Askbot pot funcionar com una aplicació autònoma o es pot integrar amb les vostres aplicacions de Django existents o altres plataformes web.

En aquest tutorial aprendràs a instal·lar AskBot a CentOS 7. Per completar el tutorial, hauràs de tenir una instal·lació mínima del servidor CentOS 7 amb accés root.

Pas 1: instal·leu les dependències necessàries

Començarem instal·lant les dependències necessàries, com ara les eines de desenvolupament, utilitzant la següent comanda en un terminal.

# yum group install 'Development Tools'

Després d'això, instal·larem el repositori Epel, si encara no s'ha instal·lat al vostre sistema.

# yum install epel-release

Finalment, instal·larem algunes de les dependències de Python necessàries per executar més tard AskBot.

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

En cas que python-pip no estigui instal·lat amb l'ordre anterior, podeu instal·lar-lo mitjançant l'ordre següent.

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

Pas 2: instal·leu la base de dades PostgreSQL

AskBot requereix una base de dades on emmagatzemarà les seves dades. Utilitza PostgreSQL, per tant haurem d'instal·lar-lo i configurar-lo al nostre sistema.

Podeu utilitzar l'ordre següent per completar la instal·lació.

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

Quan s'hagi completat la instal·lació, inicialitzeu PostgreSQL amb.

# postgresql-setup initdb

Si tot va amb normalitat, hauríeu de veure el següent:

Initializing database ... OK

El nostre següent pas és iniciar PostgreSQL i habilitar-lo per iniciar-lo a l'arrencada:

# systemctl start postgresql
# systemctl enable postgresql

Ara que el nostre servidor de bases de dades està en funcionament, iniciarem la sessió com a usuari de postgres per crear una base de dades per a la nostra instal·lació d'AskBot.

# su - postgres

A continuació, utilitzeu per:

$ psql

Ara sou l'indicador de PostgreSQL, preparat per crear la nostra base de dades, l'usuari de la base de dades i concedir els privilegis d'usuari a la nova base de dades. Creeu la base de dades mitjançant l'ordre següent, no dubteu a canviar el nom de la base de dades segons les vostres preferències:

postgres=# create database askbot_db;

A continuació, creeu l'usuari de la base de dades. Substituïu \password_here per una contrasenya segura:

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

Concediu als privilegis d'usuari a askbot_db:

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

A continuació, haurem d'editar la configuració de PostgreSQL per canviar el nostre mètode d'autenticació a md5. Per fer-ho, utilitzeu el vostre editor de text preferit i editeu el fitxer /var/lib/pgsql/data/pg_hba.conf:

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

Les configuracions haurien de ser així:

A continuació, deseu els canvis i reinicieu PostgreSQL:

# systemctl restart postgresql

Pas 3: instal·leu AskBot Forum

Finalment podem procedir amb la instal·lació d'AskBot. Comenceu creant un nou usuari al vostre sistema. L'anomenarem askbot:

# useradd -m -s /bin/bash askbot

Configura la contrasenya per al nou usuari:

# passwd askbot

A continuació, haurem d'afegir l'usuari al grup de rodes del sistema:

# usermod -a -G wheel askbot

Ara utilitzarem pip per instal·lar el paquet virtualenv:

# pip install virtualenv six

Ara registrarem com a usuari askbot i crearem un nou entorn virtual:

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

El següent pas és activar l'entorn virtual amb l'ordre següent:

# source tecmint/bin/activate

Ara estem preparats per instal·lar AskBot mitjançant pip.

# pip install six askbot psycopg2

La instal·lació pot trigar un parell de minuts. Un cop finalitzada, podem provar la nostra instal·lació en un directori temporal. Assegureu-vos de NO nomenar aquest directori askbot.

# mkdir forum_test && cd forum_test

A continuació, inicialitzarem un nou projecte AskBot amb:

# askbot-setup

Se us faran algunes preguntes on haureu de seleccionar el directori d'instal·lació: feu servir \.” (sense cometes) per triar el directori actual. A continuació, haureu d'introduir el nom de la base de dades preparada anteriorment , usuari de la base de dades i la seva contrasenya.

A continuació, generarem els fitxers estàtics per a Django amb:

# python manage.py collectstatic

A continuació generem la base de dades:

# python manage.py syncdb

I finalment inicieu el servidor amb:

# python manage.py runserver 127.0.0.1:8080

Quan aneu al vostre navegador a http://127.0.0.1:8080, hauríeu de veure la interfície d'askbot.

Això és tot! Askbot és un programari de fòrum de preguntes i respostes (Q&A) de codi obert, senzill, ràpid i altament personalitzable. Admet una gestió eficient del coneixement de preguntes i respostes. Si heu trobat cap error durant la instal·lació o teniu qualsevol altra consulta relacionada, utilitzeu el formulari de comentaris que trobareu a continuació per posar-vos en contacte amb nosaltres.