Mittwoch, 18. März 2015

Linux - Debian - Wheezy - x64 - Java 8

Java 8 unter Debian Wheezy (7.8.0) x64 installieren

1.Schritt: Downloaden der gewünschten Java-Version von der Oracle-Homepage
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(Licence Agreement akzeptieren, sonst kein Download)
-> Download via Konsole:
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.tar.gz
 
2.Schritt: Datei entpacken
tar zxvf jdk-8u40-linux-x64.tar.gz -C /opt/

3.Schritt: Berechtigung prüfen
/opt/jdk1.8.0_40 muss dem Benutzer "root" gehören, falls das nicht so ist:
chown -R root:root /opt/jdk1.8.0_40
3.1 Optionaler Schritt: Link erstellen
erspart das Umstellen der Konfiguration mit jeder neuen Java-Version,
es muss nur der Link neu gesetzt werden...
ln -s jdk1.8.0_40/ Java-8

4.Schritt: Konfiguration
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_40/bin/java 1065
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_40/bin/javac 1065
4.1 Optionaler Schritt: Konfiguration mit zuvor erstelltem Link
update-alternatives --install /usr/bin/java java /opt/Java-8/bin/java 1065
update-alternatives --install /usr/bin/javac javac /opt/Java-8/bin/javac 1065


5.Schritt: Prüfen
update-alternatives --config java

falls mehrere Java-Versionen installiert sind, bekommt man eine Auswahl, welche Version verwendet werden soll.
die neu installierte Java-Version sollte mit einem Stern markiert sein:

 Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /opt/java-8/bin/java                1065      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/jdk1.7.0/bin/java             1065      manual mode

java -version
Ausgabe sollte sein: java version "1.8.0_40"

6.Schritt: JAVA_HOME setzen
in der Datei /etc/bash.bashrc folgende Zeilen unten einfügen:
### Java Environment ###
export JAVA_HOME=/opt/Java-8


Rechner anschliessend am Besten mal neustarten.

Samstag, 21. Juni 2014

Linux - Debian - Subversion migrieren


Annahme1: Es gibt mehrere Respositories unter dem Pfad /home/svn/repositories/
Annahme2: Am neuen SVN-Server sind die Pfade gleich wie am alten

1.Schritt: exportieren der Repositories
svnadmin dump /home/svn/respositories/myrepos1 > /home/svn/repositories/dumpfile1.dmp
svnadmin dump /home/svn/respositories/myrepos2 > /home/svn/repositories/dumpfile2.dmp
svnadmin dump /home/svn/respositories/myrepos3 > /home/svn/repositories/dumpfile3.dmp
...

2.Schritt: neue Repositories am neuen Server erstellen
siehe z.B.: http://boernie.blogspot.co.at/2014/06/linux-debian-wheezy-subversion-server.html


3.Schritt: dumpfiles vom alten zum neuen Server kopieren
am neuen Server: scp user@alterServer:/home/svn/repositories/*.dmp .

4.Schritt: importieren der Repositories
svnadmin load /home/svn/myrepos1 < dumpfile1.dmp
svnadmin load /home/svn/myrepos2 < dumpfile2.dmp
svnadmin load /home/svn/myrepos3 < dumpfile3.dmp
...

Mittwoch, 18. Juni 2014

Linux - Debian - Wheezy - Subversion Server mit Apache (SSL)

durchgeführt mit: Debian 7.5.0 x64, Apache 2.2.22, Subversion 1.6.17

1.Schritt: SSH-Packages installieren
apt-get install ssh

2.Schritt: Apache2-Packages installieren
apt-get install apache2

3.Schritt: Subversion-Packages installieren
apt-get install subversion libapache2-svn subversion-tools

4.Schritt: Erstellen der SVN-Repositories
mkdir /home/svn
mkdir /home/svn/repositories

svnadmin create --fs-type fsfs /home/svn/repositories/myproject1
svnadmin create --fs-type fsfs /home/svn/repositories/myproject2
...

5.Schritt: Benutzerrechte der Repositories anpassen
chown -R www-data:www-data /home/svn/*
chmod -R 770 /home/svn/*

6.Schritt: Sicherstellen, dass svn unter apache bereits läuft
a2enmod dav
a2enmod dav_svn

7.Schritt: SVN-Benutzer erstellen
htpasswd -c /etc/apache2/svn_myproject1.passwd userA
--> ACHTUNG!!! -c löscht das passwd-file, falls bereits vorhanden
...also nur beim ersten mal verwenden!
htpasswd /etc/apache2/svn_myproject1.passwd userB

htpasswd -c /etc/apache2/svn_myproject2.passwd userA
--> ACHTUNG!!! -c löscht das passwd-file, falls bereits vorhanden...also nur beim ersten mal verwenden!
htpasswd /etc/apache2/svn_myproject2.passwd userC

...

8.Schritt: Erzeugen neuer Webfolder für SVN
einfügen der folgenden Codezeilen in: /etc/apache2/mods-available/dav_svn.conf
<Location /svn_myproject1>
   DAV svn
   SVNPath /home/svn/repositories/myproject1
   AuthType Basic
   AuthName "Subversion Repository Project1"
   AuthUserFile /etc/apache2/svn_myproject1.passwd
   Require valid-user
   # SSLRequireSSL <-- kann bei bedarf einkommentiert werden wenn SSL installiert ist 
</Location>

<Location /svn_myproject2>
   DAV svn
   SVNPath /home/svn/repositories/myproject2
   AuthType Basic
   AuthName "Subversion Repository Project2"
   AuthUserFile /etc/apache2/svn_myproject2.passwd
   Require valid-user
   # SSLRequireSSL <-- kann bei bedarf einkommentiert werden wenn SSL installiert ist 
</Location>

9.Schritt: Apache neu starten
/etc/init.d/apache2 restart
testen unter http:///myproject1

10. SSL hinzufügen
apt-get install openssl ssl-cert

11. Zertifikat generieren
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.key
-> im Zertifikatserstellungsdialog die gewünschten Infos eintragen

12. Berechtigungen für Zertifikat ändern
chmod 600 /etc/apache2/apache.pem 
chmod 600 /etc/apache2/apache.key

13. SSL in der config aktivieren
editieren von /etc/apache2/mods-available/dav_svn.conf und einkommentieren von:
SSLRequireSSL

14.Schritt: neue Seite für SSL hinzufügen
cd /etc/apache2/sites-available/
cp default-ssl ssl
a2ensite ssl
a2enmod ssl

editieren von /etc/apache2/sites-available/ssl

ändern von:
SSLCertificateFile /etc/apache2/apache.pem 
SSLCertificateKeyFile /etc/apache2/apache.key

15.Schritt: Apache neustarten
/etc/init.d/apache2 restart
testen unter https:///myproject1_site

Samstag, 14. Juni 2014

Linux - VIM - Farbschema aktivieren

Linux - VIM - Farbschema aktivieren


1.) Neue Datei erstellen
~/.vimrc

2.) .vimrc bearbeiten
syntax on
colorscheme default
 
welche anderen farbschemata ausser "default" es noch gibt, kann man unter
/usr/share/vim/vim71/colors betrachten.

Donnerstag, 12. Juni 2014

Linux - Debian - Wheezy - x64 - Java 7

Java 7 unter Debian Wheezy (7.5.0) x64 installieren

1.Schritt: Downloaden der gewünschten Java-Version von der Oracle-Homepage
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
(Licence Agreement akzeptieren, sonst kein Download)
-> Download via Konsole:
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u60-b19/jdk-7u60-linux-x64.tar.gz
 
2.Schritt: Datei entpacken
tar zxvf jdk-7u60-linux-x64.tar.gz -C /usr/lib/jvm/java-7

3.Schritt: Berechtigung prüfen
/usr/lib/jvm/java-7 muss dem Benutzer "root" gehören, falls das nicht so ist:
chown -R root:root /usr/lib/jvm/java-7

4.Schritt: Konfiguration
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7/bin/java 1065
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7/bin/javac 1065

5.Schritt: Prüfen
update-alternatives --config java

falls mehrere Java-Versionen installiert sind, bekommt man eine Auswahl, welche Version verwendet werden soll.
die neu installierte Java-Version sollte mit einem Stern markiert sein:

 Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7/bin/java             1065      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/jdk1.7.0/bin/java             1065      manual mode

java -version
Ausgabe sollte sein: java version "1.7.0_60"

6.Schritt: JAVA_HOME setzen
in der Datei /etc/bash.bashrc folgende Zeilen unten einfügen:
### Java Environment ###
export JAVA_HOME=/usr/lib/jvm/java-7


Rechner anschliessend am Besten mal neustarten.

Linux - Debian - Wheezy - x64 - Oracle 11gR2 XE

durchgeführt mit:
- Debian 7.5.0 x64, java 1.7.0_60 x64, Oracle-XE 11.2.0 x64
- Debian 7.8.0 x64, java 1.8.0_40 x64, Oracle-XE 11.2.0 x64

1.) Java installieren
(zb. siehe http://boernie.blogspot.co.at/2014/06/linux-debian-wheezy-java-7.html)

2.) folgende Anleitung so genau wie möglich befolgen
- Java-Installation überspringen, erst ab "Installing Oracle 11g R2 Express Edition":
http://blog.whitehorses.nl/2014/03/18/installing-java-oracle-11g-r2-express-edition-and-sql-developer-on-ubuntu-64-bit/

- ein Punkt muss anders gemacht werden, da sonst die Datenbank nicht startet und "ORACLE not available" bzw. "MEMORY_TARGET not supported on this system" Fehler auftauchen:

statt
- Create the file /etc/rc2.d/S01shm_load....

muss folgendes durchgeführt werden
* erzeugen eines neuen startupskript-files:
vim /etc/init.d/oracle-shm_load

* einfügen von:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          oracle-shm_load
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
case $1 in
 start) 
  mkdir /var/lock/subsys 2>/dev/null
  touch /var/lock/subsys/listener
  rm /dev/shm 2>/dev/null
  mkdir /dev/shm 2>/dev/null
  mount -t tmpfs shmfs -o size=2048m /dev/shm 
  ;;
 stop) 
  ;;
 restart)
  ;;
esac
exit 0


-> wobei "2048m" mit der tatsächlichen Gesamtgrösse des RAM-Speichers der Maschine ersetzt werden muss

* schreibrechte setzen und file initialisieren.
chmod 755 oracle-shm_load
update-rc.d oracle-shm_load defaults

das skript "oracle-shm_load" muss unbedingt VOR dem oracle-xe skript starten.
per default werden beide im runlevel 2 (/etc/rc2.d) gestartet.
es laufen beide (ohne weitere konfiguration) mit der gleichen priorität (bei mir S17), deshalb die namenswahl mit oracle-shm_load, das ist alphabetisch vor oracle-xe und wird somit auch zuerst gestartet bei gleichem runlevel und gleicher priorität :)
kann sicher auch eleganter gelöst werden, ist mir aber nicht gelungen...


3.) Parameter einstellen
vim /etc/bash.bashrc
unten einfügen:
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

4.) neustarten des systems.



5.) diverses
Oracle-Apex Zugriff:
http://ip-des-datenbankservers:eingestellter-port/apex/apex_admin
als admin einloggen (default: admin/admin)
wenn passwort vergessen wurde:
cd /u01/app/oracle/product/11.2.0/xe/apex
sqlplus / as sysdba
SQL> @apxchpwd.sql
Quelle: http://docs.oracle.com/cd/E37097_01/install.42/e35123/otn_install.htm#HTMIG503

Apex-Zugriff von extern:
sqlplus / as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit



Password Expiration:
Im default profile der Oracle Database 11g, ist der parameter PASSWORD_LIFE_TIME auf 180 (Tage) gesetzt. dh. bei jedem neu angelegten user läuft nach 180 tagen das passwort ab!!!
sqlplus / as sysdba
SQL> select profile from dba_users where username='xyz';
Ergebnis zb.

PROFILE
------------------------
DEFAULT

nun ändern wir den parameter PASSWORD_LIFE_TIME des profiles 'default' auf unlimitiert!
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
 

Mittwoch, 11. Juni 2014

Linux - Ping multiple IP-Adresses

for i in {1..254} ;do (ping 192.168.0.$i -c 1 -w 5  >/dev/null && echo "192.168.0.$i" &) ;done