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 :
- php5-dev
- openssl
- libssl-dev
- gcc
- make
- etc. je suppose que si vous installez cette extension, c'est que vous avez déjà php, apache etc.
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
Additions client pour VirtualBox
Ici nous allons voir comment installer les additions client sur une virtualbox sous Windows et pour une Debian Etch en guest.
ça parait simple, mais quand on a installé une Debian assez maigre (avec presque rien dessus) la tache ne se résume plus a un simple clic, voici donc ce qu'il faut faire :
la première étape est obligatoire pour nous éviter un message d'erreur du type :
"Please install the build and header files for your current Linux kernel.
The current kernel version is 2.6.17-5mdv
Please install the GNU compiler.
Problems were found which would prevent VirtualBox from installing.
Please correct these problems and try again."
debian-guest:~# apt-get install linux-headers-`uname -r` build-essential |
après il faut aller dans : Périphériques >> Installer les additions client...
retourner dans Debian et faire :
debian-guest:~# cd /media/ debian-guest:~# mount cdrom0 debian-guest:~# cd cdrom debian-guest:~# sh VBoxLinuxAddition-XXXX.run (le XXX c'est la version adm64 ou x86) |
redémarrez les machine virtuelle est ca devrait être bon
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
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.
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.