Axude
PHP, MySQL, Apache, Debian, et bien d'autres!-
avril 12th, 2012Administration système, Informatique, NginX, Serveurs webNginx permet tout un tas de choses compliquées, et notamment utiliser des server_name dynamiques contenant des variables
Voici un exemple pour rediriger vers un sous-répertoire un sous-domaine:server {
listen 80 default_server;
server_name ~^(?.+)\.mondomaine\.com$;
root /home/web/www/$subdomain;
index index.html index.htm index.php;
}Grâce à cela, si votre root est /home/web/www et que vous vous rendez à l’url toto.mondomaine.com, alors le root sera automatiquement /home/web/www/toto
Magique!
Tags: Nginx, server_name, variable, virtualhost -
mars 30th, 2012Administration système, Debian, Informatique, LinuxLa question de la sauvegarde est toujours un sujet un peu tendu lorsque l’on gère ses serveurs. il existe beaucoup de solutions plus ou moins complexes à mettre en oeuvre, et puis on se rabat souvent sur la solution de facilité: le petit script fait maison qui va bien. Pourtant il existe une solution très simple qui gère tout un tas de choses pour vous: backup-manager!
Voici donc la procédure d’installation de backup-manager pour sauvegarder quelques répertoires et toute votre base MySQL! Un seul mot d’ordre: SIM-PLI-CI-TE !
apt-get install backup-manager
mkdir -p /home/backup
Archives location:
/home/backup
Owner user of the repository:
root
Owner group of the repository:
root
Directories to backup: (listez ici, séparés par un espace, l'ensemble des répertoires que vous souhaitez sauvegarder)
/etc /home/web /var/wwwPar défaut backup-manager ne fait qu’une sauvegarde en local
Nous allons éditer le fichier de config pour que backup-manager fasse tous les jours une sauvegarde complète par FTP
vi /etc/backup-manager.conf
Nous faisons le choix de sauvegarder les fichiers sous forme d’archives tarball, et se sauvegarder également le mysql
BM_ARCHIVE_METHOD="tarball mysql"
Changez le nombre d’archives que vous souhaitez garder (ici 10 jours, par défaut 5)
BM_ARCHIVE_TTL=10
Si vous voulez exclure des répertoires (des logs par exemple), editez la variable
BM_TARBALL_BLACKLIST="/var/archives"
Définissez les login/pass de l’utilisateur mysql qui vous permettra de faire la sauvegarde (Créez un utilisateur dédié)
BM_MYSQL_ADMINLOGIN="backup"
BM_MYSQL_ADMINPASS="backuppassword"
Maintenant les modifications pour envoyez les archives par FTP:
BM_UPLOAD_METHOD="ftp"
BM_UPLOAD_HOSTS="ftp.domaine.com"
BM_UPLOAD_DESTINATION="/"
BM_UPLOAD_FTP_USER="ftpuser"
BM_UPLOAD_FTP_USER="ftppassword"
BM_UPLOAD_FTP_HOSTS="ftp.domaine.com"
On crée ensuite uns script qui va vérifier le backup après le process pour être sur que tout est ok (vous recevrez un petit mail de confirmation à chaque backup)
BM_POST_BACKUP_COMMAND="/etc/backup-manager-post"On sauvegarde le fichier puis on crée le script post-backup
vi /etc/backup-manager-post
Et on met dedans:#!/usr/bin/php<?php
$dest = array('VOTRE@EMAIL.COM');
$archives = '/home/backup';$host = trim(file_get_contents('/etc/hostname'));
clearstatcache();
$dir = opendir($archives);
if($dir) {
while(false !== ($filename = readdir($dir))) {
if($filename[0]!='.' && preg_match('/'.date('Ymd').'/',$filename)) {
$thefile = $archives.'/'.$filename;
$size = exec("ls -l '".$thefile."' | awk '{print $5}'");
if($size>0) {
$pagetext.= $filename." (".round($size/1000000000,2)." Go)n";
} else {
$pagetext.= $filename." (? Go)n";
}
$totalsize += $size;
}
}
$pagetext .= "nTotal : ".round($totalsize/1000000000,2)." Gon";
}foreach($dest as $d) {
mail($d,'['.$host.'] Backup OK',$pagetext);
}?>
Et voilà backup-manager va automatiquement tout sauvegarder tous les jours, et en plus vous envoyer un mail de confirmation!
Tags: backu-up, backup-manager, debian, fichiers, MySQL, sauvegarde -
mars 30th, 2012Administration système, Debian, Informatique, Linux, NginX, Serveurs webOn sait tous comment installer PHP5 et Apache2, mais moins souvent comment purement et simplement ne pas installer Apache2 et mettre Nginx à la place. Voici la solution!
Par défaut le paquet php5-fpm n’est pas inclu dans les paquets par défaut de la distrib Debian Squeeze, on va utiliser le depot de DotDeb
Tags: debian, debian 6, Nginx, php5-fpm, squeeze
echo "deb http://packages.dotdeb.org stable all" >> /etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org stable all" >> /etc/apt/sources.list
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
rm dotdeb.gpg
apt-get update
apt-get install nginx php5-fpm
cd /etc/nginx/sites-enabled
rm default
vi localhost
server {
listen 80;
server_name localhost;
root /var/www/localhost;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
/etc/init.d/php5-fpm start
/etc/init.d/nginx start -
mars 14th, 2012Administration système, Debian, Informatique, LinuxNtop est un outil qui vous permettra d’en savoir énormément sur le trafic de vos serveurs. Il peut être très utile pour diagnostiquer une attaque ou un problème réseau. Seulement, si vous tentez d’installer ntop depuis une installation standard de Debian, avec apt-get install ntop, vous risquez d’obtenir le message: « Package ‘ntop’ has no installation candidate ».
Malheureusement, ntop n’est plus inclus par défaut dans la distribution. Il fait en revanche partie des paquets backports.
Voici donc la marche à suivre pour installer ntop:
vi /etc/apt/sources.list
#ajouter la ligne suivante à la fin du fichier
deb http://backports.debian.org/debian-backports squeeze-backports main
apt-get update
apt-get install ntop
Répondez O ou Y à l’installateur
Saisissez votre mot de passe ntop administrateur lorsqu’il vous est demandé
Saisissez le une seconde fois pour confirmer
L’installation est finie, et ntop sera démarré automatiquement.
Vous pouvez vous rendre sur http://IP.IP.IP.IP:3000 (ou IP.IP.IP.IP est l’adresse IP de votre serveur)
Maintenant, pour arrêter ntop
/etc/init.d/ntop stop
Pour démarrer ntop
/etc/init.d/ntop start
Login administrateur: admin
Tags: analyse, linux, ntop, trafic -
mars 13th, 2012Administration système, Informatique, Linux, Serveurs webcat /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -n |tailVa renvoyer par ordre croissant le nombre de hits par IP. Magique!
Le | tail à la fin permet de limiter la liste aux dix plus grosses entrées. Enlevez le pour avoir la liste complète.
Tags: access log, adresse ip, apache, hits, serveur web -
mars 7th, 2012Développement, InformatiqueVoilà une info astucieuse pour les flémards qui ne veulent pas passer leur temps à récupérer les infos de partout! Parce qu’un dev flémard, c’est le meilleur!
Vous pouvez récupérer la liste dans de nombreux formats, tels que
- Text
- JSON
- YAML
- XML
- HTML
- CSV
- SQL
- PHP
- MySQL
- SQLite
- SQL Server
Rien que ça!!
A trouver sur Umpirsky Software development blog
Tags: country list, json, MySQL, pays, php, yaml -
mars 7th, 2012Développement, Informatique, Langages, PHPVoici quelques fonctions qui vont retourner la date de la veille en PHP. Et dans la foulée, une fonction qui retourne une date à plus ou moins X jours!
function getYesterday() {
return date('Y-m-d', time() - (60*60*24));
}function getYesterday() {
return date('Y-m-d', strtotime('yesterday'));
}function getYesterday() {
return date('Y-m-d', strtotime('-1 day'));
}
Voici la fonction qui retourne une date à plus ou moins x jours (par défaut, la veille)
Tags: date, fonction, phpfunction getDayDiff($diff = '-1') {
//$diff doit être au format +X ou -X, X étant un entierreturn date('Y-m-d', strtotime($diff.' day'));
}
-
mars 1st, 2012Développement, Informatique, Langages, PHPParlons un peu de ce que l’on peut trouver sur le net en terme d’optimisation PHP, quelques articles TRES utiles:
- Un HOW-TO à base de benchmark, de conf Apache, et de bonnes idées en tous genres chez PHPLens
- Une liste des meilleures pratiques (les meilleures façons d’utiliser echo, quelle fonction pour calculer la taille d’une chaîne, etc..) chez Chazzuza
- En français cette fois, chez Vulgarisation-Informatique un benchmark des différentes fonctions de base de PHP, pour choisir la meilleure!
-
février 25th, 2012CSS, Développement, Informatique, LangagesLorsque l’on utilisa la propriété opacity en CSS, tous les enfants de l’élément courant seront impactés par le changement d’opacité.
Au lieu donc d’utiliser la propriété opacity, il faut utiliser la propriété background-color avec une valeur en rgba où a représente le degré de transparence.
Exemple: background-color:rgba(41, 191, 214, 0.5);
Tags: background-color, css, css3, héritage, opacity -
février 7th, 2012DebianLors d’une mise à jour de Debian Squeeze, j’ai rencontré l’erreur suivante, qui bloque ensuite toutes les tentatives de mise à jour:
Errors were encountered while processing:
nfs-common
Pour régler ce problème, voici la solution:
Taper la commande:insserv portmap
Puis
apt-get update; apt-get upgrade;
Le problème devrait être régléTags: debian, insserv, nfs, portmap, squeeze
