# Drucker-Server

# Auftrag 0004

Bei diesem Auftrag handelt es sich um ein interner Auftrag. Der Umfang ist geringer als bei den vorhergehenden Aufgaben und Sie haben die Möglichkeit mit dem Projekt etwas zu experimentieren.

Das Ziel ist, eine Seite drucken zu können, ohne dass der Drucker direkt mit dem Gerät verbunden ist. Auf die Verwaltung der Drucker darf nur der Administrator Zugriff haben.

#### Virtuelle Maschine

Da in dieser Aufgabe ein Drucker an den Server angeschlossen werden muss, findet diese Übung ausschliesslich lokal im Unterrichts-Raum statt. Es gibt zwar internetfähige Drucker, welcher auch an einen Server im Internet angebunden werden können, so ein Drucker steht aber für diese Übung nicht zur Verfügung. Daher verwenden Sie eine VM, welche bei der Lehrperson von einem USB-Stick abgeholt werden kann. Die VM ist so konfiguriert, dass die VM direkt ans Netzwerk angebunden wird.

<p class="callout info">Benutzername: root  
Password: tbz</p>

#### LAB-Netz

Für diese Übung arbeiten Sie nicht im regulären TBZ-Netzwerk, sondern im Labor-Netz. Verbinden Sie sich hierzu mit folgendem WLAN:

<p class="callout info">WLAN-Name: TBZ-LAB\_E055  
Password: TBZ-LAB\_E055</p>

Der Drucker befindet sich ebenfalls in diesem Netzwerk und hat die IP-Adresse **172.16.17.100** erhalten.

#### CUPS

Verwenden Sie den Linux-Dienst CUPS (Common Unix Printing System) um den Drucker-Server umzusetzen.

#### Ziel der Übung

Setzen Sie die geforderten Arbeiten um. Nächste Woche gibt es eine 1:1 Präsentation pro Gruppe.

# CUPS installation / Grundkonfiguration

#### Installation

Installieren Sie CUPS mit yum. Der Name des Pakets lautet **cups**. Aktivieren und starten Sie den Dienst.

#### IP konfigurieren

1. AlmaLinux 9 hat eine Software um die Netzwerk-Verbindungen zu verwalten. Starten Sie diese mit **nmtui**
2. Danach sehen sie folgenden Screen:  
    ![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/aFjimage.png)
3. Wählen Sie hier Edit a connection.
4. Wählen Sie Ihr Internet-Interface aus **ensXYZ** und selektieren Sie die Option **&lt;Edit...&gt;**
5. Selektieren Sie nun bei **IPv4 CONFIGURATION** die Option **&lt;Automatic&gt;** um anschliessen auf **Manual** zu wechseln. Gehen Sie anschliessend zu **&lt;Show&gt;** damit Sie Ihre IP-Konfiguration umsetzen können. (Subnetz in CIDR Darstellung)  
    Die zusätzlichen Optionen unter der Basis-Konfiguration müssen nicht gesetzt werden.

<p class="callout info">IP-Adresse: 172.16.17.XX/24  
Gateway: 172.16.17.1  
DNS: 8.8.8.8</p>

6. Selektieren Sie nun bei **IPv6 CONFIGURATION** die Option **&lt;Automatic&gt;** und setzen Sie diese auf **Ignore**
7. Bestätigen Sie mit &lt;OK&gt;
8. Damit die Einstellung übernommen wird, müssen Sie nun die Verbindung einmalig deaktivieren und wieder aktivieren. Dies machen Sie im Menü **Activate a connection**

#### Firewall konfigurieren

Während die Firewall in der AWS-Umgebung automatisch über die Sicherheitsgruppen konfiguriert wurden, müssen wir dies nun von Hand auf dem Server vornehmen. Unter Alma Linux 9 steht hierzu das Werkzeug **firewall-cmd** zur Verfügung.

Finden Sie als erstes heraus auf welchem Port der Dienst hört. Dies können Sie entweder mit dem Befehl netstat (installation mit yum install net-tools) oder der [Dokumentation von Cups](https://www.cups.org/doc/firewalls.html)

```
netstat -tupan
```

Haben Sie den Port herausgefunden, können Sie diesen in der Firewall öffnen:

```
firewall-cmd --permanent --add-port PORT/tcp
```

#### Zugriff erlauben

Mit folgendem Befehl, erlauben Sie den Zugriff auf die Weboberfläche von cups. Der Befehl setzt automatisch die nötige Konfiguration in /etc/cups/cupsd.conf:

```
cupsctl --remote-admin --remote-any
```

# Drucker Installation

#### Treiber Installation

1. Installieren Sie auf dem Server **hplip**
2. Nun können Sie die Software **hp-setup** verwenden.

<p class="callout warning">Die Firewall blockiert leider die automatische Erkennung des HP-Tools. Aus diesem Grund können Sie die Firewall temporär deaktivieren:  
  
systemctl stop firewalld  
  
Nach dem Einrichten, müssen sie die Firewall wieder starten.  
  
systemctl start firewalld</p>

3. Wählen Sie bei der Auswahl der Verbindung die Option **1** für Network/Ethernet/Wireless
4. Das Tool sucht nun automatisch und wird den passenden Treiber installieren.

#### Drucker hinzufügen

<p class="callout info">Das Tool hp-setup fügt den Drucker automatisch in cups hinzu. Somit ist keine weitere Massnahme nötig.   
</p>

Der Drucker kann aber auch manuell über die Weboverfläche hinzufügt werden. Öffnen Sie hierzu die Weboberfläche von cups auf Ihrem lokalen Gerät:

[http://ip-adresse-des-serves:631](http://ip-adresse-des-serves:631)

Finden Sie heraus, wo Sie einen neuen Drucker hinzufügen können. Für die Anmeldung benötigen Sie den Benutzername und das Passwort Ihres Servers (root/tbz).

Wählen sie den gefundenen Netzwerkdrucker aus:

![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/pXgimage.png)

Wählen sie einen aussagekräftigen Namen, eine Beschreibung und einen Ort. Aktivieren Sie die Freigabe des Druckers im Netzwerk.

![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/vZCimage.png)

Wählen Sie zum Schluss den passenden Treiber aus:

![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/qdwimage.png)

#### Freigabe konfigurieren

Mit folgendem Befehl aktivieren Sie die Druckerfreigabe in cups.

```
cupsctl --share-printers
```

# Drucker in Windows hinzufügen

Unter Windows kann nun ein Drucker über den cups-Server als IPP (Internet Printing Protocol) Drucker hinzugefügt werden.

Öffnen Sie hierzu den Dialog "Drucker oder Scanner hinzufügen"

![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/PWrimage.png)

Wählen Sie anschliessend die Option "Drucker under Verwendung einer IP-Adresse oder eines Hostnames hinzufügen"

[![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/Yjyimage.png)](https://shelf.iten.io/uploads/images/gallery/2023-01/Yjyimage.png)

Stellen Sie Sicher, dass der Gerätetyp IPP-Gerät ausgewählt ist und fügen Sie Ihren Drucker nach folgendem Schema hinz:

http://<span style="color: rgb(0, 0, 0);"><span style="background-color: rgb(251, 238, 184); color: rgb(230, 126, 35);">ip-adresse</span>:</span>631/printers/<span style="background-color: rgb(191, 237, 210); color: rgb(22, 145, 121);">druckername</span>

Ersetzen Sie die farbigen Teile mit Ihren eigenen Angaben.

![image.png](https://shelf.iten.io/uploads/images/gallery/2023-01/scaled-1680-/hGZimage.png)

Bestätigen Sie mit weiter und Testen Sie, ob Sie drucken können.

# Auftrag Testing

Erstellen Sie für den Printserver saubere und dokumentierte Tests. Jede lernende Person erstellt und dokumentiert einen eigenen Test. Diese Tests werden am Ende in einem Dokument zusammengeführt. Helfen Sie sich gegenseitig, falls Sie nicht weiterkommen.

#### Ablauf

1. Besprechen Sie als erstes in der Gruppe, welche Tests möglich sind. Verteilen Sie dann die Tests innerhalb der Gruppe. Identifizieren Sie die Testfälle anhand des Auftrags.
2. Erstellen Sie saubere Testbedingungen. Schreiben Sie auf, bevor Sie mit dem Test beginnen, was der Test prüft, wie der Test genau ausgefûhrt wird, welches Resultat erwartet wird und welches Resultat Sie erhalten.
3. Führen Sie den Test durch. Dokumentieren Sie Ihren Test. Verwenden Sie jede Möglichkeit einen Vorgang zu dokumentieren. Foto, Screenshot, Video, Logauszüge.

Verwenden Sie das Dokument [Anleitung zum Testen von Systemen und Objekten für Berufsschulen.docx](https://shelf.iten.io/attachments/3) als Hilfestellung und Vorlage für Ihren Test. Es beschreibt ausführlich, wie ein Test aufgebaut ist und was die Test-Dokumentation enthalten muss.

#### Abgabe

Sobald Sie mit dem Dokument fertig sind, können Sie dieses in Teams hochladen und die Lehrperson informieren. Die Lehrperson kommt dann vorbei und bespricht mit Ihnen den Auftrag Drucker-Server und das Testing.