Skip to content

About

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

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

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

0 stars

Watchers

1 watching

Forks

Contributors

Languages