vendredi 16 mai 2014

Installer APACHE TOMCAT sur un serveur Linux noyau REDHAT 64 bits

Installation d'un serveur WEB

# yum install httpd
# chkconfig httpd on
# /etc/init.d/httpd start
# netstat -tulpn | grep :80

On peut vérifier que l'on accède bien à apache avec le browser

vérifier la version : # httpd -V


Editer le fichier
/etc/sysconfig/httpd

modifier la ligne #HTTPD=/usr/sbin/httpd.worker par HTTPD=/usr/sbin/httpd.worker

Redémarrer le serveur wen en tapant : $ /etc/init.d/httpd restart

Vérifier les process en tapant :
$ ps -ef | grep httpd

Installation du JDK 64 Bits (jdk-7u<version>-linux-x64.tar.gz)

1) Télécharger le fichier et le déposer dans un espace public
2) Décompresser le fichier
    % tar zxvf jdk-7u<version>-linux-x64.tar.gz

Un répertoire jdk1.7.0_<version> sera crée contenant l'ensemble du JDK

3) supprimer le fichier (jdk-7u<version>-linux-x64.tar.gz) qui ne sert plus à rien

4) Créer un nouveau répertoire
mkdir /usr/java

5) déplacer Java
mv ./jdk1.7.0_<version> /usr/java (pour déplacer le repertoire jdk1.7.0_<version> dans le nouveau répertoire)
ln -s /usr/java/jdk1.7.0_<version> /usr/java/java (pour ne pas avoir à se rappeler le nom exact du JDK)
chown -R root:root /usr/java (pour que tout les fichiers du JDK appartiennent à root)
6)
Pour vérifier que tout marche bien il suffit de taper:
/usr/java/java/bin/java -version



1) Télécharger le fichier
2) Décompresser le fichier
tar zxvf apache-tomcat-6.0.37.tar.gz
3)
éditer votre .bash_profile et rajouterla ligne
(vim .bash_profile)
JAVA_HOME=/usr/java/java; export JAVA_HOME
TOMCAT_HOME=.... ; export TOMCAT_HOME

4)
éditer votre /etc/profile (comme ca tout le monde en profite)
JAVA_HOME=/usr/java/java; export JAVA_HOME
TOMCAT_HOME=.... ; export TOMCAT_HOME

5)
éditer le script $TOMCAT_HOME/bin/catalina.sh et rajouter la ligne
JAVA_HOME=/usr/java/java
CATALINA_HOME=apache_tomcat...
CATALINA_BASE=apache_tomcat...

6)
Pour tester que Tomcat fonctionne on tape:

$TOMCAT_HOME/bin/startup.sh
en esperant qu'aucun port utilisés par les parametres de base ne soit déjà utilisé:

8005: port d'administration du serveur Tomcat
8080: port du serveur HTTP
8008: port du connecteur pour apache

pour changer un des ces ports il suffit d'éditer le fichier $TOMCAT_ROOT\conf\server.xml et de changer les valeurs correspondates

on peut également vérifier que ca fonctionne via une requete HTTP
curl -i http://localhost:8080/ | less

Pour éteindre tomcat, il suffit de faire

$TOMCAT_HOME/bin/shutdown.sh

Installer ORACLE 11G sur un serveur Linux Noyau REDHAT (exemple un Linux Oracle)


1. Télécharger les fichiers d'installation de la version oracle et les dézipper avec unzip


2. Exécuter la commande :

yum install oracle-rdbms-server-11gR2-preinstall

et suivre les instructions pour installer les packages nécessaires

3. editer le fichier /etc/selinux/config

Modifier la ligne comme suit :
SELINUX=disabled

4. Exécuter les commandes :

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
passwd oracle
rentrer le mot de passe

5. Exécuter la commande :

xhost +<machine-name>



6. Toujours sur le user oracle lancer l'installation :
En étant loggé sur le user oracle via l'interface graphique

Se rendre dans le répertoire ou les fichiers d'installs sont décompressés et taper:
./runInstaller (en cas de problème de permissions, taper chmod -R 777 database)


7. ajouter au fichier /home/oracle/.bash_profile les lignes suivantes :
sans oublier de modifier ORACLE_HOSTNAME avec le nom du poste actuel en configuration (ex: nomdemonserveur.mondomaine.org)

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=nomduposte.domaine; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID

PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

8.Se logguer en tant que root et éxécuter :


/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.2.0/dbhome_1/root.sh


9 Editer le fichier

/etc/oratab

Remplacer le N par Y sur l'instance créée

10. Editer dbstart and dbshut scripts based in  /u01/app/oracle/product/11.2.0/dbhome_1/bin/ and change first entry from

ORACLE_HOME_LISTNER=$1
  to
ORACLE_HOME_LISTNER=${1:-$ORACLE_HOME}
  to avoid error "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener" on the init or start!



11. Dans le listener.oracd et le tnsnames.ora il faut enlever le suffixe du domaine (mondomaine.org)
Le listener.ora doit contenir :

SID_LIST_LISTENER =
(SID_LIST =
               (GLOBAL_DBNAME = [Nom du SID de la base par exemple :ORCL])
                (ORACLE_HOME = [Chemin en dur du $ORACLE_HOME par exemple /u01/app/oracle/product/11.2.0/dbhome_1])
                (SID_NAME = [Nom du SID de la base par exemple : ORCL])

Exemple de listener fonctionnel:


# listener.ora Network Configuration File: u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = ORCL)
)
 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = nomdemonserveur)(PORT = 1521))
    )
 )

ADR_BASE_LISTENER = /u01/app/oracle


12.Création d'un script de démarrage automatique de la base et de l'instance:

loggé en tant que root:
#cd /etc/init.d
#touch dbora
#vim dbora

Coller ce texte dedans:

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.


ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
ORACLE_UNQNAME=orcl



if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi
case "$1" in

    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
        su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
        su - $ORA_OWNER -c "$ORA_HOME/bin/sqlplus /nolog"<<!
connect SYS/motdepasse AS SYSDBA
startup
exit
!



       ;;

    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
        su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"

       ;;

esac

quitter par :wq!
rendre le sript exécutable et en auto démarrage:
#chmod u+x /etc/init.d/dbora
#chmod 750 /etc/init.d/dbora
#chgrp dba /etc/init.d/dbora
#chkconfig --add dbora
#chkconfig –-level 2345 dbora on

Vérifier si le script est bon :

./dbora start




emca -config dbcontrol db

Quelques aides:

Pour démarrer le moteur de la base :

$ORACLE_HOME/bin/dbstart

Démarrer la console web

$ORACLE_HOME/bin/emctl start dbconsole

Vérifier que le listener fonctionne

$ORACLE_HOME/bin/lsnrctl

LSNRCTL>  stop
LSNRCTL> start (On doit voir affiché l’instance)
LSNRCTL> exit

Montage de la base

$ORACLE_HOME/bin/sqlplus /nolog

SQL>  connect SYS/[Mot de passe] AS SYSDBA
SQL> startup open
SQL> connect SYS/[Mot de passe]@[SID de la base] AS SYSDBA

si le prompt répond ‘Connected’ c’est que tout est OK !

SQL> exit



Différentes commandes utiles

1. Arrêter une instance :

$ORACLE_HOME/bin/sqlplus /nolog

connect SYS/Mot_De_Passe@SID_de_la_base as SYSDBA

shutdown IMMEDIATE;

2. Vérifier une variable d'environnement

echo NOM_DE_LA_VARIABLE

3. modifier une variable d'environnement temporairement

NOM_DE_LA_VARIABLE=valeur

4. Voir l'ensemble des variables d'environnement :

env

5. Se connecter avec un client ORACLE distant (windows ou linux)

Editer le fichier tnsnames.ora et rajouter les lignes

nom_du_SID=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=nom_de_la_machine_sans_extention_du_domaine)
      (PORT=port_ecoute_instance)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=SID_sur_le_serveur)
    )
  )