Kontakt
Einfach Suchbegriff eingeben und Enter drücken
Abbrechen

Am häufigsten gestellte Fragen

Frequently Asked Questions

Neueste FAQ-Einträge

SSH-Schlüsselpaar erstellen

Diese Anleitung bezieht sich auf unixoide Betriebssysteme wie zB. Linux und OS X (macOS)

Im ersten Schritt wechseln wir in das Home-Verzeichnis des eigenen Users und rufen den SSH-Schlüsselgenerator so auf.

Die Optionen -t rsa und -b 4096 sorgen dafür, das ein Schlüsselpaar mit der RSA und 4096 bit erstellt wird.

$ cd ~
$ ssh-keygen -t rsa -b 4096

Bevor das eigentliche Schlüsselpaar generiert wird, fragt das Programm ein paar Dinge ab.

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/yourname/.ssh/id_rsa):

Hier kann man einen anderen Speicherort und Dateinamen für sein Schlüsselpaar angeben. Dies ist in den meisten Fällen nicht notwenig.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Nun kann man sich entscheiden, ob man sein Schlüsselpaar mit einem zusätzlichen Passwort sichern möchte. Dieses muss bei Verwendung des Schlüsselpaares eingegeben werden.

Wenn man kein Passwort haben möchte, gibt man nichts ein und drückt zweimal [Enter].

Your identification has been saved in /Users/yourname/.ssh/id_rsa.

Your public key has been saved in /Users/yourname/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:IF5HF7KJHhn5qnP23nQGngPXAlgELeFvrtGtP5UQaXo
yourname@computername.local

The key's randomart image is:
+---[RSA 4096]----+
|  oB= **o.       |
| .+=.oEB+o       |
|..+.*+Boo        |
|.. =.=oo         |
|  . = .oS        |
|   o o.o         |
|  .   + o        |
|... .o o         |
|oo ..oo          |
+----[SHA256]——+

Das Schlüsselpaaar wurde erstellt und im eigenen Home-Verzeichnis in den Ordner .ssh abgelegt.

Das Paar besteht aus einem öffentlichen (id_rsa.pub) und einem privaten Schlüssel (id_rsa).

WICHTIG: Derprivate Teil des Schlüsselpaares sollte niemals in fremde Hände gelangen. Ein Verschicken, z.B. in einer E-mail kann dazu führen, dass Ihre Schlüssel abgefangen und für illegale Aktivitäten benutzt wird.

$ls ~/.ssh
id_rsa		id_rsa.pub

SSH-Schlüsselpaar auf einen Server übertragen

Jetzt muss der öffentliche Schlüssel nur noch auf den Server:

cat ~/.ssh/id_rsa.pub | ssh vpro0000@vpro0000.proserver.punkt.de "cat >>  ~/.ssh/authorized_keys"

Dies funktioniert natürlich erst wenn man bereits Zugang zu einem Server hat. Also wenn man z.B. einen zweiten Schlüssel dort ablegen will.

Das initiale Passwort für den root-Benutzer der Datenbank befindet sich in der Datei /usr/local/etc/mysql-password auf dem proServer. Die Datei kann nur von root gelesen werden.

sudo cat /usr/local/etc/mysql-password

Mit diesem Login können beliebige eigene Benutzer und Datenbanken angelegt werden.

Ein Service wird aktiviert, indem die entsprechende Zeile in der Datei /etc/rc.conf hinzugefügt wird:

solr_enable=YES

Damit ist ebenfalls garanitiert, dass der Service bei einem Neustart des Systems gestartet wird.

Mit dem service-Kommando kann der Service gestarted und gestoppt werden:

sudo service solr start
sudo service solr stop
sudo service solr restart

Die verfügbaren Services lassen sich mit

service -l

ausgeben.

Login als Benutzer vproXXXX:

ssh vproXXXX@vproXXXX.proserver.punkt.de

Installation der TYPO3-Distribution über composer als Benutzer proserver:

sudo -u proserver composer create-project typo3/cms-base-distribution /var/www/typo3

Nginx-Konfiguration für TYPO3 CMS einbinden:

sudo sed -i conf 's/welcome/typo3/' /usr/local/etc/nginx/vhosts/ssl.conf
sudo service nginx reload

Schließlich den Installationsprozess über die URL des Servers aufrufen.

Das geforderte MySQL/MariaDB-root-Passwort wird ausgegeben mit:

sudo cat /usr/local/etc/mysql-password

Die primäre Konfigurationsdatei ist /usr/local/etc/php.ini. Diese wird bei der Erstprovisionierung des proServers vorbelegt und zieht zur Konfiguration von php-Modulen zusätzlich die Dateien im Verzeichnis /usr/local/etc/php/ an, und zwar in der Reihenfolge der Dateinamen. Durch geeignete Wahl der Dateinamen in diesem Verzeichnis kann also eine Reihenfolge erzwungen werden. Auch hier wird bei der Erstprovisionierung eine Reihe von Standardwerten vorbelegt.

Um eigene Konfigurationen von Systemvorgaben unterscheiden zu können, empfehlen wir eigene Konfigurationswerte z.B. in /usr/local/etc/php/zzz-99-override.ini abzulegen.

Die ebenfalls vorhandenen Konfigdateien php.ini-production und php.ini-development werden vom php-Paket bei der Installation angelegt und enthalten Beispielwerte zur Ansicht; eine technische Funktion haben diese Dateien nicht.

Derzeit liefern wir alle proServer mit den Einstellungen für die Let's Encrypt Staging-Server aus, da für die Domain punkt.de das Kontingent an Zertifikaten für Subdomains aufgebraucht ist.

Um die Let's Encrypt Live-Server zu verwenden muss in /usr/local/etc/dehydrated/config die CA auf https://acme-v01.api.letsencrypt.org/directory geändert werden.

Die gewünschten Domains werden in die Datei domains.txt eingetragen. Dabei müssen alle Domains, für die ein einzelnes (Multidomain-)Zertifikat beantragt werden soll, in eine Zeile geschrieben und nur durch ein Leerzeichen getrennt werden. Wildcardzertifikate sind derzeit noch nicht möglich.

$ cat /var/www/letsencrypt/domains.txt

example.org www.example.org
example.com www.example.com wiki.example.com

Um die Beantragung eines SSL Zertifikats mit Let's Encrypt durchzuführen muss der DNS Eintrag dieser Domain bereits auf den proServer zeigen.

Anschließend muss noch ein Cronjob aktiviert werden:

$ sudo crontab -u root -e

# Dehydrated Cronjob
PATH=/bin:/usr/bin:/usr/local/bin
@weekly /usr/local/bin/dehydrated -c -g

Jetzt müssen nur noch die Zertifikate beantragt und die entsprechenden Domains in die Webserver Konfiguration eingetragen werden:

$ sudo dehydrated -c

Fertig. Die neu generierten Zertifikate befinden sich nun unter dem Pfad /usr/local/etc/ssl/certs/<domainname>/

Weitere Informationen zu dem von uns eingesetzten Tool gib es auf Github oder auf letsencrypt.org.

Im Auslieferungszustand ist der Mailversand auf den proServern deaktiviert um ein unbewusstes spammen zu verhindern.

Um diesen zu aktivieren bedarf es folgender 4 Schritte:

1.: sendmail in der /etc/rc.conf nicht ausschalten.

$ sudo vim /etc/rc.conf

vorher:

# Disable Sendmail by default
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

nachher:

# Disable Sendmail by default
# sendmail_enable="NONE"
# sendmail_submit_enable="NO"
# sendmail_outbound_enable="NO"
# sendmail_msp_queue_enable="NO"

2.: sendmail Konfiguration vorbereiten

In der Datei /etc/mail/aliases sollte mindestens die Zeile

# root:	me@my.domain

aktiviert und mit einer erreichbaren Emailadresse versehen werden. An diese Adresse werden regelmäßig Informationen zu dem System inkl. evtl fehlgeschlagene cronjobs und ähnliches gesendet.

Ein möglicher Eintrag sieht anschließend zB so aus:

root:	proServer@example.com

3.: sendmail Konfiguration bauen

$ cd /etc/mail
$ sudo make
$ sudo make install

4.: sendmail starten

$ sudo service sendmail start

Folgende Meldung ist normal und bedeutet lediglich, dass sendmail nur versendet und nicht empfängt.

Cannot 'start' sendmail. Set sendmail_enable to YES in /etc/rc.conf or use 'onerestart' instead of 'restart'.

Fertig. Der Versand ist nun konfiguriert und aktiviert.

Anmerkung: Der Versand an den Hostnamen des proServers funktioniert nicht, da das System sich selbst für diesen zuständig sieht. Daher ist es wichtig, das ein Hostname gewählt wurde der nicht z.B. der zu betreibenden Webseite entspricht. Nach einem Wechsel des Hostnamen muss nochmals Schritt 3 durchgeführt werden.

!!! Wir empfehlen dringend anstelle von FTP SFTP zu verwenden. Für SFTP sind keine Änderungen an der Konfig notwendig, da dieses Protokoll via SSH und dem bereits hinterlegten Key funktioniert !!!

In der Datei /etc/rc.conf muss folgende Zeile ergänzt werden:

inetd_enable="YES"

Anschließend muss noch in der Konfigdatei des inetd FTP aktiviert werden. Dazu editiert man folgende Zeilen in /etc/inetd.conf :

Vorher:
#ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l
#ftp     stream  tcp6    nowait  root    /usr/libexec/ftpd       ftpd -l

Nachher:
ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -ll
ftp     stream  tcp6    nowait  root    /usr/libexec/ftpd       ftpd -ll

Nun kann man inetd starten:

sudo service inetd start

Abschließend kann man sich nun einen User anlegen der zwingend ein Passwort benötigt um per FTP auf den Server zugreifen zu können.

sudo adduser <username>

Um auch auf Daten außerhalb des Homeverzeichnisses zugreifen zu können muss der User noch in diese entsprechende Gruppe des jeweiligen Besitzers in der /etc/groups eingetragen werden.

Bei offenen Fragen können Sie sich gerne an technik@punkt.de wenden. Wir beantworten Ihnen gerne alle Fragen und werden die FAQ entsprechend kontinuierlich ergänzen. 

Vorweg: Den Hostname eines Systems auf eine Domain zu setzen, die auf dem System verwendet wird - beispielsweise als Webseite - kann zu Problemen beim Mailversand führen. Daher empfehlen wir, den voreingestellten generischen Hostnamen zu behalten.

Als root ändert der folgende Befehl den Hostnamen:

hostname <new hostname>

Für eine permanente Änderung, editiere die Datei /etc/rc.conf.d/hostname und füge die folgende Zeile hinzu:
 

hostname="new.host.name"