Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Doc/Odysseo » : différence entre les versions
→Scripts et redémarrage automatique : Redémarrage du serveur physique |
|||
| Ligne 161 : | Ligne 161 : | ||
| Redémarrage || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartProd.sh</syntaxhighlight> || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartPreProd.sh</syntaxhighlight> | | Redémarrage || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartProd.sh</syntaxhighlight> || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartPreProd.sh</syntaxhighlight> | ||
|} | |} | ||
==== Redémarrage du serveur physique ==== | |||
Le serveur semble faire des redémarrage intempestif, on rajoute le scripts de démarrage des Tomcats au runlevel local. | |||
<syntaxhighlight lang="bash"> | |||
apt-get update && apt-get install initscripts | |||
</syntaxhighlight> | |||
Puis on édite, en root ({{cmd|su -}}), le fichier {{path|/etc/rc.local}} pour ajouter les commandes de démarrage des serveurs Tomcat (avant le {{cmd|exit 0}}) : | |||
<syntaxhighlight lang="bash"># Production | |||
/bin/bash /home/ajlsm/restartProd.sh | |||
# Recette | |||
/bin/bash /home/ajlsm/restartPreProd.sh | |||
# le code retour doit être 0 -> on se place avant le exit 0 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Version du 8 novembre 2012 à 10:45
Serveur
| Description | Valeur | Commentaire |
|---|---|---|
| Adresse IP | 176.31.229.74 | - |
| Nom de domaine | ns226259.ovh.net | - |
| Tomcat production | 8080 | - |
| Tomcat recette | 9090 | - |
| SSH | 22 | - |
Utilisateurs Unix
| Utilisateur | Description |
|---|---|
| root | gestion du serveur (AJLSM) |
| ajlsm | gestion de l'application (AJLSM) |
| backupAgent | gestion des sauvegardes (AJLSM) |
Serveur de Sauvegarde
Un second serveur existe, pour les sauvegardes :
| Description | Valeur | Commentaire |
|---|---|---|
| Adresse IP | 91.121.108.165 | - |
| Nom de domaine | ks200294.kimsufi.com | - |
Logiciels
| Description | Valeur | Commentaire |
|---|---|---|
| OS | Debian 6.0.6 (squeeze) (amd64) |
|
| Java | 1.6.0_30 | - |
| Tomcat | 6.0.35-1+squeeze2 |
|
| Apache | 2.2.16-6+squeeze4 | issu des dépôts |
| Imagemagick | 6.6.0.4-3 | issu des dépôts |
| Postgresql | 8.4.9-0squeeze1 | issu des dépôts |
Résolutions de problèmes courants
Le serveur Apache Tomcat à parfois du mal à redémarrer, il suffit de le relancer :
# Production
0 6 * * * /bin/bash /home/ajlsm/restartProd.sh
# Recette
0 6 * * * /bin/bash /home/ajlsm/restartPreProd.sh
Points de montage
Aucun.
Liens symboliques
Sauvegardes
Crontab
Expiration des sauvegardes
Tomcat
Suite à des problèmes avec le tomcat (et le serveur étends du Debian), nous décidons de mettre en place plusieurs instance de tomcat pour servir les deux applications (prod et pre-prod).
Localisation des serveur
| Description | Production | Recettage |
|---|---|---|
| Emplacement | "$AJLSM_HOME"/server/tomcat6-prod | "$AJLSM_HOME"/server/tomcat6-pre-prod |
| Commande | tomcat6-instance-create /home/ajlsm/server/tomcat6-prod
|
tomcat6-instance-create -p 9090 -c 9005 /home/ajlsm/server/tomcat6-pre-prod
|
Ports d'écoutes
| Type de Port | Production | Recettage |
|---|---|---|
| arrêt | 8005 | 9005 |
| écoute (connecteur HTTP) | 8080 | 9090 |
| redirection (connecteur HTTP) | 8443 | 9443 |
| écoute (connecteur AJP/1.3) | 8009 | 9009 |
| redirection (connecteur AJP/1.3) | 8443 | 9443 |
Liens vers l'application
| Production | Recettage |
|---|---|
ln -s webapps/current-pleade server/tomcat6-prod/webapps/odysseo
|
ln -s webapps/current-pleade-pprod server/tomcat6-pre-prod/webapps/odysseo_pprod
|
Configuration du serveur : server.xml
| Production | Recettage |
|---|---|
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443"
emptySessionPath="true"
/>
|
<Connector port="9009" protocol="AJP/1.3"
redirectPort="9443"
emptySessionPath="true"
/>
|
Allocation de mémoire
Scripts et redémarrage automatique
| Description | Production | Recettage |
|---|---|---|
| Script | #!/bin/bash
"$AJLSM_HOME"/server/tomcat6-prod/bin/shutdown.sh
rm -rf "$AJLSM_HOME"/server/tomcat6-prod/temp/*
rm -rf "$AJLSM_HOME"/server/tomcat6-prod/work/*
"$AJLSM_HOME"/server/tomcat6-prod/bin/startup.sh
|
#!/bin/bash
"$AJLSM_HOME"/server/tomcat6-pre-prod/bin/shutdown.sh
rm -rf "$AJLSM_HOME"/server/tomcat6-pre-prod/temp/*
rm -rf "$AJLSM_HOME"/server/tomcat6-pre-prod/work/*
"$AJLSM_HOME"/server/tomcat6-pre-prod/bin/startup.sh
|
| Redémarrage | "$AJLSM_HOME"/restartProd.sh
|
"$AJLSM_HOME"/restartPreProd.sh
|
Redémarrage du serveur physique
Le serveur semble faire des redémarrage intempestif, on rajoute le scripts de démarrage des Tomcats au runlevel local.
apt-get update && apt-get install initscripts
Puis on édite, en root (su -), le fichier /etc/rc.local pour ajouter les commandes de démarrage des serveurs Tomcat (avant le exit 0) :
# Production
/bin/bash /home/ajlsm/restartProd.sh
# Recette
/bin/bash /home/ajlsm/restartPreProd.sh
# le code retour doit être 0 -> on se place avant le exit 0
cp restartProd.sh restartPreProd.sh
perl -i -p -e 's/-prod/-pre-prod/g' restartPreProd.sh
chmod u+x ./restartPr*
Apache
De façon à séparer autant que possible les deux applications, on va configurer les deux applications sur des ports différents.
| Description | Production | Recettage |
|---|---|---|
| Port d'écoute | 80 | 90 |
Port d'écoute
L'application de pré-prod étant configurer pour travailler avec le port 90, il faut préciser à httpd d'écouter celui-ci. Pour cela, on va éditer le fichier /etc/apache2/ports.conf :
NameVirtualHost *:90
Listen 90
Production
<VirtualHost *:80>
Servername odysseo.generiques.org
ServerAlias odysseo.ajlsm.com odysseo.org odysseo.net odysseo.com
Alias /robots.txt /home/odysseo/pleade/robots.txt
Alias /aj_ap/ /home/odysseo/php/
Alias /aj_ap_pprod/ /home/odysseo/php_pprod/
Proxypass /pprod/ !
ProxyPass /awstats/ !
ProxyPass /awstatsclasses !
ProxyPass /awstatsicons !
ProxyPass /awstatscss !
ProxyPass /robots.txt !
ProxyPass /munin !
ProxyPass /cacti !
ProxyPass /aj_ap/ !
ProxyPass /aj_ap_pprod/ !
#ProxyPass /tzav/ ajp://localhost:8009/odysseo_tzav/
#ProxyPassReverse /tzav/ ajp://localhost:8009/odysseo_tzav/
# Redirection vers l'application de recette/pré-prod
RedirectPermanent /pprod/ http://odysseo.org:90/pprod/
ProxyPass / ajp://localhost:8009/odysseo/
ProxyPassReverse / ajp://localhost:8009/odysseo/
ErrorLog ${APACHE_LOG_DIR}/error-prod.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-prod.log combined
</VirtualHost>
Pré-production
<VirtualHost *:90>
Servername odysseo.generiques.org
ServerAlias odysseo.ajlsm.com odysseo.org odysseo.net odysseo.com
Alias /robots.txt /home/odysseo/pleade/robots.txt
Alias /aj_ap/ /home/odysseo/php/
Alias /aj_ap_pprod/ /home/odysseo/php_pprod/
ProxyPass /awstats/ !
ProxyPass /awstatsclasses !
ProxyPass /awstatsicons !
ProxyPass /awstatscss !
ProxyPass /robots.txt !
ProxyPass /munin !
ProxyPass /cacti !
ProxyPass /aj_ap/ !
ProxyPass /aj_ap_pprod/ !
#ProxyPass /tzav/ ajp://localhost:9009/odysseo_tzav/
#ProxyPassReverse /tzav/ ajp://localhost:9009/odysseo_tzav/
<Location /pprod>
AuthType Basic
AuthName "Entrez vos identifiants"
AuthUserFile /home/odysseo/.htpasswd_pprod
AuthGroupFile /dev/null
Require valid-user
</Location>
ProxyPass /pprod/ ajp://localhost:9009/odysseo_pprod/
ProxyPassReverse /pprod/ ajp://localhost:9009/odysseo_pprod/
ErrorLog ${APACHE_LOG_DIR}/error-pre-prod.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-pre-prod.log combined
</VirtualHost>
Application Pleade
Emplacement
L'utilisateur responsable des applications est ajlsm, le dossier de travail est donc /home/ajlsm :
├── datadir
├── datadir_postgres
│ └── main
├── datadir_pprod
├── Downloads
├── server
│ ├── tomcat6-pre-prod
│ └── tomcat6-prod
├── shell-scripts
│ ├── backup
│ ├── httpd-maintenance
│ └── logs
└── webapps
├── current-pleade -> pleade-20101006
├── current-pleade-pprod -> pleade_pprod-20101006
├── pleade-20101006
├── pleade_pprod-20101006
└── test_pages
Utilisateurs Pleade
Paramètres spéciaux
Production : $HOME/webapps/current-pleade/WEB-INF/properties/pleade-admin.properties
pleade.url-interne=http://localhost:8080/odysseo
pleade.public-url=http://odysseo.org
pleade.static-content=/home/odysseo/pages
pleade.theme-dir=context://theme
pleade.sdx-data-dir=file:///home/ajlsm/datadir
pleade.sdx-database=POSTGRESQL:pleade3
pleade.sdx-ead-repository=POSTGRESQL:pleade3
pleade.sdx-eac-repository=POSTGRESQL:pleade3
pleade.log-file-directory=context://WEB-INF/logs
pleade.zones=zone-ip-local:127\.0\.0\.1
pleade.eadeac.fs-pdf=/home/odysseo/images/pdf/
pleade.ead-docs-dir=file:/home/odysseo/ead/
pleade.cdc-src=context://module-eadeac/conf/cdc/cdc.xml
pleade.img-server.imagemagick-exe=/usr/bin/convert
pleade.img-server.racines=/home/odysseo/images/jpeg/:/home/odysseo/images/jpeg/partitions/:/home/odysseo/images/jpeg/periodiques/:/home/odysseo/images/jpeg/photos/:/home/odysseo/images/jpeg/archives/
pleade.images.preparees=/home/odysseo/images-preparees/
pleade.images.preparees.copier=true
pleade.images.filigrane=
pleade.filigrane-gravity=
pleade.nom-fichier-pas-filigrane=nowatermark
pleade.zones-pas-filigrane=
pleade.taille-mini-filigrane=150x150
Recette : HOME/webapps/current-pleade-pprod/WEB-INF/properties/pleade-admin.properties
pleade.url-interne=http://localhost:9090/odysseo_pprod
pleade.public-url=http://odysseo.org/pprod/
pleade.static-content=/home/odysseo/pages_pprod
pleade.theme-dir=context://theme
pleade.sdx-data-dir=file:/home/ajlsm/datadir_pprod
pleade.sdx-database=POSTGRESQL:pleade3
pleade.sdx-ead-repository=POSTGRESQL:pleade3
pleade.sdx-eac-repository=POSTGRESQL:pleade3
pleade.log-file-directory=context://WEB-INF/logs
pleade.zones=zone-ip-local:127\.0\.0\.1
pleade.eadeac.fs-pdf=/home/odysseo/images/pdf/
pleade.ead-docs-dir=file:/home/odysseo/ead_pprod/
pleade.cdc-src=context://module-eadeac/conf/cdc/cdc.xml
pleade.img-server.imagemagick-exe=/usr/bin/convert
pleade.img-server.racines=/home/odysseo/images/jpeg/:/home/odysseo/images/jpeg/partitions/:/home/odysseo/images/jpeg/periodiques/:/home/odysseo/images/jpeg/photos/:/home/odysseo/images/jpeg/archives/
pleade.images.preparees=/home/odysseo/images-preparees/
pleade.images.preparees.copier=true
pleade.images.filigrane=
pleade.filigrane-gravity=
pleade.nom-fichier-pas-filigrane=nowatermark
pleade.zones-pas-filigrane=
pleade.taille-mini-filigrane=150x150