SERVEUR DE SITE WEBS : Webs1(maître) - Webs2 (esclave)
Sommaire
PRINCIPE[modifier]
Cluster de 2 machines, 1 maître et 1 esclave géré par Heartbeat, la réplication du disque /dev/sdb2 qui contient sous /home les sites webs et les bases de données est assurée par DRBD.
En cas d'urgence on peut revenir à un fonctionnement individuel
Les adresses du cluster (140 et 141) sont affectées par Heartbeat à la machine maître par défaut ou à la machine esclave si le maître s'arrête.
Les services httpd mysql postgresql sont gérés par Heartbeat.
Le montage du périphérique virtuel drbd est pris en charge par Heartbeat.
Les modifications apportées à webs1 concernant l'ajout de users ou les mises à jour système sont à reproduire à l'identique sur webs2
Sites http : 193.49.133.140 - 9 sites hébergés, dont la DR.
Extranet (https) : 193.49.133.141 - partie sécurisée : parc auto - appels - administration lettre hebdo - phpMyadmin - statistiques accès aux différents sites.
2 cartes réseau par machine :
- webs1 serveur maître
- - eth0 : 193.49.133.120
- - eth1 : 192.168.10.1
- webs2 serveur esclave
- - eth0 : 193.49.133.204
- - eth1 : 192.168.10.2
Heartbeat : 3 fichiers de config sous /etc/ha.d :
- authkeys (authentification des 2 serveurs - identique sur les 2 machines) :
- auth 1
- 1 crc
- ha.cf : (fichier de conf - peut-être différent sur chaque machine) :
- bcast eth1 # interface réseau dédiée Heartbeat
- baud 19200 # vitesse lien série
- serial /dev/ttyS0 # lien série dédié Heartbeat
- debugfile /var/log/ha-debug
- logfile /var/logha-log
- logfacility local0
- keepalive 2 # intervalle entre chaque battement en secondes
- deadtime 10 # 10 secondes sans réponse et l'esclave prend la place du maitre
- warntime 6 # avertissemet généré dans les logs
- initdead 60 # attente de 60 secondes après démarrage
- udpport 694 # port utilisé par Heartbeat
- node webs1.dr13.cnrs.fr
- node webs2.dr13.cnrs.fr
- auto_failback on # permet la bascule automatique de l'esclave vers le maître lorsque celui-ci est de retour
- haresources (description des ressources à faire gérer par Heartbeat - identique sur les 2 machines)
- webs1.dr13.cnrs.fr 193.49.133.140 193.49.133.141 drbddisk::r0 Filesystem::/dev/drbd0::/home::ext3 httpd mysqld postgresql Filesystem::193.49.133.221:/::/home/extranet/upload::nfs4::rw,nosuid,noexec,nodev MailTo::ssi@dr13.cnrs.fr
indication du maître - adresses du cluster - montage de la partition drbd - services à prendre en charge - montage de la partition nfs4 sur intranet - contact en cas de basculement.
DRBD :
Pas de mise à jour du NOYAU sans tests préalables sur w1 et w2 (machines de tests) :
DRBD inclus un module noyau.
- rpm -ivh kmod-drbd-smp-0.7.25-2.2.6.9_67.0.4.plus.c4.i686.rpm
- Lors de la mise à jour du noyau, si ce module n'est pas inclus dans la mise à jour, drbd ne démarre pas.
- Il faut vérifier si l'ancien module fonctionne toujours avec le nouveau noyau :
- updatedb
- locate drbd
- repérer la ligne /lib/modules/"noyau"/...../block/drbd.ko
- lancer la commande insmod /lib/modules/"noyau"/...../block/drbd.ko - si pas de message, module OK.
On peut alors faire prendre en charge ce module par le nouveau noyau(uname -a) (à faire sur webs1 et webs2):
- copier drbd.ko vers /lib/modules/"nouveau noyau"/kernel/drivers/block/drbd.ko
- lancer la commande depmod
- redémarrer webs1 puis webs2
- /etc/drbd.conf :(identique sur les 2 machines)
- resource r0 {
- protocol C;
- incon-degr-cmd "sbin/halt -f";
- startup {
- wfc-timeout 120;
- degr-wfc-timeout 120; }
- disk {
- on-io-error panic;}
- syncer {
- rate 700000K;
- group 1; }
- on webs1.dr13.cnrs.fr {
- device /dev/drbd0;
- disk /dev/sdb2;
- address 192.168.10.1:7788;
- meta-disk internal; }
- on webs2.dr13.cnrs.fr {
- device /dev/drbd0;
- disk /dev/sdb2;
- address 192.168.10.2:7788;
- meta-disk internal; }
- }
SITE EXTRANET[modifier]
- httpd.conf
- Passage obligatoire en https :
- VirtualHost *:80
- ServerAdmin chicot@dr13.cnrs.fr
- DocumentRoot /home/extranet
- ServerName extranet.dr13.cnrs.fr
- RedirectPermanent / https://extranet.dr13.cnrs.fr
- /VirtualHost
- ssl.conf
/home/extranet racine SSL : nécessite un certificat CNRS
- Location
- SSLRequire ( %{SSL_CLIENT_I_DN_CN} eq "CNRS-Standard" or \
- %{SSL_CLIENT_I_DN_CN} eq "CNRS-Plus" \
- /Location
/home/extranet /pma réservé admins mysql
- Directory /home/extranet/pma
- SSLVerifyClient require
- SSLOptions +FakeBasicAuth
- AllowOverride AuthConfig
- AuthType Basic
- AuthName "PMA"
- AuthUserFile /etc/httpd/conf/pma
- require valid-user
- /Directory
/home/extranet/stats/dr13 nécessite de faire partie la DR :
- location /home/extranet/stats/dr13
- SSLRequire ( %{SSL_CLIENT_S_DN_OU} eq "MOY1300" )
- /Location
/home/extranet/hebdo etre référencé dans /etc/httpd/conf/pw_hebdo_ssl
- Location /home/extranet/hebdo/identification.php
- AllowOverride None
- SSLVerifyClient require
- SSLOptions +FakeBasicAuth
- AuthType Basic
- AuthName "CNRS-Hebdo par certificat"
- AuthUserFile /etc/httpd/conf/pw_hebdo_ssl
- require valid-user
- /Location
SITE WWW SECURISE[modifier]
Permet de tester si la personne détient un certificat CNRS ou non, et de la rediriger, soit vers extranet, soit vers le site de la délégation
- ssl.conf
<VirtualHost 193.49.133.140:443>
DocumentRoot "/home/dr13ssl"
ServerName www.dr13.cnrs.fr:443
SSLVerifyClient optional
</VirtualHost>
exemple de fichier de redirection en php : cnrshebdo.php
SITES LABOS[modifier]
Mise en place d'un nouvel utilisateur
/home/webrmpr
- Propriétaire webrmpr
- Groupe Apache
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webrmpr
- ServerName www.rmpr.cnrs.fr
- DirectoryIndex index.php
- ErrorLog logs/rpm_error_log
- CustomLog logs/rmp_access_log combined
- /VirtualHost
- base mysql : cmppr et rmpr user/pass RMPR/RMPRteam
- user/pass MAJ site: webrmpr/RMPRteam
- nouveau user pass sur webserv : rmpr / Klerect5
/home/webarcheo
- Propriétaire webarcheo
- Groupe Apache
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webarcheo
- ServerName www.archeo-lattes.cnrs.fr
- DirectoryIndex index-accueil.php
- ErrorLog logs/archeo_error_log
- CustomLog logs/archeo_access_log combined
- /VirtualHost
- 6 bases de données :
- annuaire, images, membres, ouvrages, revues et web_archeo
- L'administrateur de ces bases est Archeo, mot de pase HSHUce
- user/pass pour maj du site : webarcheo *éle6L
/home/webifr122 (langlois)
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webifr
- ServerName www.ifr122.cnrs.fr
- DirectoryIndex index.php index.html
- ErrorLog logs/ifr122_error_log
- CustomLog logs/ifr122_access_log combined
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- /Directory
- Directory /home/ifr122/CIBMG1/Ge$TioN/
- AllowOverride AuthConfig
- /Directory
- /VirtualHost
- Bdd : semin-ifr, maj par picard et webifr
- Bdd : crbmg, maj par picard
- Site : maj par webifr
/home/webisis
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webisis
- ServerName isis.ifr122.cnrs.fr
- ErrorLog logs/isis_error_log
- CustomLog logs/isis_access_log combined
- /VirtualHos>
- Site : maj par webifr
/home/webdr13
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webdr13
- ServerName www.dr13.cnrs.fr
- DirectoryIndex index.php index.htm
- Directory "/home/webdr13"
- AllowOverride All
- /Directory
- Directory "/home/webdr13/xlab6"
- Options Indexes
- /Directory
- ErrorLog logs/webdr13_error_log
- CustomLog logs/webdr13_access_log combined
- /VirtualHost
- user/pass pour maj du site : webdr13 1pr0Bab!e
/home/webecotron
- user/pass pour maj du site : webecotron Un6p!dE
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webecotron
- ServerName www.ecotron.cnrs.fr
- DirectoryIndex index.htm
- ErrorLog logs/ecotron_error_log
- CustomLog logs/ecotron_access_log combined
- /VirtualHost
/home/webjtr2004
- Site sans mise à jour
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webjtr2004
- ServerName jtr2004.dr13.cnrs.fr
- DirectoryIndex index.html
- ErrorLog logs/jtr2004_error_log
- CustomLog logs/jtr2004_access_log combined
- /VirtualHost
/home/webram (langlois)
- VirtualHost *:80
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webram
- ServerName www.ram.cnrs.fr
- DirectoryIndex index.php
- ErrorLog logs/ram_error_log
- CustomLog logs/ram_access_log combined
- /VirtualHost
- Bdd : ram, maj par picard
- Site : maj par webram
/home/gdr2476 (Emilie le Floc'h)
- user/pass pour maj du site : webgdr2476 Ktal0G?
- <VirtualHost *:80>
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webgdr2476/spip
- ServerName gdr2476.dr13.cnrs.fr
- DirectoryIndex index.php
- ErrorLog logs/webgdr2476_error_log
- CustomLog logs/webgdr2476_access_log combined
- </VirtualHost>
Bdd gdr2476 user/pass : gdr2476 DE10cace
- <VirtualHost *:80>
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/web5186
- ServerName shakespeare.mythology.dr13.cnrs.fr
- DirectoryIndex index.php
- ErrorLog logs/web5186_error_log
- CustomLog logs/web5186_access_log combined
- </VirtualHost>
- Bdd shakespeare_mythology user/pass : web5186 6b0u!!ettE
- user/pass pour maj du site : webg5186 Ktal0G?
- <VirtualHost *:80>
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webumr5247
- ServerName maops.ibmm.cnrs.fr
- DirectoryIndex accueil.php
- ErrorLog logs/webumr5247_error_log
- CustomLog logs/webumr5247_access_log combined
- </VirtualHost>
- Bdd maops user/pass : umr5247 applau10R
- user/pass pour maj du site : webumr5247 1pr0baB!e
- <VirtualHost *:80>
- ServerAdmin ssi@dr13.cnrs.fr
- DocumentRoot /home/webfr3105
- ServerName www.fed-chimiebalard.cnrs.fr
- DirectoryIndex index.html
- ErrorLog logs/webfr3105_error_log
- CustomLog logs/webfr3105_access_log combined
- </VirtualHost>
- Bdd ? user/pass : fr3105 applau10R
- user/pass pour maj du site : webfr3105 1pr0baB!e
SECURITE[modifier]
Les machines qui tentent de se connecter en SSH sont bloquées par SSHDFILTER (par la création d'une règle iptables) si 3 tentatives erronées avec un compte existant ou une seule tentative si compte inconnu .
SAUVEGARDE[modifier]
Quotidienne sur bigboss\cloclone\webs (lui même sauvegardé par Tina) :
- Backup bdd lettre hebdo tous les jours à 23h54
- Backup des bdd mysql tous les jours à 0h
- Sauvegarde arborescence web tous les jours à 0h15
AWSTATS[modifier]
/usr/local/awstats
fichiers de config sous : /usr/local/awstats/wwwroot/cgi-bin
données sous : /var/lib/awstats
rapports html générés chaque nuit sous : /home/extranet/stats