Axude PHP, MySQL, Apache, Debian, et bien d'autres!
  • scissors
    janvier 10th, 2013neriqueCommandes

    Voici un petit mémo d’utilisation de la commande find avec des cas d’usages courants pour vous faire gagner du temps dans vos recherches de fichiers :)

    Trouver tous les fichiers dont le nom correspond à un mot donné (ici à partir de /)

    find / -name toto

    Trouver tous les fichiers d’un répertoire appartenant à un utilisateur donné

    find /home -user toto

    Trouver tous les fichiers dont le nom se termine par un mot donné

    find /usr -name *toto

    Trouver tous les fichiers d’un répertoire qui ont été modifiés il y a plus de 100 jours

    find /usr -mtime +100

    Trouver tous les fichiers nommés toto d’un répertoire donné et les supprimer

    find /tmp -name toto -type f -print

    | xargs /bin/rm -f

    Trouver tous les fichiers nommés toto d’un répertoire donné et les supprimer, en gérant les noms de fichiers contenant des espaces, retours à la ligne et autres caractères spéciaux

    find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

    Executer la commande file sur tous les fichiers d'un répertoire pour obtenir des informations sur le type de fichier

    find . -type f -exec file '{}' \;

    Trouver tous les fichiers de votre répertoire HOME qui ont été modifiés depuis moins de 24 heures

    find $HOME -mtime 0

    Trouver tous les fichiers avec une extension donnée contenant une chaine donnée

    find

    / -name *.php -exec grep -l « needle » {} \;

     

    Tags: , , , , , , ,
  • scissors
    juin 12th, 2012neriqueNginX

    Nginx ne gère pas les processus php comme le fait Apache et ne peut donc pas modifier leur environnement. De fait, il est impossible cialis online de passer directement une variable d’environnement comme on le fait dans Apache avec la directive « SetEnv ».
    On serait tenté de le faire avec la directive « env » de Nginx, mais elle ne fonctionne pas de cette manière.

    Alors comment faire?

    Il faut utiliser les directives fastcgi_params que l’on utilise pour interpréter les fichiers PHP entre autres.

    server {
    listen 80;
    server_name my.domain.com;
    root /home/web/my.domain.com/public;
    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;
    fastcgi_param APPLICATION_ENV "development";
    }
    }

    Tags: , , , ,
  • scissors
    juin 6th, 2012neriqueDebian

    Il se peut qu’après une mise à jour de votre serveur, vous obteniez l’erreur suivante:
    Starting NFS common utilities: statd failed!

    Si cette erreur peut faire peur, elle viagra cheap n’est pas bien grave et peut être facilement contournée. En effet, statd est un service (daemon) qui tourne en fond tâche de fond et qui permet de remonter des problèmes avec le serveur NFS aux clients NFS. En vrai, NFS peut tourner sans statd, donc allons y :)

    vi /etc/default/nfs-common
    NEED_STATD=no
    /etc/init.d/nfs-common start

    Tags: , , , ,
  • scissors
    avril 12th, 2012neriqueNginX

    Nginx 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: , , ,
  • scissors
    mars 30th, 2012neriqueDebian

    La 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/www

    Par 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: , , , , ,
  • scissors
    mars 30th, 2012neriqueNginX

    On 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
    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

    Tags: , , , ,
  • scissors
    mars 14th, 2012neriqueDebian

    Ntop 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: , , ,
  • scissors
    mars 13th, 2012neriqueServeurs web
    cat /var/log/apache2/access.log | awk '{print $1}' | sort  | uniq -c | sort -n |tail
    Va 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: , , , ,
  • scissors
    février 7th, 2012neriqueDebian

    what to say in a text to your ex and
    signs your ex is jealous or
    if your ex puts all the blame

    on you then still seems to be crawling back.
    winning back ex girlfriend
    how to get bak ur ex boyfriend who has a girlfriend, how to get back with your ex girlfriend, etc.

    how to get ur man back if ur broke up

    a girl said to a boy dont touch me and did break up what should girl do to get him back, get my ex back tips.

    Ways to get my boyfriend back after we broke up

    steps to get your girlfriend back after you broke

    how to get my ex back from some new girl

    why am i so mad that my ex gf didnt say hi to me

    best way to get my ex back

    He dumped me for stupid reasons will he come back

    give me a poem to send to my ex boyfriend to want me back

    3 weeks after break up we chat om of but i still love my ex

    how to get my ex girl friend back

    how to get bach exgirlfreind

    what to text your ex boyfriend to get him back

    broke up now i am ask him to get back together

    howvto get my ex girlfriend back

    how to tell if his ex wants him back

    what do you do if ex boyfriend ignore your text

    I want my ex bf back

    o want to text my ex boyfriend

    How to get back my boyfriend back after break up

    Tags: , , , ,
  • scissors
    février 15th, 2011neriqueLinux

    Le but de cet article est de vous montrer comment s’authentifier sur un serveur distant en utilisant une clé ssh.
    Cette méthode est très pratique notamment pour mettre en place des scripts de synchronisation entre serveurs, des sauvegardes distantes d’un serveur vers un autre…etc.

    Nous considérons dans cet article 2 serveurs.
    - 1 serveur client nommé « serveur_client » : il est utilisé pour se connecter sur un serveur distant.
    - 1 serveur distant nommé « serveur_hote »: c’est vers ce serveur que nous souhaitons établir une connexion avec une clé ssh.

    Générer une paire de clés ssh: (private/public key) sur

    « serveur_client »:

    # ssh-keygen -t dsa
    Generating public/private dsa key

    pair.
    Enter file in which to save the key (/root/.ssh/id_dsa): /root/.ssh/ma_cle_ssh
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/ma_cle_ssh.
    Your public key has been saved in /root/.ssh/ma_cle_ssh.pub.
    The key fingerprint is:
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Copier la clé public vers « serveur_hote »:

    #cat /root/.ssh/ma_cle_ssh.pub | ssh root@serveur_hot "cat - >>.ssh/authorized_keys"
    Saisissez le mot de passe root 
    
    Désormais la clé d'authentification est installée, et vous pouvez vous en servir.
    

    Exemple d’utilisation:

    #/usr/bin/rsync -avz -e "ssh -i /root/.ssh/ma_cle_ssh" /var/log/syslog root@serveur_hot:/root/
    
    Cette commande va envoyer le fichier /var/log/syslog vers le serveur_hote.
    Tags: , , , , , ,
  • « Older Entries