Búsqueda de sitios web

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


Askbot es un software de código abierto, simple pero potente, 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 Fedora y los foros de preguntas y respuestas de LibreOffice están haciendo un buen uso de él. 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 del 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 Epel, si aún no está 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: Instale 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ías ver lo siguiente:

Initializing database ... OK

Nuestro siguiente paso es iniciar PostgreSQL y habilitarlo para que se inicie al arrancar:

systemctl start postgresql
systemctl enable postgresql

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

su - postgres

Luego use para:

psql

Ahora está en el mensaje PostgreSQL, listo para crear nuestra base de datos, el usuario de la base de datos y otorgarle privilegios de usuario en la nueva base de datos. Cree la base de datos usando el siguiente comando, no dude en cambiar el nombre de la base de datos según sus preferencias:

postgres=# create database askbot_db;

Luego cree el usuario de la base de datos. Reemplace “contraseña_aquí” 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í:

Luego 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 del sistema:

usermod -a -G wheel askbot

Ahora usaremos pip para instalar el paquete virtualenv:

pip install virtualenv six

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

su - askbot
virtualenv tecmint/
Salida de muestra
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 mediante pip.

pip install six askbot psycopg2

La instalación puede tardar un par de 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 en las que 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 inicia 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 de código abierto, sencillo, 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, utilice el formulario de comentarios a continuación para comunicarse con nosotros.