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.