GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und konfigurieren Sie Askbot unter Ubuntu 16.04

Askbot ist eine Open-Source-Software zum Erstellen von Q&A-Foren basierend auf Python Django Framework. Es ähnelt anderen Q&A-Systemen wie StackOverflow und Yahoo Answers. Das Tool wurde von großen Open-Source-Softwareprojekten wie Fedora und LibreOffice verwendet. Askbot wurde 2009 von Mike Chan und Sailing Cai entwickelt und ist auf Linux-Systemen wie Ubuntu und CentOS einfach zu installieren und zu konfigurieren.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie die Askbot Django App mit uWSGI und Nginx-Webserver installieren, und wir werden Ubuntu 16.04 Xenial Xerus als unser Hauptbetriebssystem verwenden.

Was wir tun werden:

  1. Installieren Sie Abhängigkeiten
  2. Installieren und konfigurieren Sie die PostgreSQL-Datenbank
  3. Installieren und konfigurieren Sie Askbot
  4. uWSGI installieren und konfigurieren
  5. Installieren und konfigurieren Sie Nginx
  6. Testen

Voraussetzungen

  • Ubuntu 16.04
  • Root-Rechte

Schritt 1 - Abhängigkeiten installieren

Der erste Schritt, den wir tun müssen, ist die Installation von Paketen, die für die Askbot-Installation benötigt werden. So lass uns anfangen. Stellen Sie über SSH eine Verbindung zu Ihrem Ubuntu-Server her.

ssh [email protected]

Installieren Sie als Nächstes Pakete wie python-dev, pip usw. mit dem folgenden apt-Befehl.

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

Alle erforderlichen Pakete wurden installiert.

Schritt 2 – Installation und Konfiguration der PostgreSQL-Datenbank

Askbot bietet Unterstützung für viele Datenbanksysteme wie MySQL, SQLite und PostreSQL. In diesem Tutorial verwenden wir PostgreSQL als unser Datenbanksystem.

Wir werden PostgreSQL installieren, die Authentifizierung für den lokalen Benutzer konfigurieren und dann eine neue Datenbank und einen neuen Benutzer für die Askbot-Installation erstellen.

Installieren Sie die PostgreSQL-Datenbank mit dem folgenden apt-Befehl.

apt install -y postgresql postgresql-contrib

Bearbeiten Sie nun die pg_hba.conf Datei mit vim, um die lokale Benutzerauthentifizierung zu konfigurieren.

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

Ändern Sie die gesamte lokale Benutzerauthentifizierung mit md5 wie unten beschrieben.

local   all             all                                     md5

Speichern und schließen. Starten Sie nun die PostgreSQL-Dienste neu und aktivieren Sie sie so, dass sie beim Systemstart automatisch gestartet werden.

systemctl restart postgresql
systemctl enable postgresql

Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für die Askbot-Installation erstellen. Für unseren Fall erstellen wir eine neue Datenbank 'askbotdb ' mit dem Benutzernamen 'hakaselabs ' und das Passwort 'hakase123 '.

Melden Sie sich als postgres an Benutzer und greifen Sie auf die PostgreSQL-Shell 'psql' zu.

su - postgres
psql

Ändere das postgres Benutzerpasswort mit Ihrem eigenen Passwort.

\password postgres

Und erstellen Sie eine neue Datenbank 'askbotdb ' und einen neuen Benutzer 'hakaselabs ' mit dem Passwort 'hakase123 ' mit den folgenden Abfragen.

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

Eine neue PostgreSQL-Datenbank für die Askbot-Installation wurde erstellt.

Schritt 3 – Installiere und konfiguriere die Askbot Django App

Alle für die Installation von Askbot benötigten Pakete wurden installiert und die PostgreSQL-Datenbank wurde erstellt. Der nächste Schritt besteht nun darin, Askbot zu installieren und zu konfigurieren.

Wir müssen einen neuen Benutzer für die Askbot-Installation erstellen, da wir dafür keinen Root-Benutzer verwenden werden. Erstellen Sie einen neuen Benutzer mit dem Namen "askbot". ' und geben Sie diesem Benutzer ein neues Passwort.

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

Fügen Sie als Nächstes den Askbot hinzu user zur sudo-Gruppe mit dem folgenden usermod-Befehl.

usermod -a -G sudo askbot

Ein neuer Benutzer wurde erstellt. Jetzt müssen wir python-pip aktualisieren und das virtualenv-Paket installieren. Installieren Sie diese Pakete mit den folgenden Pip-Befehlen.

pip install --upgrade pip
pip install virtualenv

Melden Sie sich jetzt mit dem Befehl su als Benutzer „askbot“ an und installieren Sie dann Askbot.

su - askbot

Und wir wollen eine neue virtuelle Umgebung für unsere askbot-Installation schaffen. Erstellen Sie eine neue virtuelle Umgebung mit dem Befehl virtualenv.

virtualenv hakase-labs

Gehen Sie zu den hakase-labs Verzeichnis und aktivieren Sie die virtuelle Umgebung.

cd hakase-labs/
source bin/activate

Installieren Sie die Askbot Django-App mit pip, einschließlich psycopg2 für die PostgreSQL-Datenbankverbindung.

pip install askbot psycopg2

Nachdem die Installation abgeschlossen ist, sehen Sie das Ergebnis wie unten gezeigt.

Erstellen Sie als Nächstes ein neues Verzeichnis für die Askbot Django-App – wir verwenden den Namen „myapp“. Erstellen Sie das Verzeichnis und installieren Sie Askbot darin.

mkdir myapp/
cd myapp

Installieren Sie Askbot mit dem folgenden Befehl.

askbot-setup

Wenn Sie nach dem Askbot-Installationsverzeichnis gefragt werden, geben Sie einfach das einzelne '. ein ' und drücken Sie 'Enter'. Wählen Sie in ähnlicher Weise für die Datenbankkonfiguration PostgreSQL aus, indem Sie die Nummer „1“ auswählen '. Geben Sie den Datenbanknamen „askbotdb“ ein ', Benutzername 'hakaselabs ' mit dem Passwort 'hakase123 '.

Generieren Sie nun ein statisches Dateiverzeichnis mit dem folgenden Befehl.

python manage.py collectstatic

Geben Sie „Ja“ ein und drücken Sie die Eingabetaste, um fortzufahren.

Generieren Sie die PostgreSQL-Datenbank mit der Option syncdb.

python manage.py syncdb

Und Sie werden gefragt, ob Sie den Admin-Benutzer erstellen möchten – geben Sie „Ja“ ein und geben Sie dann Ihren Admin-Benutzer, Ihre E-Mail-Adresse und Ihr Passwort ein.

Askbot ist jetzt auf dem System unter der virtuellen Benutzerumgebung „askbot“ installiert. Sie können die Askbot-Installation testen, indem Sie den folgenden runserver-Befehl ausführen.

python manage.py runserver 0.0.0.0:8080

Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP mit Port 8080 ein, und Sie sehen die Seite „Askbot“, wie unten gezeigt.

Schritt 4 – uWSGI installieren und konfigurieren

uWSGI unterstützt Python-, Perl- und Ruby-basierte Anwendungen. In diesem Tutorial verwenden wir uWSGI mit dem Nginx-Webserver für unsere Askbot-Installation. Installieren Sie uWSGI mit dem folgenden Pip-Befehl.

sudo pip install uwsgi

Erstellen Sie nun ein neues Verzeichnis für die uWSGI-Site-Konfiguration ‚/etc/uwsgi/sites‘.

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

Fügen Sie die neue uWSGI-Konfigurationsdatei „askbot.ini“ zum Verzeichnis „sites“ hinzu und bearbeiten Sie sie mit vim.

vim askbot.ini

Fügen Sie dort die folgende uWSGI-Konfiguration ein.

[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

Das ist es. Speichern und beenden.

Als nächstes müssen wir eine neue Servicedatei für uWSGI erstellen. Gehen Sie in das Verzeichnis ‚/etc/systemd/system/‘ und erstellen Sie eine neue uwsgi.service-Datei mit vim.

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

Fügen Sie dort die folgende uWSGI-Dienstkonfiguration ein.

[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

Speichern und schließen. Laden Sie dann die systemd-Dienste neu.

systemctl daemon-reload

Starten Sie jetzt den uWSGI-Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.

systemctl start uwsgi
systemctl enable uwsgi

uWSGI wurde für unsere Askbot-App installiert und konfiguriert und läuft als Systemdienst.

Schritt 5 – Nginx installieren und konfigurieren

Askbot ist jetzt installiert und läuft unter der uWSGI-Sock-Datei ‚askbot.sock‘. In diesem Schritt verwenden wir den Nginx-Webserver als Reverse-Proxy für die uWSGI-Anwendung Askbot.

Installieren Sie Nginx aus dem Repository mit dem folgenden apt-Befehl.

apt install nginx

Nachdem die Installation abgeschlossen ist, gehen Sie bitte in das Nginx-Konfigurationsverzeichnis „/etc/nginx/“ und fügen Sie die neue virtuelle Nginx-Hostdatei „askbot“ hinzu.

cd /etc/nginx
vim sites-available/askbot

Fügen Sie die folgende Konfiguration des virtuellen askbot nginx-Hosts ein.

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

Speichern und beenden.

Aktivieren Sie nun die virtuelle Askbot-Hostdatei, indem Sie einen symbolischen Link für die „askbot“-Datei zum „sites-enabled“-Verzeichnis erstellen und die nginx-Konfiguration testen.

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

Der virtuelle Askbot-Host ist aktiviert. Starten Sie jetzt die nginx-Dienste neu und aktivieren Sie sie so, dass sie beim Systemstart automatisch gestartet werden.

systemctl restart nginx
systemctl enable nginx

Die Nginx-Konfiguration ist abgeschlossen und läuft auf Port 80. Überprüfen Sie dies mit dem netstat-Befehl, wie unten gezeigt.

netstat -plntu

Überprüfen Sie nun askbot, indem Sie die uWSGI-Sock-Datei mit dem folgenden netstat-Befehl überprüfen.

netstat -pl | grep askbot

Der Nginx-Webserver wurde für die Askbot-Python-Django-App installiert und konfiguriert.

Schritt 6 – Testen

Öffnen Sie Ihren Webbrowser und besuchen Sie den Askbot-Domänennamen:askbot.me, und Sie sollten die unten gezeigte Startseite erhalten.

Askbot-Benutzeranmeldung.

Askbot-Benutzer-Dashboard.

Askbot-Einstellungen.

Askbot Django-Administratoranmeldung.

Askbot Django Admin-Dashboard.

Die Q&A-System-App „Askbot“ wurde mit uWSGI und Nginx-Webserver auf dem Ubuntu 16.04-Server installiert.


Ubuntu
  1. So installieren und konfigurieren Sie Redis unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Redmine unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie Samba unter Ubuntu 18.04

  4. So installieren und konfigurieren Sie Redis unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie Mariadb 10 in Ubuntu 20.04

So installieren und konfigurieren Sie Neo4j unter Ubuntu 20.04

So installieren und konfigurieren Sie Ubuntu SDK in Ubuntu 16.04 und 14.04

So installieren und konfigurieren Sie PostgreSQL unter Ubuntu

So installieren und konfigurieren Sie Hadoop unter Ubuntu 20.04

So installieren und konfigurieren Sie Jenkins unter Ubuntu

So installieren und konfigurieren Sie Jenkins in Ubuntu 20.04