8
oct
2008
Installer libssh2, ssh2 pour php

Dans cet article nous allons voir comment installer l’extension ssh2 pour php5, cette extension permet l’utilisation de fonctionnalités SSH2 avec php (très utiles quand on veut faire du SFTP par exemple) pour plus d’informations cf. la documentation officielle sur php.net

Pour l’installation, ce n’est pas très compliqué, il suffit de suivre ces quelques étapes à la lettre et tout ira très bien ;-)

tout d’abord il faut s’assurer d’avoir les bons paquets d’installés, en voici une liste :

Toute la suite s’effectue en root

mais avant toute chose, n’oublions pas de faire un petit :

apt-get update
apt-get upgrade

en suite il faut créer un répertoire de travail :

cd ~
mkdir libssh2
cd libssh2

ensuite télécharger libssh2 :

wget http://ovh.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz

puis l’extraire :

tar -xzvf libssh2-0.14.tar.gz

aller dans le répertoire créé et installer libssh2 :

cd libssh2-0.14
./configure && make all install

maintenant que libssh2 est installée, passons a ssh2 :

on sort du repertoire de libssh2 et on télécharge ssh2 :

cd ..
wget http://pecl.php.net/get/ssh2-0.10.tgz

extraire l’archive téléchargée :

tar -xzvf ssh2-0.10.tgz

aller dans le répertoire créé et installer ssh2 :

cd ssh2-0.10
phpize && ./configure --with-ssh2 && make

maintenant que l’installation est terminée, on active l’extension, ici on va copier le fichier ssh2.so dans le répertoire des extension de php5 (il peut être différent du mien selon la distrib et l’installation) :

cp modules/ssh2.so /usr/lib/php5/20060613+lfs

puis on ajoute l’extension en créant un fichier ssh2.ini dans le répertoire conf.d (comme pour toutes les autres extensions de php) on n’oublie pas de le faire pour apache mais aussi pour le mode CLI.

echo "extension=ssh2.so" > /etc/php5/cli/conf.d/ssh2.ini
echo "extension=ssh2.so" > /etc/php5/apache2/conf.d/ssh2.ini
/etc/init.d/apache2 restart

Et voilà, notre extension est installée, a vous ssh2 et sftp avec php :)

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (3 votes, note : 5 sur 5)

Catégories : Linux, Linux - Logiciels, PHP / MySQL | Commentaires (2)


22
sept
2008
changer la locale sous debian

aller, une petite astuce que j’ai mis du temps a trouver, je voulais changer la locale de mon serveur pour passer de fr_FR.ISOXXXXX à fr_FR.UTF-8.

il faut s’assurer que le paquet locale est deja installé (par defaut sur une etch il me semble) et faire un coup de :

dpkg-reconfigure locales

et là on selectionne la locale voulue en la mettant par defaut, se déconnecter, se reconnecter et le tour est joué :)

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (2 votes, note : 5 sur 5)

Catégories : Linux - OS | Pas de commentaires

18
mar
2008
Forcer le téléchargement d’un fichier avec PHP

Dance cet article nous allons voir comment forcer le navigateur à télécharger un fichier (n’importe lequel) au lieux de l’ouvrir. Pour cela nous allons utiliser les Headers qu’envoie le serveur au navigateur (fonction header de php).

Voici le code a utiliser :

 //date actuelle
$date = gmdate('D, d M Y H:i:s');

header("Content-Type: text/xml"); //Ici par exemple c'est pour un fichier XML, a changer en fonction du type mime du fichier voulu.
header('Content-Disposition: attachment; filename=NOM_FICHIER.xml');
header('Last-Modified: '. $date . ' GMT');
header('Expires: ' . $date);
//header specifique IE :s parce que sinon il aime pas
if(preg_match('/msie|(microsoft internet explorer)/i', $_SERVER['HTTP_USER_AGENT'])){
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
}else{
  header('Pragma: no-cache');
}

echo $CONTENU_DE_NOTRE_FICHIER; // ou readfile('CHEMIN_FICHIER'); En fonction du type de fichier.

Le type Mime doit être celui du fichier qu’on veut pouvoir télécharger (liste des types mime disponibles). En voici quelques exemples :

image GIF : image/gif
fichier XML : text/xml
fichier rtf : application/rtf
fichier avi : video/msvideo

Maintenant à vos fichiers dl.php ;-)

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (9 votes, note : 4.44 sur 5)

Catégories : PHP / MySQL, Programmation | Commentaires (3)

16
mar
2008
Extraire le contenu d’un zip directement sur son FTP chez free

Dans cette article nous allons voir comment procéder pour dézippé le contenu d’une archive directement sur son FTP free. Ceci peut être très intéressant si on a plusieurs (beaucoup) fichiers à envoyer sur le ftp, parfois ce genre d’upload peut s’avérer très difficile en fonction de la connexion, du logicile client FTP, mais aussi de l’humeur du serveur FTP de chez free. On peut se retrouver avec un certain nombre de fichiers qui ne seront pas envoyé (perdus en route ?!).

L’astuce consiste à mettre tous ses fichiers dans ZIP, uploader le zip sur le FTP et l’extraire sur place avec script PHP. Parce que envoyer UN SEUL fichier quelque soit sa taille, est toujours plus simple que d’en envoyer 36 000.

Pour commencer il faut savoir que Free ne propose aucune librairie PHP pour gérer les archives, donc nous utiliserons une classe de substitution, pour l’exemple, on va utiliser pclzip.

Maintenant, il faut créer un fichier ZIP (test.zip pour l’exemple) dans lequel on mettra tous nos fichiers à uploader sur le FTP.

Ensuite, il faut créer un fichier php (extract.php pour l’exemple) dans lequel on mettra le code suivant (à adapter selon votre cas) :

//Extrait de la documentation de la class.
require_once('pclzip.lib.php');
$archive = new PclZip('test.zip'); //METTRE LE VRAI NOM DU ZIP ;)
//Extrait dans le repertoire courant.
if ($archive->extract() == 0) {
      die("Error : ".$archive->errorInfo(true));
}

maintenant on se retrouve avec 3 fichiers :

  1. extract.php
  2. pclzip.lib.php
  3. test.zip

On peut maintenant envoyer nos 3 fichiers dans le répertoire sensé accueillir les fichiers finaux (contenus dans le zip) sur le FTP.

maintenant prendre son navigateur et aller à l’url http://adresse_du_site.free.fr/repertoire/extract.php

et le tour est joué :-)

N.B. Cette procédure et valable pour tout hébergement mutualisé (ou pas) ne proposant pas les extensions PHP Zlib ou équivalent.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (7 votes, note : 4.71 sur 5)

Catégories : PHP / MySQL, Programmation | Commentaires (12)


11
mar
2008
Protéger un répertoire par htaccess

Le but de cet article est montrer comment protéger un répertoire par un htaccess.

pour cela il faut d’abord créer un fichier .htaccess à la racine du répertoire, ce fichier doit contenir les lignes suivantes (a adapter selon la configuration/ besoins) :

AuthName "Page protégée"
AuthType Basic
AuthUserFile "/CHEMIN/VERS/LE/FICHIER/.htpasswd"
Require valid-user

en suite il faut créer un fichier .htpasswd qui lui contiendra les couples login/mot de passe qui auront accès au répertoire protégé.
pour cela exécutez la commande suivante :

htpasswd -c /CHEMIN/VERS/LE/FICHIER/.htpasswd LOGIN

-c pour créer un nouveau fichier .htpasswd (a ne pas utiliser si vous ajouter un utilisateur à un fichier existant).
il vous sera ensuite demandé d’entrer le mot de passe 2 fois, faites le, et le tour est joué.

pour plus de renseignement sur la commande htpasswd, voici l’écran d’aide de ladite commande :

$ htpasswd
Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password
        htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password

 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password.
 -d  Force CRYPT encryption of the password (default).
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

notez aussi que pour que cette protection fonctionne, il est obligatoire de ne pas avoir la directive apache AllowOverride a none, sinon le fichier .htaccess ne sera pas pris en compte, donc n’oubliez pas de la commenter ou l’enlever tout simplement si vous l’avez dans votre vhost

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (5 votes, note : 4.4 sur 5)

Catégories : Linux, Programmation | Pas de commentaires

4
mar
2008
Installer PHPDoc et générer une documentation

Dans cet article nous allons voir comment à partir d’un code source bien commenté, générer une documentation comme on aimerait avoir pour tout projet ou application digne de son nom.

Pour cela nous allons utiliser PHPDocumentor. qui va nous permetre de générer une documentation à paritr des sources de notre projet.

Il faut d’abord l’installer avec la commande suivante :

pear install phpdocumentor

(si pear n’est pas installé faites un apt-get install php-pear)

Si vous rencontrez un problème de dépassement de mémoire alouée avec PHP, allez dans /etc/php5/cli/php.ini et augmenter cette limite (il s’agit du paramètre memory_limit).

création d’un fichier de configuration pour le projet :

pour générer la documentation d’un projet nous avons besoin d’un fichier de configuration par projet, en voici un exemple :
fichier nom_du_projet.conf :

[Parse Data]
title = Titre de la documentation
hidden = false
parseprivate = off
javadocdesc = off
defaultcategoryname = Documentation
defaultpackagename = Projet
target = /PATH/OU/SERA/ENREGISTRE/LA/DOCUMENTATION
readmeinstallchangelog = README, INSTALL, FAQ, LICENSE
directory =   /PATH/VERS/LE/PROJET
ignore = templates/,test*.php
sourcecode = on
output=HTML:frames:earthli

et pour tester exécutez la commande suivante (après avoir créé le répertoire cible de la documentation)

phpdoc -c nom_du_projet.conf

et voilà, la génération prend un peu de temps, en fonction de la machine et de la taille du projet.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (6 votes, note : 5 sur 5)

Catégories : Linux, Linux - Logiciels, PHP / MySQL, Programmation | Pas de commentaires

14
déc
2007
La bourse de New York adopte le pingouin

La bourse de New York avait commencé l’année dernière un plan d’expansion, qui se poursuit, mais cette fois, par une bonne surprise, en effet, ce sont pas loin de 600 machines HP avec (400 quadri processeurs) qui se veront installé un pingouin aux commandes, c’est aussi le cas de nombreux serveurs.

Un choix étonnant de la part de la Bourse, qui a depuis toujours fonctionné sous Unix, mais les responsables disent ne pas vouloir être dépendant d’un Unix propriétaire, d’où le choix du libre. Sans oublier l’économie réalisée en faisant ce choix. étonnant également que la bourse n’ait pas retenu le Système d’exploitation d’HP avec tout ce matériel HP.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (4 votes, note : 2.75 sur 5)

Catégories : Divers, Linux | Pas de commentaires


14
déc
2007
Hyper-V en test plutôt que prévu

Le nouveau né de chez Microsoft est ouvert aux tests publics plutôt que prévu, en effet, la firme vient d’annoncer la nouvelle, plutôt encourageante quand on sait que la sortie était prévue pour le premier trimestre 2008.

Pour ceux qui ne le savent pas, Hyper-V est un logiciel de virtualisation, le plus connu dans ce domaine c’est VMware qui devrait se faire du soucis d’ailleurs, mais bon connaissant Miscrosoft, ils ne devraient pas trop quand même :-)

Cependant certaines sources affirment que le nouveau né de chez Miscrosoft serait 3 fois plus rapide que VMware, mais comme ne le savons tous, la vitesse ne fait pas tout, surtout s’il s’agit de faire cohabiter plusieurs serveurs virtuels entre eux.

Et pour finir un peut clin d’œil à l’environnement, car ne l’oublions pas, chaque serveur virtuel (émulé) évite l’utilisation d’un vrai serveur (machine) donc un ordinateur en moins, donc de l’énergie économisée.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (2 votes, note : 3 sur 5)

Catégories : Windows - Logiciels | Pas de commentaires

14
jan
2007
Mettre son serveur à l’heure

Pour mettre son serveur à l’heure, il y a différentes méthodes, l’une d’entre elles consiste à installer un programme et lui renseigner un serveur de temps, comme ça, il sera toujours à l’heure.

voici une liste de serveur ntp Français : http://www.cru.fr/NTP/serveurs_francais.html

tout d’abords il faut installer le programme, on peut prendre ntp-simple par exemple. L’installation diffère selon la distribution
Sous Debian par exemple :

apt-get install ntp-simple

ensuite il faut trouver le fichier de configuration du programme (/etc/ntp.conf) et ajouter un serveur de votre choix (possibilité d’en mettre plusieurs) :

server UN SERVEUR NTP

et voilà, votre serveur est désormais à l’heure.

Pour les commentaires c’est par ici : http://naeh.net/forum/index.php?topic=17.0

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Catégories : Linux - OS | Pas de commentaires

4
jan
2007
Sécuriser une Debian

Ici nous allons voir comment sécuriser un serveur tournant sous Debian :
Toutes ses commandes sont a exécuter en tant que root

Se protéger contre les Smurf Attack:

# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Eviter le source routing:

# echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

Se protéger des attaques de type Syn Flood:

# echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog

# echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

Désactivez l’autorisation des redirections ICMP:

# echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects

# echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects

Eviter le log des paquets icmp erroné:

# echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

Active le logging des packets aux adresses sources falficiées ou non routables:

# echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

Source : http://www.dedibox-news.com/doku.php?id=distrib:debian:securiser_sa_debian

Pour en discuter c’est par ici : http://naeh.net/forum/index.php?topic=14.0

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (1 votes, note : 4 sur 5)

Catégories : Linux - OS | Pas de commentaires


Archives :

| décembre 2008 (1) | octobre 2008 (2) | septembre 2008 (3) | mai 2008 (1) | mars 2008 (4) | février 2008 (3) | décembre 2007 (16) | novembre 2007 (2) | juin 2007 (1) | mai 2007 (2) | avril 2007 (1) | mars 2007 (2) | février 2007 (1) | janvier 2007 (3) |
© 2009 Naeh.net | Thème par DemusDesign (Modifié par Naeh), Theme Lab | Powered by WordPress

Naeh.net