Installer jdk

  1. Copier jdkXXX.bin dans usr/local/java
  2. chmod a+x jdkXXX.bin
  3. ./jdkXXX
  4. Modifier le path
    1. PATH=/usr/local/java/jdk1.6.9_02/bin:$PATH
    2. export PATH
    3. JAVA_HOME=/usr ....
    4. export JAVA_HOME
    5. mettres ces lignes dans .bashrc d'un user ou dans etc/environment
    mettre les variables d'environnement dans .bashrc (de /root par exemple)

ubuntu et debian

Les universes ou miroirs sont definis dans : /etc/apt/sources.list

unzip

apt-get -y install unzip

divers

apt-get install build-essential

installer l'éditeur vi

apt-get install vim
Le vi installé par defaut est toujours un peu bizare!

Gestion de l'heure:

apt-get install ntpdate (En général, il est déjà installé)

Mettre a l'heure manuellement

ntpdate ntp.ubuntu.com

Mettre a l'heure tous les jours

créer un fichier /etc/cron.daily/ntpdate contenant:
ce fichier doirt etre executable: chmod 755 /etc/cron.daily/ntpdate

apache +php + mysql

$ sudo apt-get install php5 php5-cli php5-mysql mysql-server

L'apache sous ubuntu est configuré de manière spécifique: voir : http://formation.bearstech.com/trac/wiki/GnuLinuxAdminDebian

apache

# apt-get install apache2

Si un package n'est pas trouvé ...

apt-get install mysql ne marche pas ! faire :
apt-cache search mysql
ou : (Pour avoir des couleurs)
apt-cache search mysql | grep --color=always mysql

java

java n'etant pas gnu, il n'est pas dans les packages de bases.Voila la marche a suivre:
copier jdk-6u2-linux-i586.bin (par exemple) dans un repertoire, se placer dans ce repertoire comme root.
# apt-get install java-package
$ fakeroot make-jpkg jdk-6u2-linux-i586.bin
#dpkg -i jdk-6u2-linux-i586.deb

apt-get ne marche pas pour java, ni pour apache, ni pour sql ...pour les dernieres versions. Ou le miroir de de la dedibox est perimé, ou ca marche pas bien. Apres des jours d'essais de apt-get, je re-essaye à la main, composant par composant!


gesttion du miroir

apt-get install netselect-apt
Selectionne un universe ? $netselect-apt
installer un fichier.deb $dpkg -i

Commandes linux utiles

extraire

tar -xvf xxxxx.tg
gunzip -d xxxx.tx
tar xvf xxxx.tar

Créer un lien symbolique: ln -s /aaa/bbbb/cccc toto <

locate

$ updatedb
$ locate zzz.txt

Chercher

grep -r 'zorg'
find . -name "*" -exec grep -l zorg {} \;

reboot

halt

Mannipuler les fichiers

cp : Permet de copier un fichier dans un répertoire sans toucher à l'original
mv : Renomme ou déplace un fichier dans un nouveau répertoire en changeant éventuellement son nom dans ce répertoire.

gestion des processus

ps -C java
kill -9 PID

Version du kernel:

cat /etc/issue

Commandes vi

:w sauvegarder
:q quitter
:file toto.txt sauvegarder sous toto.txt
:? toto rechercher vers le haut la chaine toto
:/ toto rechercher vers le bas la chaine toto
:s/toto/tata/ remplace toto par tata
6yy copie dans le buffer 6 lines
6dd coupe 6 lines (et les copie dans le buffer)
p colle le buffer

TOMCAT

1 - Copier les archives d'un tomcat, les deployer chez 1 user (/home/toto)
2 - Penser à rendre executable tous les *.sh ($chmod 777 bin/*.sh)
3 - Installer les variables d'environnements TOMCAT_HOME, JAVA_HOME, CATALINA_HOME dans /home/too/.bashrc)
ie:
export JAVA_HOME=/usr/local/java/jdk1.5
(attention: pas de blanc superflu!)
ou créer un fichier startTomcat.sh

4 - Lancemant au demarrage rajouter un fichier dans /etc/init.d par exemple tomcat_toto, contenant les 2 lignes:

Avantage: Le tomcat n'est pas lancé en tant que root, les variables d'environnement qui le concernent (JAVA_HOME , CATALINA_HOME et TOMCAT_HOME) sont définies pour le user toto uniquement.Le user toto definit comme il veut son TOMCAT, et met ce qu'il veut dans les lib commun du tomcat .
Inconvenient : Les jars du tomcat sont dupliquées pour chaque user.

apaches

  1. Voir procedure http://httpd.apache.org/docs/2.2/en/install.html
  2. Connecteurs ajp 13 ou jk http://tomcat.apache.org/connectors-doc/index.html
  3. deploiement ajp 13 http://forum.apachefrance.com/viewtopic.php?p=33197&sid=79f57f2e54b1d24a0a21a9485814c9b1
  4. Tutorial installation apache, tomcat, ...

divers

  1. XAMPP Un package apache + mysql facile à installer www.apachefriends.org/fr/index.html

Deploiement apache et tomcat

Installation apache

Téléchargement $ lynx http://httpd.apache.org/download.cgi
Extraction $ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
Configuration $ ./configure --prefix=PREFIX -enable-module=so
Compilation $ make
Installation $ make install
Personnalisation $ vi PREFIX/conf/httpd.conf
Test $ PREFIX/bin/apachectl -k start

install ajk

telechargement http://tomcat.apache.org/connectors-doc/index.html
Décompression tar -xzvf tomcat-connectors-1.2.19-src.tar.gz
#>cd native
#>./configure --with-apxs=/usr/sbin/apxs (ou apxs2)
NB: le chemin absolu '/usr/sbin/apxs' doit être remplacé par celui correspondant à l'outil apxs d'apache sur votre environnement.
#>make
#>su -c 'make install'

Configuration httpd.conf

LoadModule jk_module libexec/mod_jk.so
#AddModule mod_jk.c
JkWorkersFile /usr/local/bg/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /www.easymcq* worker1
Il n'y a pas de AddModule

Configuration workers.properties

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
root@sd-5829:/home/shubaka/httpd-2.2.4#

Installation de mysql

mysql

$ sudo apt-get install mysql-server

Pour se connecter si il y a un mot de passe

mysql -p

Pour ajouter un nouvel utilisateur

GRANT ALL PRIVILEGES ON *.* TO shubaka@"%" IDENTIFIED BY "shubaka" WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `imc-sffr`.* TO 'imcsffr'@'imu124.infomaniak.ch';

Pour s'y retrouver dans les droits

SHOW GRANTS FOR 'imcsffr'@'imu124.infomaniak.ch';

Pour pouvoir accéder à MySQL depuis un autre ordinateur

Par défaut, MySQL n’écoute que les connexions venant de localhost (127.0.0.1), c’est-à-dire du système sur lequel il est installé. ajoutez la ligne suivante au fichier /etc/mysql/my.cnf dans la partie [mysqld] :
bind-address = 0.0.0.0

Reprendre en compte la config

/etc/init.d/mysql force-reload

Comment redéfinir de force le mot de passe de root ?

Si vous avez oublié votre mot de passe root MySQL, voici une simple astuce qui vous permettra de définir un nouveau mot de passe pour l’utilisateur root :
# /etc/init.d/mysql stop
# mysqld -u mysql --skip-grant
# mysqladmin -u root nouveau_mot_de_passe flush-privileges
# /etc/init.d/mysql restart

php

download depuis www.php.net
apt-get install libxml2-dev
./configure --with-mysql --with-apxs=/www/bin/apxs
make
make install
rajouter dans httpd.conf les lignes:

rajouter le directory apache2/mods-available avec 2 fichiers php5.conf et php5.load

Postfix

Reconfigurer

dpkg-reconfigure postfix

subversion

recuperer les packages par exemple:

ou bien downloader le package,decompresser , respirer, souffler:
Avant de configurer Apache, il faut créer le référentiel SubVersion. Cette création peut être effectuée par la commande svnadmin :

Configurer apache
apache2 doit etre configurer avec l'option:
./configure --prefix=PREFIX -enable-module=so --enable-dav=shared
Dans le fichier de conf, par exemple:

Reverse Proxy

Le plus simple est d'utiliser la commande RewriteRule.

Vérifier que les modules suivants sont activés :

Ensuite dans les VirtualHost active le rewrite et surtout entre le bonne syntaxe. Tu peux forwarder vers n'importe quel IP/port dans ton LAN.

C'est complètement transparent pour le client car c'est apache qui discute avec les autres serveurs web.
Le client n'a pas besoin d'accéder aux autres serveurs. Apache reste en frontal et dispatch: C'est un reverse proxy.

Suptilité sur les virtual host

Un virtualHost se definit avec le tag suivant:

il faut impérativement que "*" definit dans corresponde exactement à la valeur du NameVirtualHost qui est definit quelque part dans un fichier de config d'apache (et oui, sur Ubuntu, il est défini dans le VirtualHost définit par defaut dans sites-enable et dupliqué dans sites-available) .Sinon apparait un étrange message d'erreur :"VirtualHost overlap on port 80, the first has precedence perhaps you need a NameVirtualHost directive" .
Je viens de patauger 2 heures sur ce truc!

Lancement de tomcat au démarrage du serveur

Je fait un script de lancement, que je met par exemple dans le directory du tomcat :/usr/java/apache-tomcat-6.0.14/tomcatStart.sh Ne pas oublier de rendre ce fichier executable!
J'appelle ce script dans le fichier /etc/rc.local en rajoutant la ligne :

les logs systemes