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

So installieren und konfigurieren Sie Askbot mit Nginx unter CentOS 7

Askbot ist eine Open-Source-Software zum Erstellen von Q&A-Foren basierend auf dem Python Django Framework. Es ist im Grunde ein Q&A-System wie StackOverflow, Yahoo Answers und andere. Erstellt von Mike Chan und Sailing Cai im Jahr 2009, und es ist einfach auf Linux-Systemen wie Ubuntu und CentOS zu installieren und zu konfigurieren. Viele große Open-Source-Softwareprojekte wie Fedora und LibreOffice verwenden es.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Askbot Python Django-Anwendung mit uWSGI und Nginx-Webserver auf einem CentOS 7-System installieren. Als Datenbank verwenden wir PostgreSQL für die Askbot-Installation.

Was wir tun werden

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

Voraussetzungen

  • CentOS 7-Server
  • Root-Rechte

Schritt 1 - Abhängigkeiten installieren

In diesem Schritt werden wir einige Pakete installieren, die für eine erfolgreiche Askbot-Installation benötigt werden. Dazu gehören „Development Tools“, das Epel-Repository und einige Python-bezogene Tools (zum Verwalten von Python-Paketen). Fangen wir also an.

Installieren Sie zuerst CentOS 'Development Tools' mit dem folgenden Yum-Gruppenbefehl.

yum group install 'Development Tools'

Installieren Sie dann das Epel-Repository.

yum -y install epel-release

Und schließlich installieren Sie die Python-Pakete, einschließlich Python Pip, Python-Devel und Python Six.

yum -y install python-pip python-devel python-six

Schritt 2 – PostgreSQL installieren und konfigurieren

Jetzt brauchen wir die PostgreSQL-Datenbank, die im CentOS-Repository verfügbar ist. In diesem Abschnitt besprechen wir, wie Sie die PostgreSQL-Datenbank installieren, den Postgres-Passwortbenutzer ändern, einen neuen Benutzer und eine neue Datenbank für die Askbot-Installation erstellen und schließlich die Postgres-Authentifizierungskonfiguration ändern können.

Beginnen wir also mit der Installation von PostgreSQL aus dem Repository mit dem folgenden Befehl yum.

yum -y install postgresql-server postgresql-devel postgresql-contrib

Sobald die Installation abgeschlossen ist, müssen wir die Datenbank initialisieren, was Sie mit dem folgenden Befehl tun können.

postgresql-setup initdb

Fahren Sie fort, starten Sie Postgres und aktivieren Sie es so, dass es beim Booten automatisch gestartet wird.

systemctl start postgresql
systemctl enable postgresql

An dieser Stelle sollte die PostgreSQL-Datenbank installiert werden. Als nächstes müssen wir das Postgres-Benutzerkennwort zurücksetzen. Melden Sie sich dazu zunächst als „postgres“-Benutzer an und greifen Sie auf das psql-Befehlszeilentool zu.

su - postgres
psql

Geben Sie dann dem Postgres-Benutzer ein neues Passwort.

\password postgres

Erstellen Sie nun eine neue Datenbank und einen neuen Benutzer für Askbot. Wir möchten beispielsweise einen neuen Benutzer „hakaselabs“ erstellen ' mit dem Passwort 'hakase123 ' und die Datenbank namens 'askbotdb '. Die folgenden Postgres-Abfragen helfen uns dabei, all diese zu erstellen.

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

Jetzt wurden also eine Datenbank und ein Benutzer für die Askbot-Installation erstellt. Der nächste Schritt besteht darin, die Postgres-Konfiguration für die Einrichtung der Authentifizierung zu bearbeiten, was Sie tun können, indem Sie zum Verzeichnis „pgsql/data“ gehen und die Datei „pg_hba.conf“ mit vim bearbeiten.

cd /var/lib/pgsql/data/
vim pg_hba.conf

Sobald Sie sich in der Datei befinden, ändern Sie die gesamte Authentifizierung auf md5, wie unten gezeigt.

local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Speichern und beenden Sie nun die Datei und starten Sie dann den Postgres-Dienst neu.

systemctl restart postgresql

Inzwischen ist also die PostgreSQL-Datenbank installiert; Datenbank für die Askbot-Installation wurde erstellt; und die Postgres-Benutzerauthentifizierungsmethode wurde in md5 geändert.

Schritt 3 – Installiere und konfiguriere Askbot

In diesem Schritt werden wir die Installation und Konfiguration von Askbot besprechen. Wir werden Askbot unter einem Benutzer namens „askbot“ und unter Verwendung von virtualenv python installieren. Fangen wir also an.

Erstellen Sie zunächst einen neuen Benutzer ‚askbot‘ und geben Sie dem Benutzer ein neues Passwort.

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

Fügen Sie dann den Benutzer „askbot“ zur Gruppe „wheel“ für den Zugriff auf den sudo-Befehl hinzu (nicht sicher, was „sudo“ ist? Erfahren Sie hier mehr darüber).

usermod -a -G wheel askbot

Aktualisieren Sie jetzt pip auf die neueste Version und installieren Sie das Paket python virtualenv.

pip install --upgrade pip
pip install virtualenv six

Nächste. Melden Sie sich als „askbot“-Benutzer an und erstellen Sie eine neue virtuelle Python-Umgebung „hakase-labs“ mit virtualenv.

su - askbot
virtualenv hakase-labs/

Gehen Sie in das Verzeichnis „hakase-labs“ und aktivieren Sie die virtuelle Umgebung für die Installation von Askbot.

cd hakase-labs/
source bin/activate

Installieren Sie jetzt askbot und andere Python-Pakete mit dem Pip-Befehl in der virtuellen Umgebung von ‚hakase-labs‘.

pip install six 
pip install askbot psycopg2

Als nächstes erstellen Sie ein neues Verzeichnis für das ‚Askbot‘-Projekt. Bitte stellen Sie sicher, dass Sie nicht „askbot“ als Verzeichnisnamen verwenden. In unserem Fall haben wir beispielsweise ein neues Verzeichnis mit dem Namen „myapp“

erstellt
mkdir myapp/

Wechseln Sie in das myapp-Verzeichnis und führen Sie den Befehl „askbot-setup“ aus.

cd myapp/
askbot-setup

Der Befehl ‚askbot-setup‘ wird Sie nach bestimmten Dingen fragen. Beispielsweise werden Sie nach dem Verzeichnispfad zum Bereitstellen von Askbot gefragt – Sie können „.“ eingeben. und drücken Sie die Eingabetaste, um fortzufahren. Wenn Sie nach der Datenbank-Engine gefragt werden, geben Sie „1“ ein, um postgresql zu verwenden, und drücken Sie die Eingabetaste. Geben Sie für datenbankbezogene Details den Datenbanknamen als „askbotdb“, den Datenbankbenutzer als „hakaselabs“ und das Passwort als „hakase123“ ein.

Also ist Askbot jetzt im Verzeichnis ‚myapp‘ installiert. Jetzt müssen wir die statischen Dateien von Askbot Django und die Datenbank generieren.

Führen Sie den folgenden Befehl aus, um statische Dateien von Askbot Django zu generieren.

python manage.py collectstatic

Wenn Sie zur Bestätigung aufgefordert werden, geben Sie „yes“ ein und drücken Sie die Eingabetaste.

Führen Sie nun zum Generieren der Datenbank syncdb wie folgt aus.

python manage.py syncdb

Sie werden aufgefordert, den Admin-Benutzer und das Passwort zu erstellen. Geben Sie also bei Aufforderung den Benutzernamen, die E-Mail-Adresse und das Passwort für die Administratorkonfiguration ein.

Askbot ist also inzwischen installiert, statische Dateien wurden generiert und die Datenbankkonfiguration ist abgeschlossen.

Sie können die Askbot-Installation mit dem folgenden runserver-Befehl testen.

python manage.py runserver 0.0.0.0:8080

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Servers ein, und Sie sollten eine Seite ähnlich der folgenden sehen:

Schritt 4 – uWSGI installieren und konfigurieren

Wir werden uWSGI als Dienst für das Askbot Django-Projekt verwenden. Insbesondere werden wir uWSGI mit dem Nginx-Webserver für die Askbot-Installation verwenden. Fangen wir also an.

Installieren Sie zuerst uWSGI mit dem Pip-Befehl, wie unten gezeigt.

sudo pip install uwsgi

Erstellen Sie nach Abschluss der Installation ein neues Verzeichnis für die Dateien des virtuellen uWSGI-Hosts. In unserem Fall haben wir beispielsweise „/etc/uwsgi/sites“ erstellt.

mkdir -p /etc/uwsgi/sites

Gehen Sie in das neu erstellte Verzeichnis und erstellen Sie eine neue askbot uWSGI-Konfiguration mit vim.

cd /etc/uwsgi/sites
vim askbot.ini

Fügen Sie die folgende Konfiguration in die Datei 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 = /run/uwsgi/askbot.sock
chmod-socket = 664
uid = askbot
gid = nginx
vacuum = true

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

Das ist es. Speichern Sie die Datei und beenden Sie den Editor.

Fügen Sie als Nächstes eine neue uWSGI-Dienstskriptdatei zum Verzeichnis ‚/etc/systemd/system‘ hinzu. Gehen Sie in das Verzeichnis und erstellen Sie die Datei „uwsgi.service“ mit vim.

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

Fügen Sie die folgende uWSGI-Dienstkonfiguration in die Datei ein.

[Unit]
Description=uWSGI Emperor service

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

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie jetzt die systemd-Dienste neu und aktivieren Sie uWSGI, um beim Booten automatisch zu starten.

systemctl daemon-reload
systemctl enable uwsgi

Damit wurde uWSGI installiert und Sie sollten sehen, dass es als Dienst läuft.

Schritt 5 – Nginx-Webserver installieren und konfigurieren

Also, 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 zunächst mit dem Befehl yum.

yum -y install nginx

Gehen Sie nun in das Nginx-Verzeichnis „conf.d“ und erstellen Sie mit dem vim-Editor eine neue virtuelle Hostdatei „askbot.conf“.

cd /etc/nginx/conf.d/
vim askbot.conf

Fügen Sie die folgende Askbot Nginx-Konfiguration in die Datei ein.

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/run/uwsgi/askbot.sock;
   }
}

Speichern Sie die Datei und beenden Sie den Editor. Testen Sie nun die Konfiguration, um sicherzustellen, dass kein Fehler vorliegt.

nginx -t

Starten Sie als Nächstes die Nginx- und uWSGI-Dienste.

systemctl start nginx
systemctl start uwsgi

Und ermöglichen Sie ihnen, beim Booten automatisch zu starten.

systemctl enable nginx
systemctl enable uwsgi

Daher wird Nginx jetzt als Reverse-Proxy für die uWSGI-Anwendung ‚Askbot‘ installiert.

Schritt 6 – Testen Sie die Einrichtung

Öffnen Sie Ihren Webbrowser und besuchen Sie den Askbot-Domänennamen:askbot.me, und Sie werden die Startseite sehen, wie unten gezeigt.

Hier ist die Anmeldeseite des Askbot-Benutzers:

Askbot-Benutzer-Dashboard:

Askbot-Admin-Einstellung:

Askbot Django-Admin-Login:

Askbot Django Admin-Dashboard:

Die Q&A-Systemanwendung „Askbot“ wurde also erfolgreich mit uWSGI und Nginx-Webserver auf dem CentOS 7-Server installiert.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 8

  2. So installieren und konfigurieren Sie Nginx unter CentOS 7

  3. So installieren und konfigurieren Sie Redis unter CentOS 7

  4. So installieren und konfigurieren Sie GitLab unter CentOS 7

  5. So installieren und konfigurieren Sie Nextcloud mit Apache unter CentOS 7

So installieren Sie OwnCloud 8 mit Nginx und MariaDB auf CentOS 7

So installieren und konfigurieren Sie OpenLiteSpeed ​​mit PHP 7 unter CentOS 7

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

Installation und Konfiguration von PhpMyAdmin mit Nginx unter CentOS 7

So installieren Sie OwnCloud 8 mit Nginx und PHP-FPM auf CentOS 6

So installieren und konfigurieren Sie MariaDB in CentOS / RHEL 7