Ein vielseitiger Webserver für Unix-basierte Systeme, der das Hochladen und direkte Drucken von Dateien über CUPS (ehem. Common UNIX Printing System) ermöglicht. Der Server ist ideal für Heimnetzwerke, in denen eine einfache Netzwerkdrucklösung benötigt wird.
Der Print-Server funktioniert nur, wenn der Drucker bereits unter Linux eingerichtet ist. Teste die Funktionalität mit lp <druckername> <dateiname>
. Falls der Drucker noch nicht eingerichtet ist, stehen online zahlreiche Anleitungen zur Verfügung. Dieser Server wurde auf Ubuntu und Raspbian OS getestet, sollte aber auf jedem unixoiden Betriebssystem funktionieren.
- CUPS:
sudo apt-get install cups
- Webserver apache2:
sudo apt-get install apache2
- PHP:
sudo apt-get install php php-curl php-xml php-mbstring
- Benutzer zur
lpadmin
-Gruppe hinzufügen, um Druckverwaltungsrechte zu erhalten
sudo usermod -aG lpadmin $USER
- Umgebungsvariablen für Nutzername und Passwort setzen
- apache2-Umgebungsvariablen bearbeiten:
sudo nano /etc/apache2/envvars
- am Ende der Datei hinzufügen:
export PRINT_SERVER_USERNAME="[Nutzername]"
export PRINT_SERVER_PASSWORD="[Passwort]"
- apache2 neustarten:
sudo systemctl restart apache2
(Tipp: phpinfo
-Datei erstellen, um zu überprüfen, ob die Umgebungsvariablen richtig gesetzt wurden. Die Datei sollte aus Sicherheitsgründen danach gelöscht werden)
- Beim ersten Druckauftrag werden die Ordner
uploads
underrors
erstellt.uploads
speichert die gedruckten Dokumente,errors
speichert Fehlerprotokolle zur Diagnose
Notwendige Ports öffnen:
Internet Printing Protocol: sudo ufw allow 631/tcp
HTTP: sudo ufw allow 80/tcp
Der apache2-User benötigt Zugriff auf die Verzeichnisse uploads
und errors
. Die Berechtigungen müssen wie folgt gesetzt sein:
sudo chown -R www-data:www-data /pfad/zum/print-server/uploads
sudo chown -R www-data:www-data /pfad/zum/print-server/errors
sudo chmod -R 755 /pfad/zum/print-server/uploads
sudo chmod -R 755 /pfad/zum/print-server/errors
Unterstützung für andere Webserver: Bei mir läuft der Server unter Apache auf einem Raspberry Pi. Wenn jemand den Server unter nginx oder einem anderen Webserver zum Laufen bringt, freue ich mich über Pull Requests!
Automatische Druckereinrichtung: Derzeit muss der Nutzer den Drucker vor der Verwendung des Servers selbst einrichten. Ein Installationsskript, das dies automatisiert, wäre eine hilfreiche Ergänzung.