Archive for octobre, 2010

cmsms – pretty_urls, url rewriting, htacess et sous dossier

logo cmsms Lors de la mise en place d’un site basé sur CMSMS, vous pouvez être amené à installer le CMS dans un sous dossier, par exemple : http://www.domaine.tld/cmsms/.

Hors, dans ce cas de figure, la configuration des « Pretty-URLs » comme indiqué ici :
http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
ne fonctionnera pas.

En effet, le système va considérer que le site est systématiquement à la racine du domaine. Dans le cas présent, en mettant en place les « Pretty_URLs » comme indiqué dans le fichier de configuration, j’ai créé un fichier .htaccess comme recommandé pour utiliser les noms de page avec .htm :

  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /
 
  # 301 Redirect all requests that don't contain a dot or trailing slash to
  # include a trailing slash
  # except for form POSTS
  # RewriteCond %{REQUEST_URI} !/$
  # RewriteCond %{REQUEST_URI} !\.
  # RewriteCond %{REQUEST_METHOD} !POST$
  # RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
 
  # Rewrites urls in the form of /parent/child/
  # but only rewrites if the requested URL is not a file or directory
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+).htm$ index.php?page=$1 [QSA] 

Hors, dès l’activation, mes pages revenaient en erreur. Pour corriger ceci, il faut modifier la dernière règle de rewriting en y incluant l’emplacement dans lequel vous avez installé cmsms. Si par exemple vous etes dans ce cas de figure « http://www.domaine.tld/cmsms/ », votre fichier .htaccess devra être modifié comme suit (voir la dernière ligne) :

  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /
 
  # 301 Redirect all requests that don't contain a dot or trailing slash to
  # include a trailing slash
  # except for form POSTS
  # RewriteCond %{REQUEST_URI} !/$
  # RewriteCond %{REQUEST_URI} !\.
  # RewriteCond %{REQUEST_METHOD} !POST$
  # RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
 
  # Rewrites urls in the form of /parent/child/
  # but only rewrites if the requested URL is not a file or directory
  RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [S=1]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+).htm$ /cmsms/index.php?page=$1 [QSA]

Le problème sera ainsi résolu et vous disposerez des « Pretty-URLs » basée sur l’URL rewriting, qui peuvent optimiser le référencement de votre site.

Tags: , , , ,

mercredi, octobre 27th, 2010 GNU - Linux, Technologie Un commentaire

WordPress : changer la couleur de la barre d’administration

Logo wordpressSi vous administrez plusieurs blogs propulsés par wordpress, vous avez peut être du mal à identifier l’interface d’administration de chaque site !

En effet, par défaut, wordpress permet de choisir seulement 2 couleurs (bleu ou gris) pour l’interface d’administration. Avec plusieurs blogs à gérer, vous aurez vites fait de vous tromper de site à cause de la ressemblance de l’interface d’administration.

Mon astuce va être de changer la couleur de la barre du haut, afin de clairement identifier dans quelle admin je suis.
Pour faire ceci, il y a des plugins, mais je n’ai rien trouvé de vraiment simple ou efficace.

De toute façon la modification est toute simple, et ne vaut pas la peine de s’en priver !

Pour changer la couleur de la barre du haut, nous allons éditer deux fichiers CSS situé dans /wp-admin/css (de votre blog):
– colors-classic.css (le theme par défaut, avec une barre bleue monochrome)
– colors-fresh.css (le theme optionnel avec une barre contenant un degradé CSS)

Le fichier colors-classic.css sur wordpress 3.0.1 est constitué d’une seule ligne dans laquelle nous allons rechercher la valeur « wphead » jusqu’à tomber sur :

#wphead{background-color:#1d507d;}

Ici vous remplacez le #1d507d par la couleur de votre choix.

Ensuite, on attaque le deuxième fichier, colors-fresh.css dans lequel on cherche également la valeur « wphead » jusqu’à tomber sur :

#wphead{border-bottom:#c6c6c6 1px solid;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));}

Dans cette ligne vous allez remplacer les valeurs #d9d9d9, #d7d7d7 (2 fois) par le code couleur de votre choix, exemple :

#wphead{bor
der-bottom:#c6c6c6 1px solid;background:#f9d718;background:-moz-linear-gradient(bottom,#f9d718,#e4e4e4);background:-webkit-gradient(linear
,left bottom,left top,from(#f9d718),to(#e4e4e4));}

Et voilà !! Dans les deux choix de couleur, vous aurez la top-barre de l’interface d’administration dans la couleur de votre choix. Personnalisez ainsi chacun de vos blogs wordpress, et vous saurez en un coup d’oeil si vous travaillez sur le bon.

Tags: , , ,

mercredi, octobre 27th, 2010 GNU - Linux, Reseau, Technologie Pas de commentaire

AWK – remplacement de caractères et parser des fichiers

La commande awk permet d’effectuer des traitements sur des chaines de caractères ou des fichiers en se basant sur des modèles et un langage propre, ainsi que l’utilisation d’expressions rationnelles.

Premier exemple, parser une ligne contenant des termes séparés par un espace (tout se passe dans un terminal sous GNU/Linux of course) :
On charge une variable avec ces 3 mots :

ligne="mot1 mot2 mot3"

Puis on veut extraire le premier mot :

echo $ligne|awk -F " " '{print $1}'

ou extraire le premier et le troisieme :

echo $ligne|awk -F " " '{print $1 $3}'

On notera qu’ici -F permet de définir le séparateur de champs, puis, la commande « print » permet d’afficher la valeur contenue dans le champs choisi (indexé de 1 à n). L’index « 0 » comme en bash, représente l’ensemble de la chaine originale passée en argument.

AWK permet également des traitements sur les chaines de caractères, afin par exemple d’opérer un remplacement basé sur un modèle.
On charge une variable avec une chaine :

ligne="le chien est noir,le chat est gris"

Et on va changer la couleur du chien et ne garder que le chien :

echo $ligne|awk -F "," '{gsub("noir","blanc",$1);print $1}'

Ceci va afficher « Le chien est blanc ». Comme vu plus haut, le -F permet de casser la chaine sur toutes les virgules rencontrées, chaque élément est accessible via l’index en variable ($1 ou $2 ici). Puis, la commande gsub (substitution) permet de remplacer toute valeur « noir » par « blanc », dans la variable $1 (soit la partie avant la virgule).

La commande gsub s’est donc appliquée à $1, l’instruction print est indépendante, on aurait pu taper:

echo $ligne|awk -F "," '{gsub("noir","blanc",$1);print $1","$2}'

afin d’afficher la partie modifiée et la seconde non modifiée.

Jusqu’ici nous avons travaillé sur des variables, mais awk permet de travailler sur des fichiers pour un traitement rapide.
Prenons le fichier /etc/passwd qui contient des éléments de ce type : root:x:0:0:root:/root:/bin/bash

Nous souhaitons par exemple afficher une liste des utilisateurs existants, leur home, et le shell associé. On constate donc que le « : » peut être utilisé comme séparateur.
Nous allons donc afficher le listing voulu de la manière suivante (login => home => shell) :

awk -F "\:" '{print $1" => "$6" => "$7}' /etc/passwd

Dans ce dernier point, nous avons parsé directement un fichier, et affiché le résultat dans la console. Il est possible de renvoyer le résultat dans un fichier avec une simple redirection :

awk -F "\:" '{print $1" => "$6" => "$7}' /etc/passwd > mon_listing.txt

Vous pouvez utiliser différents caractères spéciaux codés de la manière suivante :
\\ Un antislash.

\b retour arriere (backspace).

\n nouvelle ligne.

\r retour chariot.

\t tabulation horizontale.

\v tabulation verticale.

De manière générale les caractères spéciaux (* % etc.) doivent être « échappés » par un antislash.

On peut également utiliser les expressions régulières (ou rationnelles) afin de définir un séparateur.

awk -F "[^a-z|^A-Z|^0-9|^--|^/|^,]" '{print $1" => "$2" => "$3" => "$4" => "$5" => "$6" => "$7}' /etc/passwd

Dans l’exemple ci dessus, on va lire le fichier /etc/passwd on utilisant comme séparateur de champs l’expression rationnelle suivante :

[^a-z|^A-Z|^0-9|^--|^/|^,]

Celle ci signifie que sera considéré comme séparateur de champs tout caractère qui n’est pas alphanumérique en majuscule ou minuscule, et différent de -, de / et de ,.

Plus d’informations sur les expressions rationnelles : http://fr.wikipedia.org/wiki/Expression_rationnelle

Dernier exemple, on va passer une chaine en majuscule avec la fonction « toupper » (il existe aussi tolower pour l’inverse):

echo "Coucou comment ça va?"|awk '{print toupper($0)}'

Pour plus d’informations, man awk

Tags: , , , , , , ,

mardi, octobre 26th, 2010 Bash, GNU - Linux, Technologie 2 Comments
Not f'd — you won't find me on Facebook
octobre 2010
L M M J V S D
« Sep   Nov »
 123
45678910
11121314151617
18192021222324
25262728293031
 

 
Suivez moi sur twitter - follow me on twitter
[FSF Associate Member]
 
Free Software, Free Society
VIRTUALISATION :
Compacter une image virtualbox VDI
Bon petit tutoriel esxi
Marche d'appliances vmware
Installer ESXi sur un disque IDE
Installer ESXi 3.5 sur un disque USB
Installer proxmox avec DRBD et migration / réplication à chaud
Installer OSSEC avec VMware
Information sur le VDI
SECURITE - FIREWALL :
Ouvrir des ports dynamiquement iptables - knockd
Autre tres bon tuto knockd
Docs Arp poisoning - Anglais
Metasploit test de pénétration
Zone H - sites piratés en temps réel
Blog invisible things
Tips protection sécurité wordpress
Pfsense - distribution firewall opensource - adsl internet failover
Iproute 2 mini how to - linux advanced routing
ClearOS - la passerelle sécuritaire lan - wan
HAUTE DISPONIBILITE :
CDN - Accélération de la distribution de données
drbd iscsi ocfs2 dm multipath tutoriel
Load balancing LVS
Load balancing opensource list
HA-Proxy :
HAproxy - http load balancer
Simple tutoriel HAproxy
HAproxy - debian tutoriel
Centos - Ip failover
Configuratoin DM-Multipath Redhat
VMware Doubletake - continuité
Quelques liens sur la réplication MySQL : Manuel MySQL, chapitre sur la réplication
Manuel MySQL, Tutoriel clair sur la mise en place
Autre tuto sur la mise en place de la réplication MySQL
Références pour optimisation du serveur MySQL
Utilisation de EXPLAIN mysql pour optimiser vos bases
optimiser vos bases - requetes et index
STOCKAGE RESEAU :
Un outil de clonage disque en reseau
Internet NAS 250Go 250 accès VPN
Server ISCSI avec Ubuntu tuto
ISCSI centos redhat tutoriel
Gérer et étendre un LVM
Créer sa piratebox ! trop cool
Deaddrops, les clés USB dans les murs, aussi cool !
OPTIMISATION WORDPRESS :
Télécharger Xenu
Comment utiliser Xenu
optimisation hébergement wordpress
Super howto wordpress (En)
Test de charge serveur web - Load impact
VPN - ROUTEUR - LAN:
Zeroshell - le mini-routeur wifi tout en un
Retroshare, votre réseau d'échange crypté!
Openvpn sur centos redhat
Intégrer Linux dans active directory
Routage inter-vlan avec Linux
Routage avec OSPF
Network Weathermap
TENDANCES - WEB:
Boutons twitter
Analyser les tendances des recherches Google
Protocole sitemap - robots.txt
Creer des animations CSS3
Code php pour interagir avec twitter
E reputation
Jquery
TRUCS ET ASTUCES GNU/LINUX :
Tuxmachines.org - Actus et tips linux
Configurer GRUB2 et grub2 ici
Panoet - en anglais - tips & tricks
Readylines tips and trick pertinents
Squid Clamav - proxy antivirus
Apprendre Unix en 10 minutes
13 tips sur les expressions régulières
IE Sous linux IES
LDAP 2.4 Quickstart guide
Tutoriel LDAP
Installation annuaire LDAP
Serveur Mail Postfix - Dovecot - LDAP - MDS
Créer un linux personnalisé en ligne - custom linux
Super site sur linux - en
Capistrano - déploiement automatisé
MONITORING :
Nagios tutoriel et doc
Nagios plugin NRPE tuto
Nagios plugin NRPE autre tuto
Nagios plugin NRPE officiel
Zabbix - fonctionnalités
Zabbix - installation
Guide MRTGsys - grapher la charge locale
MRTGsys - ajouter des graphs
MRTGsys - interpréter les données
Shinken - Monitoring
Thruk Monitoring webinterface
Shinken - Tutoriel
Shinken - Référence chez Nicolargo
AUTRES LIENS :
RemixJobs IT jobs
USB Multiboot
Reset mot de passe windows
Java python et autres tips, intéressant !
Forum inforeseau
Open Clipart
Excellent comic en ligne
Inforeseau.fr
 
Contrat Creative Commons
This création is licensed under a Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 2.0 France License.