{"id":15132804,"url":"https://github.com/reztib/print-server","last_synced_at":"2026-02-04T02:03:55.454Z","repository":{"id":255480469,"uuid":"851714212","full_name":"reztib/print-server","owner":"reztib","description":"Print-Server unter einem UNIX-Betriebssystem mit CUPS, apache2 und PHP","archived":false,"fork":false,"pushed_at":"2024-09-04T19:45:53.000Z","size":240,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T16:46:29.584Z","etag":null,"topics":["cups","html","php","printer","raspberry-pi","web"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reztib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-03T15:32:40.000Z","updated_at":"2024-09-06T23:45:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8b444ad-0342-449b-999a-8239f2c902b9","html_url":"https://github.com/reztib/print-server","commit_stats":{"total_commits":25,"total_committers":1,"mean_commits":25.0,"dds":0.0,"last_synced_commit":"4608d9f4ed5a9324c1513d2d327b1460bfc48468"},"previous_names":["reztib/print-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reztib/print-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reztib%2Fprint-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reztib%2Fprint-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reztib%2Fprint-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reztib%2Fprint-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reztib","download_url":"https://codeload.github.com/reztib/print-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reztib%2Fprint-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264229252,"owners_count":23576239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cups","html","php","printer","raspberry-pi","web"],"created_at":"2024-09-26T04:40:27.411Z","updated_at":"2026-02-04T02:03:55.362Z","avatar_url":"https://github.com/reztib.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Print-Server\nEin 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.\n\n## Hinweis\nDer Print-Server funktioniert nur, wenn der Drucker bereits unter Linux eingerichtet ist. Teste die Funktionalität mit `lp \u003cdruckername\u003e \u003cdateiname\u003e`. 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. \n\n## Abhängigkeiten\n- **CUPS**: `sudo apt-get install cups`\n- **Webserver apache2**: `sudo apt-get install apache2`\n- **PHP**: `sudo apt-get install php php-curl php-xml php-mbstring`\n\n## Einrichtung\n1. Benutzer zur `lpadmin`-Gruppe hinzufügen, um Druckverwaltungsrechte zu erhalten\n```bash\n    sudo usermod -aG lpadmin $USER\n```\n\n2. Umgebungsvariablen für Nutzername und Passwort setzen\n\n- apache2-Umgebungsvariablen bearbeiten:\n```bash\n    sudo nano /etc/apache2/envvars\n```\n\n- am Ende der Datei hinzufügen:\n```bash\n    export PRINT_SERVER_USERNAME=\"[Nutzername]\"\n    export PRINT_SERVER_PASSWORD=\"[Passwort]\"\n```\n\n- apache2 neustarten:\n```bash\n    sudo systemctl restart apache2\n```\n\n(Tipp: ```phpinfo```-Datei erstellen, um zu überprüfen, ob die Umgebungsvariablen richtig gesetzt wurden. Die Datei sollte aus Sicherheitsgründen danach gelöscht werden)\n\n3. Beim ersten Druckauftrag werden die Ordner `uploads` und `errors` erstellt. `uploads` speichert die gedruckten Dokumente, `errors` speichert Fehlerprotokolle zur Diagnose\n\n## Häufige Fehler und Lösungen\n\n### Firewall-Einstellungen\nNotwendige Ports öffnen:\n\n**Internet Printing Protocol**: `sudo ufw allow 631/tcp`\n\n**HTTP**: `sudo ufw allow 80/tcp`\n\n### Zugriff auf uploads- und errors-Verzeichnisse\nDer apache2-User benötigt Zugriff auf die Verzeichnisse `uploads` und `errors`. Die Berechtigungen müssen wie folgt gesetzt sein:\n\n```bash\n    sudo chown -R www-data:www-data /pfad/zum/print-server/uploads\n    sudo chown -R www-data:www-data /pfad/zum/print-server/errors\n    sudo chmod -R 755 /pfad/zum/print-server/uploads\n    sudo chmod -R 755 /pfad/zum/print-server/errors\n```\n\n## Weitere Arbeiten\n**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!\n\n**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.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freztib%2Fprint-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freztib%2Fprint-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freztib%2Fprint-server/lists"}