samedi 14 juin 2014

Utiliser ZendGuard avec son serveur web préféré


Certaines applications web commerciales peuvent utiliser ZendGuard pour protéger leur code source ce qui oblige pour diverses raisons à utiliser le serveur web ZendServer qui selon mes constatations est très goumand en ressources matérielles sans rien faire de plus qu'un autre serveur web.
C'est pourquoi je vous propose une méthode pour faire fonctionner ZendGuard et les applications qui l'utilisent avec un autre serveur web comme Xampp par exemple.

Il existe deux versions de PHP : « php thread safe » (plus répandue/utilisée) et « php non thread safe », comme par hasard ZendGuard est compatible seulement avec « php non thread safe » alors que la majorité des serveurs web dont Xampp utilisent « php thread safe ».

Donc il faut remplacer le « php thread safe » de Xampp avec un « php non thread safe » pour faire fonctionner ZendGuard.

Pour cela :
Télécharger, extraire php-5.3.24-nts-Win32-VC9-x86.zip et remplacer le dossier « php » dans le dossier d'installation de Xampp.

Ensuite modifier le nouveau fichier php.ini en s’inspirant du php.ini original de Xampp (bien modifier les chemins d’accès et activer les extensions). Je reste vague à cette étape car tout dépend de la configuration php dont vous avez besoin pour votre cas.

Puis télécharger et extraire ZendGuardLoader-php-5.3-Windows.zip dans un sous-dossier du dossier « php » dans le répertoire de Xampp (sur le site de Zend il existe une nouvelle version de ZendGuard avec laquelle je n'ai pas testé ma méthode donc soit vous essayez ma méthode avec la nouvelle version de ZendGuard soit il faut chercher sur Internet la version indiquée).

Activation de ZendGuard dans php.ini : 

Dans php.ini, ajouter les lignes suivantes : 

[Zend]
zend_extension="C:\xampp\php\ZendGuard\php-5.3.x\ZendLoader.dll"
zend_loader.enable=1



Adapter le chemin vers ZendLoader.dll selon votre installation.

Ouvrir une ligne de commande cmd pour tester la configuration de php avec la commande :
C:\xampp\php> php -v

Aide en cas de problèmes à cette étape :
- http://www.adrianworlddesign.com/Knowledge-Base/Web-Hosting/Zend-Guard/Zend-Guard-loading-problems
- http://www.adrianworlddesign.com/Knowledge-Base/Web-Hosting/Zend-Guard/Zend-Guard-Loader-on-CentOS


Intégrer php à apache en tant que programme externe CGI :

« php non thread safe » ne fonctionne pas en tant que module (Il y a deux manières d’utiliser PHP5 avec Apache2 : sous forme de module intégré, ou de programme externe CGI), il faut donc l'utiliser comme programme externe CGI.

Pour cela : 
Ajouter dans httpd-xampp.conf (qui est inclu dans http.conf) les lignes suivantes :

#droits d’accès au répertoire de PHP
<Directory "C:/xampp/php">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
</Directory>
#activation de PHP en tant que programme CGI
ScriptAlias /php/ "C:/xampp/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"


Pour voir si le serveur fonctionne avec la configuration effectuée, il faut démarrer Apache en ligne de commande ainsi on peut voir les messages d’erreur éventuels.

Comme vous pouvez le constater, protéger son code source est source de difficultés inutiles pour ceux qui doivent utiliser vos applications et n'empêchera pas forcément quelqu'un de pirater votre application ou de reprendre vos idées, alors vive l'opensource !


Aucun commentaire:

Enregistrer un commentaire