SERVEUR DE SITE WEBS : Webs1(maître) - Webs2 (esclave)

De Wiki_DR13
Aller à : navigation, rechercher

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. Core.png 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.

File important.png 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 :

File important.png 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

https://extranet.dr13.cnrs.fr/stats/nomdu labo