Paperless
Installation von Paperless 2.5.0 unter Xubuntu 18.04
Paperless ist auf Github unter folgenden Link zu finden.
Die Installation bzw. das Setup von Paperless ist hier beschrieben. Bevor dies jedoch durchgeführt werden kann, müssten die hier beschriebenen Voraussetzungen erfüllt sein.
Voraussetzungen installieren
Zur Installation der Voraussetzungen werden folgenden Commands ausgeführt.
GNU Privacy Guard
gnupg ist bei Xubuntu ab Version 17.10 vorinstalliert.
Tesseract
sudo apt install tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng
ImageMagic
sudo apt install imagemagick imagemagick-doc
Unpaper
sudo apt install unpaper libtiff-tools netpbm
libpoppler-cpp-dev
sudo apt install libpoppler-cpp-dev
optipng
sudo apt install optipng
Python Virtual Environment
sudo apt install python-virtualenv
g++
sudo apt install g++
Python3 Development
sudo apt install python3-dev
Setup
Zum Durchführen des Setups werden folgenden Commands ausgeführt.
Paperless installieren
Entpacken und nach /opt/paperless kopieren
sudo chown -R $$user$$:$$group$$ /opt/paperless/
Python-specific Requirements: Virtualenv
mkdir ~/virtualenv mkdir ~/virtualenv/paperless virtualenv --python=/usr/bin/python3 ~/virtualenv/paperless source ~/virtualenv/paperless/bin/activate pip install --requirement /opt/paperless/requirements.txt
/opt/paperless/src
cd /opt/paperless/src
cp ../paperless.conf.example /etc/paperless.conf
Anpassen folgender Variablen der Ziel-Konfigurationsdatei (paperless.conf):
PAPERLESS_CONSUMPTION_DIRund/oderPAPERLESS_OCR_THREADSund/oderPAPERLESS_PASSPHRASE
./manage.py migrate
./manage.py createsuperuser
./manage.py runserver --insecure
Der Development Server läuft nun unter http://localhost:8000/.
Nun muss eine neue Shell geöffnet werden.
./manage.py document_consumer
Ausführen des Document Consumers als Daemon
Das Ausführen des Document Consumers als Daemon wird in der Paperless Dikumentation hier beschrieben.
cp /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/
Danach sollte die Datei wie folgt modifiziert werden. Die Platzhalter $$user$$ und $$group$$ müssen entsprechend ersetzt werden.
#[Unit] Description=Paperless consumer [Service] User=$$user$$ Group=$$group$$ ExecStart=/home/$$user$$/virtualenv/paperless/bin/python3 /opt/paperless/src/manage.py document_consumer [Install] WantedBy=multi-user.target
Nun wir der Service aktiviert und gestartet.
systemctl enable paperless-consumer
systemctl start paperless-consumer
Hosten der Web Site durch einen Apache Web Server
Die Paperless Dokumentation beschreibt das Hosten von Paperless durch einen Apache Web Server hier.
Zuerst muss der Apache2 Web Server installiert werden.
sudo apt install apache2
Dieser ist nun unter http://localhost/ erreichbar.
Als nächstes muss die Datei (der Virtual Host) /etc/apache2/sites-available/000-default.conf modifiziert werden. Im Folgenden ist ein möglicher Virtual Host dargestellt, welcher zu der obigen Paperless Konfiguration passt.
<VirtualHost *:80>
ServerName example.com
Alias /static/ /opt/paperless/static/
<Directory /opt/paperless/static>
Require all granted
</Directory>
WSGIScriptAlias / /opt/paperless/src/paperless/wsgi.py
WSGIDaemonProcess example.com user=$$user$$ group=$$group$$ threads=5 python-home=/home/$$user$$/virtualenv/paperless/ python-path=/opt/paperless/src:/opt/paperless/.env/lib/python3.4/site-packages
WSGIProcessGroup example.com
<Directory /opt/paperless/src/paperless>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>