Java Updatestrategie in großen Netzwerken

Wie viele andere Administratoren stand auch ich vor dem Problem, dass meine Kollegen und Mitarbeiter an ihren PCs Java benötigen – und am besten immer die aktuellste Version.

Die zwei bekanntesten Anleitungen für die Verteilung von Java und entsprechenden Updates per GPO gibt es hier:

Das Program Adminomat gibt für eine Jahreslizenz von 10 Euro und kann mittels der angegebenen Anleitung einfach angewendet werden.

Ich wollte jedoch einen noch einfacheren Weg ohne verteilte Installation.

Lösung:

Ich installiere Java in ein Netzlaufwerk an eine zentrale Stelle auf allen Arbeitsplätzen. Auf den Plätzen wird dann die %JAVA_HOME% Variable auf dieses Verzeichnis gesetzt und die Java-Programme  werden anschließend automatisch aus diesem Verzeichnis heraus gestartet.

Auf diese Weise aktualisiere ich an einem Client manuell die Java-Installation und dank der Aktualisierung im Netzlaufwerk ist diese damit simultan für alle anderen Mitarbeiter präsent.

Es mag zahlreiche Anwendungsfälle geben, für die diese Lösung nicht funktioniert – für meine Anforderungen im Unternehmen war das jedoch DIE Lösung.

Gerne können die Probleme und Erfahrungen im Kommentarfeld ausgetauscht werden.

Viel Erfolg!

X2Go auf Ubuntu 16.04 installieren und einrichten

X2Go auf Ubuntu 16.04 installieren und einrichten:

In unserem Unternehmen setzen wir einheitlich auf eine Windows-Umgebung. Um dennoch in den Genuss eines Linux-Desktops zu kommen (ich benötige es für meine Web-Entwicklungsumgebung), brauchte ich ein brauchbares Pendant zum

Windows Remote Desktop Server  (RDP bzw. Terminal Server).

Meine Wahl fiel dabei auf X2GOVorteil: Einfach zu installierender Windowsclient. Relativ einfache Einrichtung.

Die Vorgehensweise:

  • Ein taufrisch installiertes Ubuntu 16.04 mit Unity Desktop
  • Vortaussetzungen für Verwendung X2Go-Schaffen
    • Installieren des SSH-Servers
    • Deinstallieren von Unity
  • Installieren der Desktop-Umgebung Lubuntu
  • Installieren von X2Go

Voraussetzungen für X2Go auf Ubuntu schaffen

    • SSH-Server installieren
20-07-_2016_09-53-39
Einrichtung ssh für Zugriff von x2go auf ubuntu

Starten Sie ein Terminal und geben Sie den folgenden Befehl ein

sudo apt install ssh
    • Unity deinstallieren

Verbinden Sie sich per SSH mit dem Linux (zum Beispiel mit Putty) oder gehen Sie mit STRG+Alt+F1 auf die Linux-Konsol und geben Sie die folgenden Befehle ein

sudo apt remove unity
sudo apt-get dist-upgrade
    • Lubuntu (LXDE) installieren
sudo apt install lubuntu-desktop
sudo apt-get dist-upgrade
# Entfernen von Unity Dateien - wird in meinem Fall nicht mehr benötigt.
sudo apt autoremove

X2Go installieren

    • apt source list aktualisieren

Editieren Sie mit einem Editor Ihrer Wahl (ich bevorzuge  ‚vim‘ ) die /etc/apt/sources.list

sudo vim /etc/apt/sources.list

Fügen Sie für Ubuntu 16.04 die folgenden Zeilen am Ende hinzu (hier ermittelt)

deb http://ppa.launchpad.net/x2go/stable/ubuntu xenial main
deb-src http://ppa.launchpad.net/x2go/stable/ubuntu xenial main

Anschließend aktualisieren Sie die Paketlisten und installieren x2go

sudo add-apt-repository ppa:x2go/stable
sudo apt update
sudo apt install software-properties-common
sudo apt install x2goserver x2goserver-xsession x2golxdebindings x2godesktopsharing
sudo reboot
    • Installieren des X2Go Clients
20-07-_2016_10-26-12
NIcht vergessen: Sitzungsart konfigurieren!
20-07-_2016_10-25-57
voila – Der Remote Desktop mittels X2Go

Laden sie sich den X2Go-Client hier herunter und installieren Sie ihn auf Ihrem Client.
Anschließend richten Sie sich eine Verbindung ein und verbinden sich mit Ihrem Linux-PC. Achten Sie darauf, bei Sitzungsart LXDE einzustellen.

Damit ist die Einrichtung abgeschlossen und Sie können Ihr Linux als Terminal Server nutzen.

Num-Taste beim Start von Windows aktivieren

Die NUM-Taste - oft ein Hindernis beim morgendlichen Eintippen von Zahlen im Passwort
Die NUM-Taste – oft ein Hindernis beim morgendlichen Eintippen von Zahlen im Passwort

Viele steigen derzeit von Windows 7 oder 8 auf auf Windows 10 um, solange das Upgrade durch Microsoft noch kostenlos angeboten wird.

Die Migration klappt weitgehend hervorragend, die Änderungen stecken zumeist in den Details.
Wer vorher Windows beigebracht hat, dass die Num-Taste beim Anmelden immer gedrückt ist, wird feststellen, dass diese Einstellung verloren gegangen ist.

Um die NUM-Taste auch beim Start zu aktivieren, müsst ihr eine Änderung in der Registry vornehmen.

Dafür biete ich Euch zwei Möglichkeiten an:

1. Ändern der NUM-Tasten-Einstellung mittels Registrierungs-Editor

Dafür drückt ihr die Tastenkombination Windows-Taste + ‚R‘ und gebt den Befehl „regedit“ ein und drückt ok.

10-06-_2016_09-44-23

Anschließend begebt ihr Euch zum folgenden Schlüssel:

HKEY_USERS\.DEFAULT\Control Panel\Keyboard

und ändert den Wert der Variabel „InitialKyboardIndicators“ von „2147483648“ in „2147483650“.

10-06-_2016_09-46-03

2. Änderung der Standard-NUM-Tasten-Einstellung mittels Konsolenbefehl

Begebt Euch in ein DOS-Fenster (Eingabeaufforderung) mit Windows-Taste + ‚X‘

10-06-_2016_10-01-54

Mit dem folgenden Befehl findet ihr den Wert für die verantwortliche Variable heraus:

 :: Auslesen des Registryschlüssels
REG QUERY "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v "InitialKeyboardIndicators"

Die Ausgabe könnte so aussehen:

10-06-_2016_10-12-54

Der Standardwert für diese Variable ist:
2147483648

Dies ist das Ergebnis einer Bitfolge mit Einstellungsparametern. Aus diesem Grund könnt ihr die NUM-Taste auch dauerhaft aktivieren, indem ihr den bestehenden Wert um 2 erhöht auf

2147483650

Mit dem folgenden Befehl könnt ihr den Wert der Variable ändern:

 :: Ändern des Registryschlüssels
REG add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v "InitialKeyboardIndicators" /t REG_SZ /d 2147483650

10-06-_2016_10-48-39

mit dem nächsten Neustart sollte sich der Wert geändert haben.

Exchange E-Mails zu externen Empfängern versenden

Für den Versand von E-Mails zu externen Domains/Empfängern ist eine Anpassung des Exchange 2010 Empfangsconectors via Powershell erforderlich.

Niemand hat gerne ein offenes Relay (Versand von E-Mails ohne Authentifizierung)  in seinem Netzwerk. In manchen Fällen ist es jedoch erforderlich, dass E-Mails von Systemen über den Exchange per SMTP nach außen (außerhalb der eigenen Domain) zugestellt werden. Dies erfolgt über die Konfiguration und Anpassung eines separaten Empfangsconnectors.

Mit einem einfachen Befehl lässt sich diese Einstellung anpassen und ein Empfangsconnector dafür freischalten.
ACHTUNG – Microsoft hat bei den Powershellbefehlen die Berechtigungen eingedeutscht. So auch beim Befehl ADDPermisssion und funktioniert so nur bei deutschen Exchange-Servern. Im untenstehenden Beispiel wird der Befehl für den „External Relay“ Connector abgesetzt.

# Von der Exchange Powershellkonsole ausführen:
Get-ReceiveConnector "EXTERNAL RELAY" | Add-ADPermission -User "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

Anschließend erhaltet ihr aus Ausgabe eine Meldung in der folgenden Art:

[PS] C:\Windows\system32>Get-ReceiveConnector "EXTERNAL RELAY" | Add-ADPermission -User "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG"
-ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

Identity User Deny Inherited
——– —- —- ———
EXCHANGE\EXTERNAL RELAY NT-AUTORITÄT\ANON… False False

Achtung!

Damit macht ihr aus Eurem Exchangeserver ein „Offenes Relay“. Achtet aus diesem Grund darauf, dass der E-Mail-Server nur für gewünschte Clients/Teilnehmer im Netzwerk erreichbar ist, damit ihr nicht versehentlich zu einem Spamversender werdet.

Redmine Git Hosting Plugin installieren / Ubuntu 14.04 oder höher

Nach der erfolgreicher Installation von Redmine eröffnete sich für mich noch die Anforderung, ein git Repository zur Verfügung zu stellen.
Angelehnt an der originalen Anleitung habe ich die Installation vorgenommen. Ich liste hier die Schritte noch mal ergänzt um ein paar Kleinigkeiten auf.

Deaktiviert Redmine durch stoppen des Apache2

sudo service apache2 stop

1. Installiert mit apt die Voraussetzungen

sudo apt-get install build-essential libssh2-1 libssh2-1-dev cmake libgpg-error-dev pkg-config

2. Klont die Plugins

Als nächstes das  Bootsrap Kit klonen

cd /var/www/redmine/plugins
sudo git clone https://github.com/jbox-web/redmine_bootstrap_kit.git
cd redmine_bootstrap_kit/
sudo git checkout 0.2.4

Als nächstes das Git Hosting Plugin klonen:

# Then Redmine Git Hosting plugin
cd /var/www/redmine/plugins
sudo git clone https://github.com/jbox-web/redmine_git_hosting.git
cd redmine_git_hosting/
sudo git checkout 1.2.0

Installiere gems und migriere Datenbank

cd /var/www/redmine/plugins
sudo bundle install --without development test

Als nächstes überprüft ihr das Gemfile des git_hosting Plugins, um sicherzustellen, dass dort der Bereich „Redmine 3.x“ aktiv und der Bereich „Redmine 2.x“ auskommentiert ist.

git_hosting Plugin Gemfile check Version of Redmine
git_hosting Plugin Gemfile check Version of Redmine

Jetzt könnt ihr die Bundle ausführen

sudo bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=redmine_git_hosting

SSL-Umgebung für Git einrichten

su - redmine
mkdir ssh_keys
ssh-keygen -N '' -f ssh_keys/redmine_gitolite_admin_id_rsa

Anschließend noch die Einrichtung des Zertifikats im Apache2

sudo mkdir -p /var/www/redmine/ssh_keys
sudo ssh-keygen -N '' -f /var/www/redmine/ssh_keys/redmine_gitolite_admin_id_rsa

Als nächstes stehen die folgenden Schritte an:

  • Legt einen Nutzer an namens „git“
  • Kopiert das Zertifikat in das git Home Verzeichnis:
     sudo cp ../redmine/ssh_keys/redmine_gitolite_admin_id_rsa.pub ../git/ 
  • Loggt Euch als dieser User mit su – git ein

su - git
# Erweitert die Path-Variable
PATH="$PATH:$HOME/bin"

mkdir $HOME/bin
source $HOME/.profile
git clone git://github.com/sitaramc/gitolite
gitolite/install -to $HOME/bin
gitolite setup -pk redmine_gitolite_admin_id_rsa.pub

Editiert die .gitolite.rc, so dass sie Hooks akzeptiert

su - git
vi (or nano) .gitolite.rc
## Look for GIT_CONFIG_KEYS and make it look like :
GIT_CONFIG_KEYS  =>  '.*',
## Enable local code directory
LOCAL_CODE       =>  "$ENV{HOME}/local"

Als nächstes meldet wieder ab und erzeugt folgende Datei

sudo vim /etc/sudoers.d/redmine

mit folgendem Inhalt:

Defaults:redmine !requiretty
redmine ALL=(git) NOPASSWD:ALL

und ändert die Berechtigung der Datei

sudo chmod 440 /etc/sudoers.d/redmine

Fügt den Gitolite Server zur Liste der bekannten Hosts hinzu:

su - redmine
ssh -i ssh_keys/redmine_gitolite_admin_id_rsa git@localhost info

Anschließend solltet ihre Meldung ähnlich der folgenden erhalten:10-05-_2016_12-48-04

Als letztes installiert ihr noch den RUBY-Interpreter, falls er nicht schon auf dem System installiert ist.

sudo apt-get install ruby

An dieser Stelle habt ihr Euer Redmine Git Hosting Plugin erfolgreich installiert!
Jetzt aktiviert noch in den Einstellungen das Xitolite bei den Repositories.
10-05-_2016_13-04-45

und installiert Eure Hooks.