GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Askbot mit Nginx und sichern mit Lets Encrypt unter CentOS 8

Askbot ist eine kostenlose, quelloffene und hochgradig anpassbare Frage-Antwort-Forensoftware, die in Python und Django geschrieben ist. Es ist einfach, leichtgewichtig und der anderen Forensoftware StackOverflow und YahooAnswers sehr ähnlich. Askbot bietet eine Menge Funktionen, darunter Tags und Kategorien, E-Mail-Benachrichtigungen, ein karmabasiertes System, Abstimmungen, Inhaltsmoderation und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Askbot-Forum-Software auf CentOS 8 mit Let's Encrypt SSL installieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Ein Root-Passwort wird auf Ihrem Server eingerichtet.

Erforderliche Abhängigkeiten installieren

Bevor Sie beginnen, müssen Sie einige erforderliche Abhängigkeiten in Ihrem System installieren.

Installieren Sie zunächst die „Development Tools“ mit folgendem Befehl:

dnf group install 'Development Tools'

Installieren Sie als Nächstes das EPEL-Repository und andere Python-Abhängigkeiten mit dem folgenden Befehl:

dnf install epel-release -y
dnf install python2-pip python2-devel python2-six -y

Sobald alle erforderlichen Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

PostgreSQL installieren und konfigurieren

Askbot verwendet PostgreSQL, um seine Daten zu speichern. Sie müssen es also in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install postgresql-server postgresql-devel postgresql-contrib -y

Initialisieren Sie die Datenbank nach der Installation mit dem folgenden Befehl:

postgresql-setup initdb

Sie sollten die folgende Ausgabe erhalten:

WARNUNG:Verwenden Sie veraltete Argumentsyntax, versuchen Sie es mit --helpWARNING:Arguments Transformed to:postgresql-setup --initdb --unit postgresql * Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in / var/lib/pgsql/initdb_postgresql.log

Starten Sie als Nächstes den PostgreSQL-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl postgresql starten
systemctl postgresql aktivieren

Melden Sie sich als Nächstes mit dem folgenden Befehl bei der PostgreSQL-Shell an:

su - postgres
[[email protected] ~]$ psql

Ausgabe:

psql (10.6) Geben Sie „help“ für help.postgres=# 
ein

Erstellen Sie als Nächstes eine Datenbank und einen Benutzer für Askbot mit dem folgenden Befehl:

postgres=# Datenbank askbot erstellen;
postgres=# Benutzer askbot mit Passwort 'password' erstellen;

Als nächstes erteilen Sie dem Askbot alle Privilegien mit dem folgenden Befehl:

postgres=# askbot alle Privilegien für die Datenbank askbot gewähren;

Verlassen Sie schließlich die PostgreSQL-Shell mit dem folgenden Befehl:

postgres=# \q

Als Nächstes müssen Sie die lokale Benutzerauthentifizierung für PostgreSQL konfigurieren. Sie können dies tun, indem Sie die Datei pg_hba.conf bearbeiten:

nano /var/lib/pgsql/data/pg_hba.conf

Ersetzen Sie in den folgenden Zeilen peer durch md5:

lokal alle alle md5 hosten alle alle 127.0.0.1/32 md5 hosten alle alle ::1/128 md5 

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen:

systemctl postgresql neu starten

Installieren und konfigurieren Sie Askbot

Vor der Installation von Askbot müssen Sie einen Benutzer für Askbot erstellen. Mit dem folgenden Befehl können Sie einen neuen Askbot-Benutzer erstellen und ein Passwort festlegen:

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

Fügen Sie als Nächstes den Askbot-Benutzer der Wheel-Gruppe für den Zugriff auf den Sudo-Befehl hinzu:

usermod -a -G wheel askbot

Installieren Sie als Nächstes das Python-virtualenv-Paket mit dem folgenden Befehl:

pip2 install virtualenv six

Ändern Sie nach der Installation den Benutzer auf askbot und erstellen Sie mit dem folgenden Befehl eine neue virtuelle Umgebung für Askbot:

su - askbot
virtueller askbot

Sie sollten die folgende Ausgabe sehen:

erstellte virtuelle Umgebung CPython2.7.16.final.0-64 in 663 ms Ersteller CPython2Posix(dest=/home/askbot/askbot, clear=False, global=False) Seeder FromAppData(download=False, pip=latest, setuptools=Latest, wheel=latest, via=copy, app_data_dir=/tmp/tmp9YFr7B/seed-app-data/v1) Aktivatoren PythonActivator, CShellActivator, FishActivator, PowerShellActivator, BashActivator

Wechseln Sie als Nächstes in das Verzeichnis askbot und aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

cd askbot
source bin/activate

Ausgabe:

(askbot) [[email protected] askbot]$

Installieren Sie als Nächstes Askbot und andere erforderliche Abhängigkeiten mit dem folgenden Befehl:

pip2 install six==1.10.0
pip2 install askbot psycopg2

Erstellen Sie als Nächstes ein neues Verzeichnis für Ihre Anwendung, ändern Sie das Verzeichnis in Ihre Anwendung und richten Sie den Askbot mit dem folgenden Befehl ein:

mkdir myapp
cd myapp
askbot-setup

Sie sollten die folgende Ausgabe sehen:

Bereitstellen von Askbot - Django Q&A Forum AnwendungProbleme bei der Installation? -> bitte senden Sie eine E-Mail an [email protected]Zum ABBRECHEN - drücken Sie jederzeit Strg-C. Geben Sie den Verzeichnispfad (absolut oder relativ) zum Bereitstellen von Askbot ein. Um das aktuelle Verzeichnis auszuwählen, geben Sie "."> .
ein

Typ "." und drücken Sie Enter weitermachen. Sie sollten die folgende Ausgabe sehen:

Bitte Datenbank-Engine auswählen:1 - für postgresql, 2 - für sqlite, 3 - für mysql, 4 - oracletype 1/2/3/4:1

Geben Sie 1 ein, um eine Postgresql-Datenbank-Engine auszuwählen, und drücken Sie die Eingabetaste, um fortzufahren. Sie sollten die folgende Ausgabe sehen:

Bitte Datenbanknamen eingeben (erforderlich)> askbotBitte Datenbankbenutzer eingeben (erforderlich)> askbotBitte Datenbankpasswort eingeben (erforderlich)> Passwort

Geben Sie Ihre Askbot-Datenbankdetails ein und drücken Sie Enter . Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

Dateien kopieren:* __init__.py * manage.py * urls.py * django.wsgi Einstellungsdatei erstellenEinstellungsdatei erstelltKopieren von Verzeichnissen:* doc* cron* upfilesFertig. Weitere Anweisungen finden Sie unter http://askbot.org/doc/

Generieren Sie als Nächstes die statischen Dateien und die Datenbank von Askbot Django mit dem folgenden Befehl:

python manage.py collectstatic
python manage.py syncdb

Geben Sie Ihren gewünschten Admin-Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort wie unten gezeigt ein:

Sie haben das Authentifizierungssystem von Django installiert und keine Superuser definiert. Möchten Sie jetzt einen erstellen? (ja/nein):jaBenutzername (leer lassen, um „askbot“ zu verwenden):askbotadminE-Mail-Adresse:[E-Mail-geschützt]Passwort:Passwort (erneut):Superuser erfolgreich erstellt.

uWSGI installieren und konfigurieren

Als nächstes müssen Sie uWSGI auf Ihrem System installieren. uWSGI ist ein Softwaretool zum Ausführen von Python-basierten Webanwendungen. Sie können es mit dem folgenden Befehl installieren:

pip2 installiere uwsgi

Erstellen Sie nach der Installation von uWSGI mit dem folgenden Befehl ein neues Verzeichnis für uWSGI:

mkdir -p /etc/uwsgi/sites

Als nächstes erstellen Sie eine neue uWSGI-Konfigurationsdatei wie unten gezeigt:

nano /etc/uwsgi/sites/askbot.ini

Fügen Sie die folgenden Zeilen hinzu:

[uwsgi]chdir =/home/askbot/askbot/myapphome =/home/askbot/askbotstatic-map =/m=/home/askbot/askbot/myapp/staticwsgi-file =/home/askbot/askbot/myapp /django.wsgimaster =trueprocesses =5# Askbot wird unter den Sock-Dateien ausgeführt vor> 

Erstellen Sie eine Systemd-Dienstdatei für uWSGI

Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den uWSGI-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/uwsgi.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=uWSGI-Dienst[Service]ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown askbot:nginx /run/uwsgi'ExecStart=/bin/uwsgi --emperor /etc/uwsgi/sitesRestart=alwaysKillSignal=SIGQUITType=notifyNotifyAccess=all[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Nginx installieren und konfigurieren

Als Nächstes müssen Sie Nginx installieren und konfigurieren, um Ihre Askbot-Anwendung bereitzustellen.

Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:

dnf install nginx -y

Erstellen Sie nach der Installation eine neue virtuelle Host-Konfigurationsdatei für Askbot:

nano /etc/nginx/conf.d/askbot.conf

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80; Servername askbot.linuxbuz.com; Ort / { uwsgi_params einschließen; uwsgi_pass unix:/run/uwsgi/askbot.sock; } }

Speichern und schließen Sie die Datei. Starten Sie dann den Nginx- und uWSGI-Dienst und ermöglichen Sie ihnen, nach dem Systemneustart mit dem folgenden Befehl zu starten:

systemctl start nginx
systemctl enable nginx
systemctl start uwsgi
systemctl enable uwsgi

Sichern Sie Askbot mit Let's Encrypt SSL

Als nächstes müssen Sie das Dienstprogramm Certbot auf Ihrem System installieren, um Let's Encrypt SSL für die Askbot-Domäne herunterzuladen und zu installieren.

Sie können den Certbot-Client mit dem folgenden Befehl installieren:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot- auto
chmod 0755 /usr/local/bin/certbot-auto

Als nächstes erhalten und installieren Sie ein SSL-Zertifikat für Ihre Askbot-Domain mit dem folgenden Befehl:

certbot-auto --nginx -d askbot.linuxbuz.com

Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator nginx, Installer nginxE-Mail-Adresse eingeben (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YBeziehen eines neuen ZertifikatsAusführen der folgenden Herausforderungen:http-01-Herausforderung für askbot.linuxbuz.comWarten auf Überprüfung...Reinigung upherausforderungenBereitstellen des Zertifikats auf VirtualHost /etc/nginx/conf.d/askbot.conf

Wählen Sie als Nächstes aus, ob der HTTP-Datenverkehr wie unten gezeigt an HTTPS umgeleitet werden soll:

Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.2:Umleitung – Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Geben Sie 2 ein und drücken Sie Enter weitermachen. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

Umleitung des gesamten Datenverkehrs auf Port 80 zu SSL in /etc/nginx/conf.d/askbot.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://askbot.linuxbuz.com erfolgreich aktiviert. Sie sollten Ihre Konfiguration testen unter:https://www.ssllabs.com/ssltest/analyze.html?d=askbot.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/askbot.linuxbuz.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/askbot.linuxbuz.com/privkey.pem Ihre Das Zertifikat läuft am 11.06.2020 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot-auto erneut mit der Option „certonly“ aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot-auto renew“ aus – Wenn Sie Certbot mögen, erwägen Sie bitte, unsere Arbeit zu unterstützen, indem Sie:Spenden an ISRG / Let’s Encrypt:https://letsencrypt.org/donate Spenden an EFF:https://eff.org/donate-le

Firewall und SELinux konfigurieren

Als Nächstes müssen Sie eine Firewall-Regel erstellen, um den HTTP- und HTTPS-Dienst von externen Netzwerken zuzulassen. Sie können es mit dem folgenden Befehl zulassen:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Standardmäßig ist SELinux in CentOS 8 aktiviert. Es wird empfohlen, es zu deaktivieren, damit Askbot ordnungsgemäß funktioniert. Sie können es deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=erzwingen

Und ersetzen Sie es durch die folgende Zeile:

SELINUX=deaktiviert

Speichern und schließen Sie die Datei. Starten Sie dann Ihr System neu, um die Änderungen zu übernehmen:

Auf Askbot zugreifen

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://askbot.linuxbuz.com ein. Sie werden zu folgendem Bildschirm weitergeleitet:

Klicken Sie auf das Zeichen in Taste. Sie sollten die Anmeldeseite von Askbot auf dem folgenden Bildschirm sehen:

Geben Sie Ihren Askbot-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf das Zeichen in Taste. Sie sollten das Askbot-Dashboard auf dem folgenden Bildschirm sehen:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben das Askbot-Forum erfolgreich auf CentOS 8 installiert und konfiguriert und mit Let’s Encrypt SSL gesichert. Sie können jetzt mit dem Erstellen einer Frage und Antwort mit Askbot beginnen.


Cent OS
  1. Sichern Sie Nginx mit Lets Encrypt unter CentOS 7

  2. So installieren und konfigurieren Sie Askbot mit Nginx unter CentOS 7

  3. So installieren Sie Shopware mit NGINX und Lets Encrypt unter CentOS 7

  4. So installieren Sie WonderCMS mit Nginx und Lets Encrypt SSL unter CentOS 7

  5. So installieren und konfigurieren Sie Varnish Cache 6 mit Nginx unter CentOS 8

So installieren Sie OpenCart mit Nginx und Lets Encrypt unter Debian 10

So installieren Sie das ElkArte-Forum mit Apache und Lets Encrypt SSL unter CentOS 8

So installieren Sie Shopware 6 mit NGINX und Lets Encrypt unter CentOS 8

So installieren Sie PrestaShop mit Apache und Lets Encrypt SSL unter CentOS 8

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie MediaWiki mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04