Askbot, créez vos forums orientés questions/réponses

à propos de askbot

Dans le prochain article, nous allons jeter un œil à Askbot. Ceci est un logiciel open source utilisé pour créer des forums Internet orientés questions-réponses. Le site a démarré en juillet 2009 et était initialement similaire à Stack Overflow ou Yahoo! Réponses. Il est principalement développé et maintenu par Evgueni Fadeev.

Askbot est une plate-forme open source de questions et réponses (Q&A) basée sur Python et Django. Avec Askbot, tout utilisateur peut créer sa propre plateforme de questions et réponses. Dans les lignes suivantes, nous verrons comment Askbot peut être installé sur Ubuntu 20.04 ou 18.04.

Grâce à ce logiciel, tout utilisateur peut créer un forum de connaissances de questions-réponses efficace, dans lequel les meilleures réponses seront affichées en premier, classées par balises. Il comprend également un contrôle utilisateur avec des systèmes de récompense, qui donnent aux utilisateurs un karma pour la publication d'informations bonnes et pertinentes.

formulaire pour envoyer des questions

Comment installer Askbot sur Ubuntu 20.04 ?

Installer les prérequis

Pour installer Askbot, nous devons tout d'abord installer dans notre système quelques packages nécessaires pour un fonctionnement correct. Nous n'aurons qu'à ouvrir un terminal (Ctrl + Alt + T) et exécuter les commandes :

exigences pour askbot

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

Installer PostgreSQL

Maintenant que les packages précédents sont installés, passons installer PostgreSQL. Pour ce faire, dans un terminal (Ctrl + Alt + T) la commande à exécuter sera la suivante :

installer postgresql

sudo apt install postgresql postgresql-client

Après avoir installé PostgreSQL, les commandes suivantes peuvent être utilisées pour démarrer et vérifier votre statut:

statut postgresql

sudo systemctl start postgresql.service

sudo systemctl status postgresql.service

Créer un mot de passe utilisateur PostgreSQL

Après avoir installé PostgreSQL, c'est une bonne idée créer ou modifier le mot de passe utilisateur par défaut de Postgres. Pour ce faire, nous devons simplement exécuter la commande suivante dans le shell bash :

mot de passe utilisateur postgres

sudo passwd postgres

La commande ci-dessus devrait nous demander de créer un nouveau mot de passe pour l'utilisateur postgres. Après avoir défini un nouveau mot de passe, chaque fois que nous voulons accéder au shell interactif PostgreSQL, il nous sera demandé de saisir le mot de passe que nous venons de saisir.

Créer la base de données PostgreSQL

Maintenant que PostgreSQL est installé, nous devrons utiliser les commandes suivantes pour connectez-nous à votre console shell. Cela nous demandera d'écrire le mot de passe que nous avons écrit à l'étape précédente :

shell postgresql

su - postgres

psql

Dans la console shell, nous allons taper ce qui suit pour créer une nouvelle base de données appelée demander au robot:

créer une base de données dans postgresql

create database askbot;

À ce stade, la prochaine chose que nous devrons faire est créer un utilisateur de base de données nommé askbotuser avec un nouveau mot de passe. Nous y parviendrons en écrivant:

créer un utilisateur pour askbot

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

Ensuite, nous devrons Accorder à askbotuser accès complet à la base de données de demander au robot. Ensuite, nous n'avons plus qu'à quitter le shell :

accorder tous les privilèges

grant all privileges on database askbot to askbotusuario;

fermer la session

\q

exit

Après avoir créé la base de données et l'utilisateur ci-dessus, allons modifier le fichier de configuration PostgreSQL et activer l'authentification md5. Nous pouvons le faire avec notre éditeur préféré.

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

À l'intérieur du fichier, à la fin de celui-ci, nous allons éditer les lignes mises en évidence dans la capture d'écran suivante écran pour se référer à md5.

édition de configuration md5

Après avoir modifié le fichier ci-dessus, nous l'enregistrons et sortons. Maintenant, nous devrons redémarrer PostgreSQL avec la commande:

sudo systemctl restart postgresql

Installer Askbot

Pour installer Askbot, nous devrons créer un compte utilisateur dédié. Nous pouvons y parvenir en exécutant les commandes suivantes pour créer un nouveau compte appelé demander au robot:

sudo useradd -m -s /bin/bash askbot

sudo passwd askbot

Alors nous allons assurez-vous que l'utilisateur peut exécuter sudo en tant que root:

sudo usermod -a -G sudo askbot

Lorsque nous aurons terminé, nous allons exécuter cette autre commande dans le terminal pour installer l'environnement virtuel Python (virtualenv):

installer virtualenv askbot

sudo pip install virtualenv six

A la fin de l'installation, nous passer au compte de demander au robot:

su - askbot

Nous continuons créer un nouvel environnement virtuel pour demander au robot:

créer l'environnement virtuel pour askbot

virtualenv askbot

La prochaine étape sera passer à l'environnement virtuel et l'activer:

activer l'environnement virtuel

cd askbot

source bin/activate

Puis nous allons installer les modules Askbot, Six et PostgreSQL:

montage de modules

pip install --upgrade pip

pip install six==1.10.0

pip install askbot==0.11.1 psycopg2

Après l'installation, nous allons créer un répertoire appelé miapp pour askbot et le configurer:

mkdir miapp

cd miapp

askbot-setup

La commande de configuration demandera les détails de l'environnement, comme vous pouvez le voir sur la capture d'écran suivante :

terminer la configuration askbot-setup

Puis nous allons terminer la configuration fonctionnement les commandes :

terminer la configuration

cd askbot_site/

python manage.py collectstatic

python manage.py migrate

Lancez l'appli

Maintenant pour démarrer le serveur d'applications, dans le terminal (Ctrl + Alt + T) nous utiliserons la commande :

python manage.py runserver --insecure 0.0.0.0:8080

À ce stade, nous devrions pouvoir accéder à notre application via l'url:

askbot a commencé sur le web

http://localhost:8080

Nous pouvons aussi connectez-vous au backend en tant qu'administrateur avec l'url suivante. Bien que nous devions utiliser les informations d'identification de l'administrateur :

administration principale

http://localhost:8080/admin

Si vous ne pouvez pas vous connecter au backend en tant qu'administrateur, vous pouvez créer un compte super administrateur en exécutant la commande dans le terminal (Ctrl + Alt + T):

créer un superutilisateur

python manage.py createsuperuser

Après cela, nous pouvons utilisez les informations d'identification nouvellement créées pour entrer dans le backend d'administration:

administration askbot

Pour les particuliers et les entreprises qui souhaitent créer un forum de questions-réponses, Askbot peut être utile. Pour plus d'informations sur ce projet, les utilisateurs peuvent consulter le site officiel ou en référentiel sur GitHub.