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.

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 :

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 :

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:

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 :

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 :

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:

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:

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 :

grant all privileges on database askbot to askbotusuario;

\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.

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):

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:

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

cd askbot source bin/activate
Puis nous allons installer les modules Askbot, Six et PostgreSQL:

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 :

Puis nous allons terminer la configuration fonctionnement les commandes :

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:

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 :

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):

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

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.