In diesem Artikel geht es darum einen Debian Server (Jessie) aufzusetzen, der den typischen Anforderungen gerecht wird. Es gibt genug Anleitungen wie man die Grundinstallation macht, daher wird das hier nicht beschrieben.
Folgende Pakete installieren wenn noch nicht vorhanden
Mit su -
zum root werden und dann aptitude
aufrufen. In aptitude
kann man mit /
eine Suche starten und mit +
das entsprechende Paket auswählen. Sollte die erste Suche noch nicht das richtige Paket aufrufen, kann man mit n
zum nächsten Ergebnis springen und mit N
rückwärts suchen, sollte man etwas übereifrig gewesen sein. Mit g
(wie „go“) und nach Prüfung der Pakete auf der folgenden Seite kann man mit erneutem g
dann das Paket installieren.
Damit ein Benutzer sudo
verwenden darf, muss er in der Gruppe sudo
sein. Dies erledigt man als root mit adduser benny sudo
(wobei „benny“ natürlich mit dem entsprechenden Benutzer zu ersetzen ist). Diese Änderung ist erst ab dem nächsten Login des Benutzers gültig.
Eine kleine Nacharbeit beim openssh-server mit benny@debian-logstash:~$ sudo vi /etc/ssh/sshd_config
Es geht darum die Zeilen für PermitRootLogin
und AuthorizedKeysFile
entsprechend anzupassen.
PermitRootLogin no AuthorizedKeysFile %h/.ssh/authorized_keys
Nach der Änderung (:wq
zum Speichern!) den openssh-server neu laden mit benny@debian-logstash:~$ sudo service ssh reload
.
Da wir für einige Programme Java brauchen, müssen wir es installieren. Debian hat hier Dokumentation dazu.
sudo vi /etc/apt/sources.list
und „contrib“ hinzufügen.
deb http://ftp.de.debian.org/debian/ jessie main contrib deb-src http://ftp.de.debian.org/debian/ jessie main contrib deb http://security.debian.org/ jessie/updates main contrib deb-src http://security.debian.org/ jessie/updates main contrib # jessie-updates, previously known as 'volatile' deb http://ftp.de.debian.org/debian/ jessie-updates main contrib deb-src http://ftp.de.debian.org/debian/ jessie-updates main contrib
Danach mit :wq
abspeichern.
Durch „contrib“ stehen eine Reihe neuer Pakete zur Verfügung, wir suchen java-package
und installieren es.
(java-package hat eine Reihe von Abhängigkeiten.)
Nun brauchen wir von Oracle als nächstes die aktuelle Java-Version, wir suchen hier nach dem aktuellen x64 .tar.gz (derzeit „jdk-8u77-linux-x64.tar.gz“, nicht die RPM Versionen!). Wichtig: Es wird das JDK benötigt, nicht das JRE!
Mit wget
bekommt man die Datei leider nicht, da Oracle der Meinung ist dass man ihre Software besser nicht runterladen sollte. Ein Weg ist diese über einen Client mit grafischer Oberfläche herunterzuladen und dann per scp in die VM zu übertragen. (Oracle, setzen 6.)
Bevor man nun ein DEB Paket bauen kann, müssen leider noch ein paar weitere Abhängikeiten erfüllt werden:
benny@debian-logstash:~$ sudo apt-get install libgl1-mesa-glx libxslt1.1 libxtst6 libxxf86vm1
Nach der Installation dieser Pakete (und ihrer Abhängigkeiten) kann man nun das Java-DEB-Paket erstellen:
benny@debian-logstash:~$ make-jpkg jdk-8u77-linux-x64.tar.gz Creating temporary directory: /tmp/make-jpkg.DSZ3zeak9i Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/javase.sh /usr/share/java-package/jdk-doc.sh /usr/share/java-package/jdk.sh /usr/share/java-package/jre.sh /usr/share/java-package/oracle-jdk-doc.sh /usr/share/java-package/oracle-jdk.sh /usr/share/java-package/oracle-jre.sh Detected Debian build architecture: amd64 Detected Debian GNU type: x86_64-linux-gnu Detected product: Java(TM) Development Kit (JDK) Standard Edition, Version 8 Update 77 Oracle(TM) Is this correct [Y/n]: Checking free diskspace: done. In the next step, the binary file will be extracted. Probably a license agreement will be displayed. Please read this agreement carefully. If you do not agree to the displayed license terms, the package will not be built. Press [Return] to continue: Testing extracted archive... okay. <snip> dpkg-deb: building package `oracle-java8-jdk' in `../oracle-java8-jdk_8u77_amd64.deb'. dpkg-genchanges -b >../oracle-java8-jdk_8u77_amd64.changes dpkg-genchanges: binary-only upload (no source code included) dpkg-source --after-build package dpkg-buildpackage: binary-only upload (no source included) copy oracle-java8-jdk_8u77_amd64.deb into directory /home/benny/ The Debian package has been created in the current directory. You can install the package as root with: dpkg -i oracle-java8-jdk_8u77_amd64.deb Removing temporary directory: done
Der Aufforderung kommen wir natürlich gerne nach:
benny@debian-logstash:~$ sudo dpkg -i oracle-java8-jdk_8u77_amd64.deb benny@debian-logstash:~$ java -version java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Dies braucht man auf einem Server nicht, aber der Vollständigkeit halber möchte ich hier trotzdem kurz dokumentieren wie man die erfolgreich installiert. (Dies wird erst interessant wenn man eine grafische Oberfläche installiert!)
Das Team von VirtualBox / Oracle beschreibt hier unter Punkt 4.2.2.1.7 wie die Installation für Debian zu erfolgen hat.
Mit uname -a
kann man nun überprüfen welche Linux-Kernel-Sources man sich noch installieren muss.
benny@debian-logstash:~$ uname -a Linux debian-logstash 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux
Im nächsten Schritt wird nun die „Guest Additions“-ISO eingelegt (das geht über VirtualBox: Devices → Insert Guest Additions CD Image)
Da wir kein grafisches System benutzen das mit automount-Fähigkeiten daher kommt, müssen wir die CD noch manuell mounten:
sudo mount /dev/sr0 /media/cdrom
Im folgenden Schritt wechselt man in das Verzeichnis und installiert die Guest Additions:
benny@debian-logstash:/media/cdrom$ sudo sh ./VBoxLinuxAdditions.run Verifying archive integrity... All good. Uncompressing VirtualBox 5.0.16 Guest Additions for Linux............ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... Removing existing VirtualBox non-DKMS kernel modules ...done. Building the VirtualBox Guest Additions kernel modules The headers for the current running kernel were not found. If the following module compilation fails then this could be the reason. Building the main Guest Additions module ...done. Building the shared folder support module ...done. Building the OpenGL support module ...done. Doing non-kernel setup of the Guest Additions ...done. Starting the VirtualBox Guest Additions ...done. Installing the Window System drivers Could not find the X.Org or XFree86 Window System, skipping.
Sollte man später einen WindowManager / grafisches System nachinstallieren, müssen die Guest Addtions neu gebaut werden!
In diesem Schritt installieren wir Logstash.
benny@debian-logstash:~$ java -version java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode) benny@debian-logstash:~$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - [sudo] password for benny: OK benny@debian-logstash:~$ echo "deb http://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list deb http://packages.elastic.co/logstash/2.3/debian stable main benny@debian-logstash:~$ sudo apt-get update ... benny@debian-logstash:~$ sudo apt-get install logstash Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: logstash 0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded. Need to get 75.8 MB of archives. After this operation, 133 MB of additional disk space will be used. Get:1 http://packages.elastic.co/logstash/2.3/debian/ stable/main logstash all 1:2.3.2-1 [75.8 MB] Fetched 75.8 MB in 15s (4,841 kB/s) Selecting previously unselected package logstash. (Reading database ... 50870 files and directories currently installed.) Preparing to unpack .../logstash_1%3a2.3.2-1_all.deb ... Unpacking logstash (1:2.3.2-1) ... Processing triggers for systemd (215-17+deb8u4) ... Setting up logstash (1:2.3.2-1) ... Processing triggers for systemd (215-17+deb8u4) ... benny@debian-logstash:~$
WIP