83 lines
2.4 KiB
Markdown
83 lines
2.4 KiB
Markdown
## Git Repository Logic
|
|
* Frequent updates are made to the **testing** branch, which is considered "dirty". Commits appearing here may be quickly written, untested, incomplete, etc. This is where the development happens.
|
|
* In unspecified intervals, the piled-up changes in the testing branch are reviewed, ordered and squashed to a smaller set of tidy commits. Those are then pushed to the **master** branch.
|
|
* The tidy-up is marked by an empty commit "Realign with master" in the testing branch. This is roughly equivalent to a *merge*, although for an actual merge the commits would remain unaltered.
|
|
* Development happens in the testing branch. Thus, *testing* is more up-to-date, but *master* is better to understand.
|
|
* The Monitoring web server uses the testing branch.
|
|
|
|
|
|
## Debian Dependencies
|
|
```bash
|
|
apt-get install mysql-server python3-mysqldb python python3 python3-requests python3-lxml python3-pip python3-flask python3-dateutil python3-numpy python3-scipy python3-mapnik python3-pip uwsgi-plugin-python3 nginx
|
|
pip3 install wheel pymongo pillow modestmaps simplejson werkzeug
|
|
```
|
|
|
|
## When updating
|
|
```bash
|
|
apt-get install mysql-server python3-mysqldb python3-mapnik
|
|
apt-get uninstall mongodb python-mapnik uwsgi-plugin-python tilestache
|
|
pip3 install wheel pillow modestmaps simplejson werkzeug
|
|
pip3 uninstall uuid
|
|
```
|
|
|
|
## Prerequisites
|
|
* Datenbank in MySQL anlegen
|
|
* Git vorbereiten:
|
|
```bash
|
|
git clone https://github.com/asdil12/fff-monitoring
|
|
git clone https://github.com/TileStache/TileStache
|
|
cd fff-monitoring
|
|
cp ffmap/mysqlconfig.example.py ffmap/mysqlconfig.py
|
|
```
|
|
* MySQL Zugangsdaten in mysqlconfig.py eintragen
|
|
|
|
|
|
## Installation
|
|
```bash
|
|
./install.sh
|
|
systemctl daemon-reload
|
|
systemctl enable uwsgi-ffmap
|
|
systemctl enable uwsgi-tiles
|
|
systemctl start uwsgi-ffmap
|
|
systemctl start uwsgi-tiles
|
|
cd ffmap/db/
|
|
./init_db.py
|
|
# Then apply NGINX Config
|
|
cd ../.. # go back to fff-monitoring root directory
|
|
./scripts/setupcron.sh
|
|
```
|
|
|
|
## NGINX Config
|
|
```nginx
|
|
server {
|
|
listen 443 ssl default_server;
|
|
listen [::]:443 ssl default_server;
|
|
|
|
...
|
|
|
|
location / {
|
|
include uwsgi_params;
|
|
uwsgi_pass 127.0.0.1:3031;
|
|
client_max_body_size 30M;
|
|
}
|
|
|
|
location /tiles {
|
|
include uwsgi_params;
|
|
uwsgi_pass 127.0.0.1:3032;
|
|
}
|
|
|
|
location /static/ {
|
|
root /usr/share/ffmap/;
|
|
expires max;
|
|
add_header Cache-Control "public";
|
|
}
|
|
|
|
...
|
|
|
|
}
|
|
```
|
|
|
|
## Admin anlegen
|
|
* User über WebUI anlegen
|
|
* Dann über z.B. phpmyadmin in der Tabelle users 'admin' auf 1 setzen
|