Skip to content

Print-Server unter einem UNIX-Betriebssystem mit CUPS, apache2 und PHP

Notifications You must be signed in to change notification settings

reztib/print-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Print-Server

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.

Hinweis

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.

Abhängigkeiten

  • 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

Einrichtung

  1. Benutzer zur lpadmin-Gruppe hinzufügen, um Druckverwaltungsrechte zu erhalten
    sudo usermod -aG lpadmin $USER
  1. 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)

  1. Beim ersten Druckauftrag werden die Ordner uploads und errors erstellt. uploads speichert die gedruckten Dokumente, errors speichert Fehlerprotokolle zur Diagnose

Häufige Fehler und Lösungen

Firewall-Einstellungen

Notwendige Ports öffnen:

Internet Printing Protocol: sudo ufw allow 631/tcp

HTTP: sudo ufw allow 80/tcp

Zugriff auf uploads- und errors-Verzeichnisse

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

Weitere Arbeiten

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.

About

Print-Server unter einem UNIX-Betriebssystem mit CUPS, apache2 und PHP

Topics

Resources

Stars

Watchers

Forks