Benutzer-Werkzeuge

Webseiten-Werkzeuge


debian-server

Debian Server aufsetzen

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.

Typische Pakete mit aptitude nachinstallieren

Folgende Pakete installieren wenn noch nicht vorhanden

  • openssh-server
  • sudo
  • screen
  • vim

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.

sudo

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.

openssh-server

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.

Java (Oracle) installieren

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)

VirtualBox Guest Additions (für Server mit GUI!)

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.

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install make gcc
    • Der vorherige Befehl installiert noch eine ganze Menge zusätzliches Zeug mit

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
  • sudo apt-get install linux-headers-3.16.0.4-amd64
    • Der vorherige Befehl installiert noch einige weitere Pakete mit

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!

Logstash installieren

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

debian-server.txt · Zuletzt geändert: 2016/05/01 15:06 von benny