Askbot, crea tus foros orientados a preguntas y respuestas

about askbot

En el siguiente artículo vamos a echar un vistazo a Askbot. Este es un software de código abierto que se utiliza para crear foros de Internet orientados a preguntas y respuestas. El sitio comenzó en julio de 2009, e inicialmente era similar a Stack Overflow o Yahoo! Respuestas. Está es desarrollado y mantenido principalmente por Evgeny Fadeev.

Askbot es una plataforma de preguntas y respuestas (Q&A) de código abierto que se basa en Python y Django. Con Askbot cualquier usuario podrá crear su propia plataforma de preguntas y respuestas. En las siguientes líneas veremos cómo se puede instalar Askbot en Ubuntu 20.04 o 18.04.

Gracias a este software cualquier usuario podrá crear un foro de conocimiento de preguntas y respuestas eficiente, en el que las mejores respuestas se mostrarán primero, categorizadas por etiquetas. Además incluye un control de usuarios con sistemas de recompensas, que brindan a los usuarios karma por publicar información buena y relevante.

formulario para enviar preguntas

¿Cómo instalar Askbot en Ubuntu 20.04?

Instalar requisitos previos

Para instalar Askbot, antes de nada debemos instalar en nuestro sistema algunos paquetes necesarios para un correcto funcionamiento. Solo necesitaremos abrir una terminal (Ctrl+Alt+T) y ejecutar los comandos:

requisitos para askbot

sudo apt update; sudo apt install python-dev python-setuptools python3-pip python3-psycopg2 libpq-dev

Instalar PostgreSQL

Ahora que tenemos instalados los paquetes anteriores, vamos a instalar PostgreSQL. Para hacer esto, en una terminal (Ctrl+Alt+T) el comando a ejecutar será el siguiente:

instalar postgresql

sudo apt install postgresql postgresql-client

Después de instalar PostgreSQL, los siguientes comandos se pueden usar para iniciar y verificar su estado:

status postgresql

sudo systemctl start postgresql.service

sudo systemctl status postgresql.service

Crear contraseña de usuario de PostgreSQL

Después de instalar PostgreSQL, es una buena idea crear o cambiar la contraseña de usuario de Postgres predeterminada. Para hacer esto, simplemente necesitamos ejecutar el siguiente comando en el shell bash:

password usuario postgres

sudo passwd postgres

El anterior comando debería solicitarnos que creemos una nueva contraseña para el usuario de postgres. Después de establecer una nueva contraseña, cada vez que queramos acceder al shell interactivo de PostgreSQL, se nos pedirá que introduzcamos la contraseña que acabamos de escribir.

Crear la base de datos PostgreSQL

Ahora que PostgreSQL está instalado, tendremos que utilizar los siguientes comandos para conectarnos a su consola de shell. Esto nos pedirá que escribamos la contraseña que escribimos en el paso anterior:

shell postgresql

su - postgres

psql

En la consola de shell, vamos a escribir lo siguiente para crear una nueva base de datos llamada askbot:

crear base de datos en postgresql

create database askbot;

En este punto, lo siguiente que necesitaremos hacer será crear un usuario de base de datos llamado askbotusuario con una nueva contraseña. Esto lo conseguiremos escribiendo:

crear usuario para askbot

create user askbotusuario with password 'tu-contraseña';

A continuación, tendremos que conceder a askbotusuario acceso completo a la base de datos de askbot. Después solo tendremos que salir del shell:

grant all privileges

grant all privileges on database askbot to askbotusuario;

cerrar sesión

\q

exit

Después de crear la base de datos y el usuario anteriores, vamos a editar el archivo de configuración de PostgreSQL y habilitar la autenticación md5. Esto podremos hacerlo con nuestro editor favorito.

sudo vim /etc/postgresql/12/main/pg_hba.conf

Dentro del archivo, al final del mismo, vamos a editar las líneas resaltadas en la siguiente captura de pantalla para hacer referencia a md5.

edidión configuración md5

Después de editar el archivo anterior, lo guardamos y salimos. Ahora tendremos que reiniciar PostgreSQL con el comando:

sudo systemctl restart postgresql

Instalar Askbot

Para instalar Askbot, necesitaremos crear una cuenta de usuario dedicada. Esto podemos conseguirlo ejecutando los siguientes comandos para crear una nueva cuenta llamada askbot:

sudo useradd -m -s /bin/bash askbot

sudo passwd askbot

Después vamos a asegurarnos de que el usuario pueda ejecutar sudo como root:

sudo usermod -a -G sudo askbot

Cuando terminemos, vamos a ejecutar en la terminal este otro comando para instalar el entorno virtual de Python (virtualenv):

instalar virtualenv askbot

sudo pip install virtualenv six

Al finalizar la instalación, vamos a cambiarnos a la cuenta de askbot:

su - askbot

Continuamos creando un nuevo entorno virtual para askbot:

crear el entorno virtual para askbot

virtualenv askbot

El siguiente paso será cambiarnos al entorno virtual y a activarlo:

activar entorno virtual

cd askbot

source bin/activate

A continuación, instalaremos los módulos Askbot, Six y PostgreSQL:

instalación de módulos

pip install --upgrade pip

pip install six==1.10.0

pip install askbot==0.11.1 psycopg2

Finalizada la instalación vamos a crear un directorio llamado miapp para askbot y a configurarlo:

mkdir miapp

cd miapp

askbot-setup

El comando de configuración solicitará los detalles del entorno, como se puede ver en la siguiente captura de pantalla:

completando configuración askbot-setup

A continuación, completaremos la configuración ejecutando los comandos:

completando la configuración

cd askbot_site/

python manage.py collectstatic

python manage.py migrate

Iniciar la aplicación

Ahora para iniciar el servidor de la aplicación, en la terminal (Ctrl+Alt+T) utilizaremos el comando:

python manage.py runserver --insecure 0.0.0.0:8080

En este punto deberíamos poder acceder a nuestra aplicación a través de la URL:

askbot iniciado en web

http://localhost:8080

También podremos iniciar la sesión en el backend como administrador con la siguiente URL. Aun que tendremos que utilizar las credenciales de administrador:

backend administración

http://localhost:8080/admin

Si no puede iniciar sesión en el backend como administrador, puedes crear una cuenta de superadministrador ejecutando en la terminal (Ctrl+Alt+T) el comando:

crear superusuario

python manage.py createsuperuser

Después de esto ya podemos usar las credenciales recién creadas para entrar en el backend del administrador:

administración askbot

Para las personas y empresas que buscan poder crear un foro de preguntas y respuestas, Askbot puede resultar útil. Para obtener más información sobre este proyecto, los usuarios podemos consultar la página web oficial o en su repositorio en GitHub.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.