Askbot: crea tu propio foro de preguntas y respuestas como Stack Overflow


Askbot es un software de código abierto, simple pero poderoso, rápido y altamente personalizable para crear un foro de preguntas y respuestas (Q&A). Está inspirado en StackOverflow y YahooAnswers, y escrito en Python sobre el marco web Django.

Permite una gestión eficiente del conocimiento de preguntas y respuestas, por lo que organizaciones como los foros de preguntas y respuestas de LibreOffice lo están haciendo bien. Askbot puede funcionar como una aplicación independiente o puede integrarse con sus aplicaciones Django existentes u otras plataformas web.

En este tutorial, aprenderá cómo instalar AskBot en CentOS 7. Para completar el tutorial, necesitará tener una instalación mínima de servidor CentOS 7 con acceso de root.

Paso 1: instalar las dependencias necesarias

Comenzaremos instalando las dependencias requeridas, como herramientas de desarrollo, usando el siguiente comando en una terminal.

# yum group install 'Development Tools'

Después de eso, instalaremos el repositorio de Epel, si aún no se ha instalado en su sistema.

# yum install epel-release

Por último, instalaremos algunas de las dependencias de Python necesarias para ejecutar AskBot más adelante.

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

En caso de que python-pip no esté instalado con el comando anterior, puede instalarlo usando el siguiente comando.

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

Paso 2: instalar la base de datos PostgreSQL

AskBot requiere una base de datos donde almacenará sus datos. Utiliza PostgreSQL, por lo que necesitaremos instalarlo y configurarlo en nuestro sistema.

Puede utilizar el siguiente comando para completar la instalación.

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

Cuando se complete la instalación, inicialice PostgreSQL con.

# postgresql-setup initdb

Si todo va normalmente, debería ver lo siguiente:

Initializing database ... OK

Nuestro siguiente paso es iniciar PostgreSQL y habilitarlo para que se inicie en el arranque:

# systemctl start postgresql
# systemctl enable postgresql

Ahora que nuestro servidor de base de datos está en funcionamiento, iniciaremos sesión como usuario de postgres para crear una base de datos para nuestra instalación de AskBot.

# su - postgres

Luego usa para:

$ psql

Ahora está en el indicador de PostgreSQL, listo para crear nuestra base de datos, el usuario de la base de datos y otorgarle privilegios al usuario en la nueva base de datos. Cree la base de datos utilizando el siguiente comando, siéntase libre de cambiar el nombre de la base de datos según sus preferencias:

postgres=# create database askbot_db;

A continuación, cree el usuario de la base de datos. Reemplace "password_here" con una contraseña segura:

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

Otorgue privilegios de usuario en askbot_db:

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

A continuación, necesitaremos editar la configuración de PostgreSQL para cambiar nuestro método de autenticación a md5. Para hacer esto, use su editor de texto favorito y edite el archivo /var/lib/pgsql/data/pg_hba.conf:

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

Las configuraciones deberían verse así:

A continuación, guarde los cambios y reinicie PostgreSQL:

# systemctl restart postgresql

Paso 3: Instale el foro AskBot

Finalmente podemos proceder con la instalación de AskBot. Comience creando un nuevo usuario en su sistema. Lo llamaremos askbot:

# useradd -m -s /bin/bash askbot

Configurar contraseña para el nuevo usuario:

# passwd askbot

A continuación, necesitaremos agregar el usuario al grupo de ruedas en el sistema:

# usermod -a -G wheel askbot

Ahora usaremos pip para instalar el paquete virtualenv:

# pip install virtualenv six

Ahora iniciaremos sesión como usuario de askbot y crearemos un nuevo entorno virtual:

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

El siguiente paso es activar el entorno virtual con el siguiente comando:

# source tecmint/bin/activate

Ahora estamos listos para instalar AskBot a través de pip.

# pip install six askbot psycopg2

La instalación puede tardar unos minutos. Una vez que esté completo, podemos probar nuestra instalación en un directorio temporal. Asegúrese de NO nombrar ese directorio askbot.

# mkdir forum_test && cd forum_test

A continuación, inicializaremos un nuevo proyecto AskBot con:

# askbot-setup

Se le harán algunas preguntas donde tendrá que seleccionar el directorio de instalación - use “.” (sin comillas) para elegir el directorio actual. A continuación, deberá ingresar el nombre de la base de datos preparada anteriormente, el usuario de la base de datos y su contraseña.

A continuación, generaremos los archivos estáticos para Django con:

# python manage.py collectstatic

A continuación generamos la base de datos:

# python manage.py syncdb

Y finalmente inicie el servidor con:

# python manage.py runserver 127.0.0.1:8080

Cuando vaya a su navegador a http://127.0.0.1:8080 , debería ver la interfaz de askbot.

¡Eso es todo! Askbot es un software de foro de preguntas y respuestas (Q&A) de código abierto, simple, rápido y altamente personalizable. Apoya la gestión eficiente del conocimiento de preguntas y respuestas. Si encontró algún error durante la instalación o tiene alguna otra consulta relacionada, use el formulario de comentarios a continuación para comunicarse con nosotros.