pátek 7. října 2011

CentOS a MS AD doména

V případě, že používáme linuxové servery ve windows prostředí, obvykle chceme jednotnou správu uživatelů. Pro připojení linuxu (ale například i MacOS) do MS AD domény existuje nástroj likewise, který je ve své open edici zdarma.

Instalace pro 64bit CentOS6 je jednoduchá:
cd /tmp
wget http://www.beyondtrust.com/Technical-Support/Downloads/files/PBISO/6.0/8398/LikewiseOpen-6.0.0.8398-linux-x86_64-rpm.sh
chmod +x LikewiseOpen-6.0.0.8398-linux-x86_64-rpm.sh
sudo ./LikewiseOpen-6.0.0.8398-linux-x86_64-rpm.sh
Po instalaci je třeba vypnout SELinux, neb tento není LikeWise podporován, což provedeme editací /etc/sysconfig/selinux a nastavením politiky na disabled.

Následně jen připojíme stroj k doméně pomocí příkazu:
sudo /opt/likewise/bin/domainjoin-cli

Do linuxu se pak přihlašujeme pomocí DOMENA/Uzivatel . Pokud nás zadávání doménového názvu před login jménem obtěžuje :
sudo /opt/likewise/bin/lwconfig AssumeDefaultDomain true

Můžeme dále nastavit různé parametry v "registru" likewise - např. shell:
sudo /opt/likewise/bin/lwregshell
\> cd HKEY_THIS_MACHINE\Services\lsass\Parameters\Providers\ActiveDirectory 
HKEY_THIS_MACHINE\Services\lsass\Parameters\Providers\ActiveDirectory> set_value LoginShellTemplate /bin/bash
quit 
Nastavení sudoers pro skupinu doménových administrátorů pak vypadá takto:
%PDSLAB\\domain^admins ALL=(ALL) ALL

úterý 13. září 2011

Oracle Java na Ubuntu

V předchozím článku jsem popisoval postup instalace Oracle Java pro linuxové distribuce založené na RedHat. V případě populární distribuce Ubuntu je sice možné nainstalovat Oracle javu přímo z repozitářů partner, ale tento repozitář obsahuje k dnešnímu dni pouze Oracle Java 6 update 26, což je velmi nepovedená verze Javy. Existuje i celá řada dalších důvodů, proč je třeba instalovat konkrétní verzi Javy "ručně".

Jelikož je celý postup instalace obdobný s instalací Javy na RedHat systémech, omezíme se pouze na odlišnosti:
  • Pro distribuce založené na DEB balíčcích je vhodnou verzí Javy "self extracting installer" a nikoliv balíček s RPM.
  • Po spuštění instalátoru Javy (staženého shell scriptu) se nám Java nainstaluje do podadresáře v aktuálním adresáři. Je tedy nutné celou "rozbalenou" Javu přesunout do standardní lokace. V případě Ubuntu 11.04 je jí lokace /usr/lib/jvm. Vhodné je vyrobit symbolický link ~default odkazující na aktuální námi používanou Javu.
  • Je třeba nezapomenout na správné nastavení JAVA_HOME. Toto se provádí opět editací /etc/profile 
  • Nastavení defaultní Javy se provede obdobným sledem příkazů jako u  distribucí založených na RHEL, jen je třeba použít správné cesty a místo příkazu alternatives použít update-alternatives.
# java runtime
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/default/jre/bin/java 30000
# java Web Start
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/default/jre/bin/javaws 30000
# javac (JDK)
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/default/bin/javac 30000
# jar (JDK)
sudo update-alternatives --install /usr/bin/jar jar /usr/loib/jvm/default/bin/jar 30000 
# 32bit plugin (pozor na zmenu nazvu aliasu u Ubuntu)
sudo update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/default/jre/lib/i386/libnpjp2.so 30000

Oracle Java na CentOS/RedHat/SL 6

Standardní distribucí Javy pro operační systémy založené na RedHat Linuxu bývá OpenJDK . Ačkoliv je tato implementace Javy jednou z nejkvalitnějších open-source implementací Javy, existují situace, kdy je třeba instalovat implementaci Javy od ORACLE.Na výběr máme JRE a JDK. Pro běžné použití plně postačuje verze JRE, verzi JDK použijeme pouze v případě, že chceme v Javě vyvíjet vlastní aplikace, nebo v případě některých aplikačních serverů jako je GlassFish. V tomto článku, určeném pro naprosté začátečníky (nebo líné administrátory :-) ) si ukážeme postup jak ORACLE Javu správně nainstalovat a nakonfigurovat. Instalovat budeme 64bit Javu na 64bit systém, nicméně postup zde uvedený bude pro 32bitové prostředí obdobný. Používá vůbec ještě někdo 32bit Linux na serverech :-) ?

Předpoklady pro úspěšnou instalaci:
  • funkční internetové připojení spolu s nainstalovaným balíkem wget
  • uživatel povolený v sudoerrs

Nejprve provedeme kontrolu nainstalované Javy na našem systému:
java -version
Pokud  nemáme javu nainstalovanou či korektně nakonfigurovanou :
-bash: java: příkaz nenalezen

Pokud máme OpenJDK javu:
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.9) (rhel-1.36.b17.el6_0-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

Pokud máme GNU GCJ javu:
java version "1.5.0"
gij (GNU libgcj) version 4.4.4 20100726 (Red Hat 4.4.4-13)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Stáhneme JRE verzi javy od Oracle do tempu. Budeme stahovat verzi 6 update 27 RPM pro 64bit linux:
cd /tmp
wget http://download.oracle.com/otn-pub/java/jdk/6u27-b07/jre-6u27-linux-x64-rpm.bin -O jre.bin
Pro JDK použijeme :
cd /tmp
wget http://download.oracle.com/otn-pub/java/jdk/6u27-b07/jdk-6u27-linux-x64-rpm.bin -O jdk.bin

Nainstalujeme Javu a smažeme pomocné soubory:
chmod +x jre.bin
sudo ./jre.bin
sudo rm -f /tmp/jre*
Pro JDK použijeme:
chmod +x jdk.bin
sudo ./jdk.bin
sudo rm -f /tmp/jdk*

Java by se nám měla nainstalovat do adresáře /usr/java/jdk<verze> či /usr/java/jre<verze>. Současně se vytvoří symbolické odkazy /usr/java/default a /usr/java/latest.

Nastavíme ORACLE Javu v systému alternatives:
Systém alternatives slouží v linuxu k pohodlné správě vícero verzí a "alternativ" k daným programům. Pro nastavení Oracle Javy jako defaultní Javy musíme nejprve tuto Javu zaregistrovat a pak následně vybrat. Registraci klíčových komponent provedeme v případě JRE následující sekvencí příkazů:
# nastaveni java
sudo alternatives --install /usr/bin/java java /usr/java/default/bin/java 30000
# nastaveni mozilla pluginu (java applety)
sudo alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so.x86_64 /usr/java/default/lib/amd64/libnpjp2.so 30000
# nastaveni javaws
sudo alternatives --install /usr/bin/javaws javaws /usr/java/default/bin/javaws 30000
V případě JDK verze:
# nastaveni java
sudo alternatives --install /usr/bin/java java /usr/java/default/jre/bin/java 30000
# nastaveni mozilla pluginu (java applety)
sudo alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so.x86_64 /usr/java/default/jre/lib/amd64/libnpjp2.so 30000
# nastaveni javaws
sudo alternatives --install /usr/bin/javaws javaws /usr/java/default/jre/bin/javaws 30000
# nastaveni javac kompilatoru
sudo alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 30000
# nastaveni jar
sudo alternatives --install /usr/bin/jar jar /usr/java/default/bin/jar 30000 
Ve výše uvedených příkladech předpokládáme použití 64bit operačního systému,  64bit Javy a 64bit prohlížeče. Pro podporu Java appletů v rámci 32bit prohlížeče je nutné nainstalovat 32bit javu. Registrace pluginu se pak provádí následujícím způsobem:
sudo alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/lib/i386/libnpjp2.so 30000
Případně pro Java JDK:
sudo alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/jre/lib/i386/libnpjp2.so 30000 
Nastavíme a vybereme zvolenou alternativu:
# java runtime
sudo alternatives --config java
# java web start
sudo alternatives --config javaws
# 64bit plugin
sudo alternatives --config libjavaplugin.so.x86_64
# 32bit plugin (pouze pro 32bit platformu)
sudo alternatives --config libjavaplugin.so
# pro JDK - jar
sudo alternatives --config jar
# pro JDK - javac
sudo alternatives --config javac
Zkontrolujeme, zda je vše správně nastavené:
java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)
javaws | grep Web
Java(TM) Web Start 1.6.0_27
Poslední věcí, která zbývá nastavit je JAVA_HOME:
Tato systémové proměnná má směřovat do adresáře s instalací Javy. Můžeme ji nastavit buď pro konkrétního uživatele (editací .bash_profile v domovském adresáři), nebo lépe přímo editací /etc/profile pro všechny uživatele ...
sudo su -c 'echo "export JAVA_HOME=/usr/java/default" >> /etc/profile'