Creation site internet pour les entreprises. Site vitrine, CMS, site e-commerce.
Administration de site internet et intégration d'applications Open Source.
Prestations de services informatiques et creation site web à Bordeaux.
How To

Optimisation Apache (mod_deflate, mod_expires, mod_headers)

Envoyer Imprimer

Optimisation du temps de chargement des pages en utilisant un fichier .htaccess

Cette méthode nous permet de configurer chaque site individuellement, contrairement à la méthode utilisant le fichier de configuration du serveur Apache. Ici nous pouvons héberger plusieurs sites sans pour autant utiliser les modules Deflate, Expires et Headers pour tous.
Contenu du fichier .htaccess :
webuser@servername:~/www$ cat .htaccess
<IfModule mod_deflate.c> <IfModule mod_deflate.c>
    # MOD_DEFLATE COMPRESSION
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/javascript application/x-httpd-php
    #Pour les navigateurs incompatibles
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    #ne pas mettre en cache si ces fichiers le sont déjà
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
    #les proxies doivent donner le bon contenu
    Header append Vary User-Agent env=!dont-vary
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 7 day"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType text/html "access plus 7 days"
    ExpiresByType text/xml "access plus 7 days"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType text/plain "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/bmp "access plus 1 month"
    ExpiresByType image/ico "access plus 1 years"
    ExpiresByType image/icon "access plus 1 years"
    ExpiresByType image/x-icon "access plus 1 years"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>

<IfModule mod_headers.c>
    <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
        Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
    <FilesMatch "\\.(css)$">
        Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
    <FilesMatch "\\.(js)$">
        Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
    <filesMatch "\\.(html|htm)$">
        Header set Cache-Control "max-age=604800, public"
    </FilesMatch>
    # Disable caching for scripts and other dynamic files
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
        Header unset Cache-Control
    </FilesMatch>
</IfModule>


Mise à jour le Dimanche, 11 Juillet 2010 03:04
 

Mac OS X Snow Leopard 64 bits

Envoyer Imprimer

Introduction :

Par défaut et pour des raisons de compatibilité des applications de votre système, OS X 10.6 boot avec le noyau 32 bits.

Capacité et valeur par défaut selon les modèles :


model specifications
Seul Xserve démarre par défaut en 64 bits.

Etat actuel du système :

Ouvrez l'application 'Informations Système' et référez vous à la section 'Logiciel' pour connaitre le type de boot actuellement utilisé par défaut.

info système
Noyau et extensions 64 bits désactivés.

Démarrage exceptionnel en mode 64 bits :

Il suffit de maintenir les touches '6' et '4' enfoncées lors du boot pour activé le noyau 64 bits ; Cette méthode n'est pas définitive et ne permet donc pas de booter à chaque fois en 64 bits sans intervention de votre part (maintient des touches '6' et '4').

Connaitre la version de son BIOS :

Si votre mac dispose du 64-bit EFI alors vous pouvez booter en mode pleinement 64 bits. Notez que Apple désactive le noyau 64 bits des Macbooks même ceux avec le 64-bit EFI.
Ainsi pour vérifiez la version installé sur votre Mac, ouvrez l'application Terminal et tapez la commande suivante :
ioreg -l -p IODeviceTree | grep firmware-abi

terminal
La réponse sera soit "EFI32" soit "EFI64".

Démarrer en 64 bits par défaut :

Voici comment sélectionner de manière définitive le noyau à utiliser à chaque démarrage du système : Il suffit de modifier la valeur de la clé 'Kernel Flags' dans le fichier /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Recherchez les lignes suivant :
<key>Kernel Flags</key>
<string></string>
et remplacez les par :
<key>Kernel Flags</key>
<string>arch=x86_64</string>
xcode plist
Affichage du fichier com.apple.Boot.plist dans Xcode.

Conclusion :

Votre système bootera désormais à chaque fois en mode 64 bits.
Pour démarrer exceptionnellement en mode 32 bits, pressez les touches '3' et '2' au moment du boot.

mode 64bit
Noyau et extensions 64 bits activés.

Mise à jour le Mercredi, 19 Mai 2010 17:02
 

Erreur de démarrage Apache2

Envoyer Imprimer
Après un restart de la machine, le serveur web ne fonctionne pas.
La méthode qui suit va nous permettre de redémmarrer apache sans erreur cependant si après le reboot du serveur apache ne fonctionne plus, alors cela signifie qu'apache à rencontré un problème et n'a donc pas pu se lancer correctement. Cette article ne traite pas de la résolution du problème d'origine car les raisons peuvent être nombreuses. Consultez vos log pour connaitre l'origine du problème ; dans le cas de cet article, l'erreur était dut à l'utilisation d'un certificat ssl crypté, apache demandé la passphrase et ne la recevant pas il ne pouvait démarrer. L'utilisation d'une clef décrypté à alors résolu le problème.
Arrêt du serveur :
servername:~# /etc/init.d/apache2 stop
Au démarrage du serveur l'erreur suivante est retournée :
servername:~# /etc/init.d/apache2 start
* Restarting web server apache2
httpd (no pid file) not running
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs [fail]

Un processus semble déjà écouter sur le port 80 :
servername:~# netstat -tulpn | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2335/apache2
Le processus existe bien, son PID est 2335, nous devons le supprimer afin de pouvoir démarrer apache sans erreur :
servername:~# kill -9 2335
servername:~# /etc/init.d/apache2 start
...
Apache devrait alors se lancer sans erreur.
Mise à jour le Dimanche, 11 Juillet 2010 02:23
 

Subversion

Envoyer Imprimer

Création d'un utilisateur SVN et du répertoire contenant les 'repositories' :

servername:~# cd /usr/share/
servername:~# mkdir svn
servername:~# cd svn/
servername:~# groupadd svn
servername:~# useradd svn -g svn
servername:~# chown -R svn:svn /usr/share/svn/
servername:~# su - svn
svn@servername:/$ svnadmin create /usr/share/svn/repository_name

Lancement du serveur svnserve :

svn@servername:/$ svnserve -d -r /usr/share/svn/

Ajout récursif des éléments non versionnés d'une copie de travail :

Positionnez vous dans le dossier (copie de travail) contenant les fichiers à ajouter :
user@servername:/$ cd /emplacement/du/dossier/
Le symbole pour les fichiers et dossiers non versionnés, retourné par svn status, est '?'. La commande suivante retourne alors la liste des fichiers qui ne sont pas gérés par svn au sein du copie de travail :
user@servername:/$ svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g'
Combinée à la commande xargs, nous pouvons ajoutés à la révision les éléments de cette liste :
user@servername:/$ svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g' | xargs svn add

Suppression des éléments manquants d'une copie de travail :

Après la suppression d'un composant de site internet par exemple, certains fichiers versionnés vont apparaitrent comme manquant tant qu'ils n'auront pas également été supprimés par svn.
Positionnez vous à la racine de la copie de travail :
user@servername:/$ cd /emplacement/du/dossier/
Le symbole retourné par Subversion pour les fichiers manquants est '!'. Il nous suffit d'adapter la commande précédente afin de filtrés les fichiers manquants et les effacer avec 'svn delete'.
user@servername:/$ svn status | grep "^\!" | sed -e 's/! *//' | sed -e 's/ /\\ /g' | xargs svn delete

Suppression récursive des dossiers .svn dans une copie de travail :

Contrairement à l'utilisation de l'option export de subversion, supprimmer les dossiers .svn d'une copie de travail permet d'obtenir un répertoire qui ne sera plus une copie de travail mais qui contiendra aussi les fichiers ignorés (svn ignore) et ceux qui n'ont pas encore été ajoutés.
user@servername:/$ cd /emplacement/de/la/copie/de/travail
user@servername:/$ ls -lAhR . | grep ".svn:" | sed -e 's/ /\\ /g' | cut -d ':' -f 1,1 | xargs rm -dr

Mise à jour le Vendredi, 16 Juillet 2010 02:57
 

Changement de droits récursif

Envoyer Imprimer
Changement de droits récursif uniquement sur les dossiers :
user@servername:/$ find . -type d -exec chmod 755 {} \;

Ajout récursif du droits d'execution sur les dossiers :
user@servername:/$ chmod -R a+X *
L'option +X applique le bit d'execution seulement sur les répertoires (ne pas confondre avec +x).

Changement de droits récursif uniquement sur les fichiers :
user@servername:/$ find . -type f -exec chmod 644 {} \;

Changement de droits récursif uniquement sur les fichiers PHP (avec l'extention .php)
user@servername:/$ find . -type f -name '*.php' -exec chmod 644 {} \;
Changement de droits récursif uniquement sur les fichiers HTML (extentions .html, .htm, ... )
user@servername:/$ find . -type f -name '*.htm*' -exec chmod 644 {} \;

Changement de droits récursif uniquement sur les fichiers de l'utilisateur fileowner :
user@servername:/$ find . -type d -user fileowner -exec chmod 0755 {} \;

Les fichiers dont le titre contient des espaces peuvent poser des problèmes, voici une variante pour le changement de droits récursif sur ces fichiers :
user@servername:/$ find . -type f -print0 | xargs -0 chmod 644
Mise à jour le Dimanche, 16 Mai 2010 18:49
 
  • «
  •  Début 
  •  Précédent 
  •  1 
  •  2 
  •  Suivant 
  •  Fin 
  • »


Page 1 sur 2

Membres

Utilisateurs

Nous avons 14 invités en ligne
Add to Google