GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer Askbot sur Ubuntu 16.04

Askbot est un logiciel open source permettant de créer un forum de questions-réponses basé sur Python Django Framework. Il est similaire à d'autres systèmes de questions-réponses tels que StackOverflow et Yahoo Answers. L'outil a été utilisé par de grands projets de logiciels open source comme Fedora et LibreOffice. Askbot a été créé par Mike Chan et Sailing Cai en 2009, et il est facile à installer et à configurer sur des systèmes Linux comme Ubuntu et CentOS.

Dans ce didacticiel, nous allons vous montrer comment installer l'application Askbot Django en utilisant uWSGI et le serveur Web Nginx, et nous utiliserons Ubuntu 16.04 Xenial Xerus comme système d'exploitation principal.

Ce que nous allons faire :

  1. Installer les dépendances
  2. Installer et configurer la base de données PostgreSQL
  3. Installer et configurer Askbot
  4. Installer et configurer uWSGI
  5. Installer et configurer Nginx
  6. Test

Prérequis

  • Ubuntu 16.04
  • Privilèges root

Étape 1 - Installer les dépendances

La première étape que nous devons faire est d'installer les packages nécessaires à l'installation d'Askbot. Alors commençons. Connectez-vous à votre serveur Ubuntu en utilisant SSH.

ssh [email protected]

Ensuite, installez des packages tels que python-dev, pip, etc. avec la commande apt suivante.

apt install -y build-essential python-pip python-dev python-flup libpng12-dev zlib1g-dev libpng-dev libjpeg-dev python-setuptools

Tous les packages requis ont été installés.

Étape 2 - Installer et configurer la base de données PostgreSQL

Askbot prend en charge de nombreux systèmes de bases de données tels que MySQL, SQLite et PostreSQL. Dans ce didacticiel, nous utiliserons PostgreSQL comme système de base de données.

Nous allons installer PostgreSQL, configurer l'authentification pour l'utilisateur local, puis créer une nouvelle base de données et un nouvel utilisateur pour l'installation d'Askbot.

Installez la base de données PostgreSQL à l'aide de la commande apt suivante.

apt install -y postgresql postgresql-contrib

Modifiez maintenant le pg_hba.conf fichier avec vim pour configurer l'authentification de l'utilisateur local.

vim /etc/postgresql/9.5/main/pg_hba.conf

Modifiez toutes les authentifications d'utilisateurs locaux à l'aide de md5 comme ci-dessous.

local   all             all                                     md5

Sauvegarder et quitter. Maintenant, redémarrez les services PostgreSQL et activez-le pour qu'il démarre automatiquement au démarrage du système.

systemctl restart postgresql
systemctl enable postgresql

Ensuite, nous devons créer une nouvelle base de données et un nouvel utilisateur pour l'installation d'Askbot. Pour notre cas, nous allons créer une nouvelle base de données 'askbotdb ' avec le nom d'utilisateur 'hakaselabs ' et le mot de passe 'hakase123 '.

Connectez-vous en tant que postgres user et accéder au shell PostgreSQL 'psql'.

su - postgres
psql

Changer le postgres mot de passe utilisateur avec votre propre mot de passe.

\password postgres

Et créez une nouvelle base de données 'askbotdb ' et un nouvel utilisateur 'hakaselabs ' avec le mot de passe 'hakase123 ' en utilisant les requêtes suivantes.

create database askbotdb;
create user hakaselabs with password 'hakase123';
grant all privileges on database askbotdb to hakaselabs;
\q

Une nouvelle base de données PostgreSQL pour l'installation d'Askbot a été créée.

Étape 3 - Installer et configurer l'application Askbot Django

Tous les packages nécessaires à l'installation d'Askbot ont été installés et la base de données PostgreSQL a été créée. Maintenant, la prochaine étape consiste à installer et configurer Askbot.

Nous devons créer un nouvel utilisateur pour l'installation d'Askbot, car nous n'utiliserons pas l'utilisateur root pour cela. Créez un nouvel utilisateur nommé 'askbot ' et attribuez un nouveau mot de passe à cet utilisateur.

useradd -m -s /bin/bash askbot
passwd askbot

Ensuite, ajoutez le askbot user au groupe sudo à l'aide de la commande usermod suivante.

usermod -a -G sudo askbot

Un nouvel utilisateur a été créé. Nous devons maintenant mettre à jour python-pip et installer le package virtualenv. Installez ces packages à l'aide des commandes pip suivantes.

pip install --upgrade pip
pip install virtualenv

Maintenant, connectez-vous en tant qu'utilisateur 'askbot' avec la commande su, puis installez Askbot.

su - askbot

Et nous voulons créer un nouvel environnement virtuel pour notre installation askbot. Créez un nouvel environnement virtuel avec la commande virtualenv.

virtualenv hakase-labs

Aller aux hakase-labs répertoire et activez le virtualenv.

cd hakase-labs/
source bin/activate

Installez l'application Askbot Django avec pip, y compris psycopg2 pour la connexion à la base de données PostgreSQL.

pip install askbot psycopg2

Une fois l'installation terminée, vous verrez le résultat comme indiqué ci-dessous.

Ensuite, créez un nouveau répertoire pour l'application Askbot Django - nous utiliserons le nom 'myapp'. Créez le répertoire et installez-y Askbot.

mkdir myapp/
cd myapp

Installez Askbot avec la commande ci-dessous.

askbot-setup

Lorsque vous êtes interrogé sur le répertoire d'installation d'Askbot, donnez simplement le seul '. ' et appuyez sur 'Entrée'. De même, pour la configuration de la base de données, choisissez PostgreSQL en choisissant le numéro '1 '. Entrez le nom de la base de données 'askbotdb ', nom d'utilisateur 'hakaselabs ' avec le mot de passe 'hakase123 '.

Maintenant, générez un répertoire de fichiers statiques avec la commande suivante.

python manage.py collectstatic

Tapez "oui" et appuyez sur Entrée pour continuer.

Générez la base de données PostgreSQL avec l'option syncdb.

python manage.py syncdb

Et il vous sera demandé de créer l'utilisateur administrateur - tapez "oui", puis tapez votre utilisateur administrateur, votre adresse e-mail et votre mot de passe.

Askbot est maintenant installé sur le système sous l'environnement virtuel de l'utilisateur « askbot ». Vous pouvez tester l'installation d'Askbot en exécutant la commande runserver ci-dessous.

python manage.py runserver 0.0.0.0:8080

Ouvrez votre navigateur Web et tapez l'adresse IP du serveur avec le port 8080, et vous verrez la page "Askbot", comme indiqué ci-dessous.

Étape 4 - Installer et configurer uWSGI

uWSGI prend en charge les applications basées sur Python, Perl et Ruby. Dans ce didacticiel, nous utiliserons uWSGI avec le serveur Web Nginx pour notre installation Askbot. Installez uWSGI avec la commande pip suivante.

sudo pip install uwsgi

Créez maintenant un nouveau répertoire pour la configuration du site uWSGI '/etc/uwsgi/sites'.

mkdir -p /etc/uwsgi/sites
/etc/uwsgi/sites

Ajoutez le nouveau fichier de configuration uWSGI "askbot.ini" au répertoire "sites" et modifiez-le avec vim.

vim askbot.ini

Là, collez la configuration uWSGI suivante.

[uwsgi]

# Project directory, Python directory
chdir = /home/askbot/hakase-labs/myapp
home = /home/askbot/hakase-labs/
static-map = /m=/home/askbot/hakase-labs/myapp/static
wsgi-file = /home/askbot/hakase-labs/myapp/django.wsgi

master = true
processes = 5

# Askbot will running under the sock file
socket = /home/askbot/hakase-labs/myapp/askbot.sock
chmod-socket = 664
uid = askbot
gid = www-data
vacuum = true

# uWSGI Log file
logto = /var/log/uwsgi.log

C'est ça. Enregistrez et quittez.

Ensuite, nous devons créer un nouveau fichier de service pour uWSGI. Accédez au répertoire '/etc/systemd/system/' et créez un nouveau fichier uwsgi.service à l'aide de vim.

cd /etc/systemd/system/
vim uwsgi.service

Collez-y la configuration de service uWSGI suivante.

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown askbot:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Sauvegarder et quitter. Ensuite, rechargez les services systemd.

systemctl daemon-reload

Maintenant, démarrez le service uWSGI et activez-le pour qu'il se lance automatiquement au démarrage du système.

systemctl start uwsgi
systemctl enable uwsgi

uWSGI a été installé et configuré pour notre application Askbot, et il fonctionne en tant que service système.

Étape 5 - Installer et configurer Nginx

Askbot est maintenant installé et s'exécute sous le fichier chaussette uWSGI "askbot.sock". Dans cette étape, nous utiliserons le serveur Web Nginx comme proxy inverse pour l'application uWSGI Askbot.

Installez Nginx à partir du référentiel à l'aide de la commande apt suivante.

apt install nginx

Une fois l'installation terminée, accédez au répertoire de configuration nginx "/etc/nginx/" et ajoutez le nouveau fichier d'hôte virtuel nginx "askbot".

cd /etc/nginx
vim sites-available/askbot

Collez la configuration d'hôte virtuel askbot nginx suivante.

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/home/askbot/hakase-labs/myapp/askbot.sock;
   }
}

Enregistrez et quittez.

Activez maintenant le fichier d'hôte virtuel Askbot en créant un lien symbolique pour le fichier 'askbot' vers le répertoire 'sites-enabled' et testez la configuration nginx.

ln -s /etc/nginx/sites-available/askbot /etc/nginx/sites-enabled/
nginx -t

L'hôte virtuel Askbot est activé. Redémarrez maintenant les services nginx et activez-les pour qu'ils démarrent automatiquement au démarrage du système.

systemctl restart nginx
systemctl enable nginx

La configuration de Nginx est terminée et s'exécute sur le port 80. Vérifiez-le avec la commande netstat, comme indiqué ci-dessous.

netstat -plntu

Vérifiez maintenant askbot en vérifiant le fichier chaussette uWSGI à l'aide de la commande netstat suivante.

netstat -pl | grep askbot

Le serveur Web Nginx a été installé et configuré pour l'application Askbot Python Django.

Étape 6 - Tester

Ouvrez votre navigateur Web et visitez le nom de domaine Askbot :askbot.me, et vous devriez obtenir la page d'accueil comme indiqué ci-dessous.

Connexion utilisateur Askbot.

Tableau de bord utilisateur Askbot.

Paramètres Askbot.

Connexion administrateur Askbot Django.

Tableau de bord d'administration Askbot Django.

L'application système Q&A "Askbot" a été installée avec le serveur Web uWSGI et Nginx sur le serveur Ubuntu 16.04.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Samba sur Ubuntu 18.04

  4. Comment installer et configurer Redis sur Ubuntu 20.04

  5. Comment installer et configurer Mariadb 10 dans Ubuntu 20.04

Comment installer et configurer Neo4j sur Ubuntu 20.04

Comment installer et configurer le SDK Ubuntu dans Ubuntu 16.04 et 14.04

Comment installer et configurer PostgreSQL sur Ubuntu

Comment installer et configurer Hadoop sur Ubuntu 20.04

Comment installer et configurer Jenkins sur Ubuntu

Comment installer et configurer Jenkins dans Ubuntu 20.04