Projekt zur Verwaltung von Feuerwehrschläuchen. Dieses Projekt basiert auf einer webbasierten Oberfläche, die mit Python und Django realisiert wurde.
Diese Installation wurde unter Debian 9 (stretch) getestet, sollte aber in allen Umgebungen funktionieren, die eine aktuelle Version von Python haben. Ich habe mich für den Webserver Apache mit mod_wsgi und Datenbank MariaDB entschieden, es können aber auch andere Systeme wie Ngnix und PostgreSQL verwendet werden.
Die ersten Schritte sind das Herunterladen des Git-Repository und die Installation der notwendigen Systemprogramme.
- Wechseln Sie in das Verzeichnis, in dem Sie dieses Projekt installieren möchten.:
cd /opt - Installieren Sie verschiedene Systempakete:
apt-get install apache2 libapache2-mod-wsgi-py3 libmariadbclient-dev mariadb-server python3-pip python3-venv - Dieses Repository klonen:
git clone https://github.com/HyP3r-/firehose.git - In dieses Verzeichnis wechseln:
cd firehose - Erstelle eine Virtualle Python Umgebung:
python3 -m venv venv - Aktivieren Sie diese Umgebung
source venv/bin/activate - Installieren Sie die Python Pakete:
pip install -U -r requirements.txt
Der zweite Schritt ist die Konfiguration der Datenbank. Stellen Sie sicher, dass Sie die virtuelle Python-Umgebung noch aktiviert haben.
- Fügen Sie diese Konfigurationsfelder der Datenbankkonfiguration hinzu (
/etc/mysql/mariadb.conf.d/50-server.cnf), dies aktiviert das neue Barracuda-Dateiformat:innodb_default_row_format = dynamic innodb_file_format = Barracuda innodb_file_per_table = ON innodb_large_prefix = ON - Erstellen Sie einen Datenbankbenutzer und eine neue Datenbank, zu der eine Verbindung hergestellt werden kann (ändern Sie den Benutzernamen, den Namen der Datenbank und das Passwort, wenn Sie möchten):
root@example:/opt/firehose# mysql mysql> CREATE DATABASE `firehose`; mysql> CREATE USER 'firehose'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL privileges ON `firehose`.* TO 'firehose'@localhost; mysql> FLUSH PRIVILEGES; - Aktualisieren dementsprechend die Konfiguration der Datenbankverbindung in
config/my.cnf(Benutzername, Passwort und Datenbankname) - Erstellen von Datenbanktabellen:
python manage.py migrate - Ersten Benutzer anlegen:
python manage.py createsuperuser
Der letzte Schritt ist die Konfiguration des Webservers.
- Aktivieren Sie das erforderliche Modul:
a2enmod wsgi - Fügen Sie die folgenden Zeilen zu Ihrer Web-Konfiguration hinzu:
WSGIDaemonProcess example.com python-home=/opt/firehose/venv python-path=/opt/firehose/web WSGIProcessGroup example.com WSGIScriptAlias / /opt/firehose/web/firehose/wsgi.py process-group=example.com Alias /favicon.ico /opt/firehose/web/static/hose/img/firefighter.ico Alias /static/ /opt/firehose/web/static/ <Directory /opt/firehose/web/static> Require all granted </Directory> <Directory /opt/firehose/web/firehose> <Files wsgi.py> Require all granted </Files> </Directory> - Starten Sie den den apache Dienst neu:
service apache2 restart - Jetzt können Sie sich mit dem Benutzerkonto auf der Weboberfläche anmelden
Das System kann generell unter der URL /admin verwaltet werden. Auf dieser Seite können Benutzer angelegt und andere Tabellen in der Datenbank angepasst werden.
Das eigentliche Projekt kann unter der URL / abgerufen werden.