Installation de Zend Server 8.5 sous debian 7

26 septembre 2016 | Posted in Logiciel, php | By

Bien qu’étant administrateur système depuis quelques années, mon premier amour a été le code php. Et comme on dit souvent, on revient souvent à ses premiers amours. Ainsi, aujourd’hui, on va installer et utiliser la dernière version de Zend Server.

Alors pourquoi Zend server. Tout simplement parce que j’aime coder avec Zend Studio et que les deux forment une plate-forme de développement très efficace. De plus, avec le Z-ray, nous avons une veritable analyse de notre code. Plusieurs Framework et CMS sont en plus pleinement intégrés dans Z-ray :

  • Magento
  • Drupal
  • ZF
  • WordPress
  • Symfony

Et franchement c’est un gros plus. Certains me diront « oui mais pour symfony on a la même chose ». Oui certes, mais que pour symphony, là, on l’a pour plusieurs types de framework.

Pré-requis :

Une debian 7 64 bits from scratch

Pour commencer, nous allons installer mysql car il n’est pas installé automatiquement. On en profitera pour rajouter quelques paquets.

apt-get install htop screen rsync wget less sudo psmisc ntp ntpdate bind9 bzip2 vim w3m zip iftop git joe iotop tmux fail2ban rkhunter mysql-server

et un peu de couleur pour vim

echo "syntax on
set hlsearch
set number" >> /etc/vim/vimrc

Editez le fichier /etc/apt/source.list et ajoutez

deb http://repos.zend.com/zend-server/8.5/deb_ssl1.0 server non-free

Puis récupérez la clé

wget http://repos.zend.com/zend.key -O- | apt-key add -

on met à jour notre liste

apt-get update

on installe notre zend server avec la version du php que l’on désire.

apt-get install zend-server-php-5.5

Configuration de Zend

Pour finir l’installation, il faut vous rendre sur l’interface web d’administration de votre serveur

http://VOTRE_IP:10081/ZendServer

Sélection_001_17_12:23:40Il suffit d’accepter en cochant la case puis next

Sélection_001_17_12:24:03On sélectionne le type de serveur que l’on veut, personnellement c’est pour du développement ce qui me permet d’avoir Z-ray d’activé.

Sélection_001_17_12:25:31On définit les mots de passe administrateur et développeur pour le zend server.

Sélection_001_17_12:25:42

Le zend server déploie ses librairies :

Sélection_001_17_12:26:23Il reste plus qu’a cliquer sur launch pour finir l’installation

Sélection_001_17_12:26:39Zend server travaille quelques intants

et vous arrivez sur votre administration :

Sélection_001_17_12:27:19

On va maintenant déployer phpmyadmin depuis l’interface de zend. Pour cela, c’est très simple, sur la page d’accueil, cliquez sur le logo phpmyadmin

Sélection_001_17_13:31:13

Sélection_001_17_13:31:50Zend server télécharge son paquet d’installation de phpmyadminSélection_001_17_13:32:21 Il faut rentrer le nom du répertoire pour la configuration d’apache

Sélection_001_17_13:42:55Zend Server valide que les pré-requis sont installés.

Sélection_001_17_13:50:40Il vous demande de rentrer les paramètres de la base de données que nous avons installé précédemment.
Normalement vous n’avez qu’a mettre le mot de passe.

Sélection_001_17_13:50:59Le dernier écran qui récapitule les informations et on clique sur déployer

Sélection_001_17_13:51:10Zend installe phpmyadmin.

Comme vous pouvez le constater, il est très simple de déployer une application sur zend server.

 

Conclusion

On a vu ensemble l’installation via le dépot de zend de zend server 8.5 sous debian 7. Mais pourquoi ne pas l’avoir fait sous debian 8 ?

En fait sous debian 8, on a un souci avec le module php5 de zend et apache 2.4. Ce n’est pour l instant pas compatible.

Read More...

Géolocalisation de vos visiteurs grâce à leur ip et a php

15 novembre 2011 | Posted in php, planet-libre, Programmation | By

Introduction

Lorsque l on possède un site, il est bien sur ouvert au monde entier, il peut être interessant de savoir de quels pays viennent les internautes pour par exemple :

  • leur fournir un contenu différent
  • afficher le site dans la bonne langue…

Il existe de multiples solutions, gratuites ou payantes.

On peut acheter une base de donnée ou passer par des webservices.

Les webservices

Le probleme majeur dans ce type de solution reste le temps de latence entre la demande et le resultat ce qui peut donc ralentir grandement votre site. De plus vous êtes tributaire d’un prestataire qui peut très bien avoir une coupure de service ou meme carrément tout arréter du jour au lendemain.

Les bases de donnée.

Solution bien souvent payante mais qui a l avantage d être plus rapide. elle peut néanmoins consommer pas mal de ressources suivant sur votre site.

La solution !!!

A force de recherche j ai fini par trouver une vrai solution efficace qui merite d être connue!!
Il existe une bibliothèque native dans php qui fait ce travail : geoip !!!

Je vais donc vous montrer comment la mettre sous php5 sur une debian et l accoupler avec une banque de donnée gratuite de maxmind que nous mettrons a jour grâce à un cron.

Installation

Allez c est parti pour un tour, on va commencer par récupérer la base de donnée d ip par pays disponible via maxmind

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mkdir  /usr/share/GeoIP
mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

Maintenant on installe la librerie qu il nous faut

apt-get update
apt-get install php5-geoip

Il nous reste plus qu a faire une petite configuration dans le fichier .ini de geoip

echo "geoip.custom_directory = /usr/share/GeoIP" >> /etc/php5/conf.d/geoip.ini

On reload apache

/etc/init.d/apache2 restart

On verifie avec un phpinfo qui devrait vous donnez cela :
phpinfo avec geoip

Utilisation

L utilisation de la bibliotheque est très très simple je vous renvoie à la doc sur le site php pour plus d info :

http://www.php.net/manual/fr/book.geoip.php

Voici un exemple très simple pour tester :

echo "<pre>";
print_r(geoip_record_by_name($_SERVER['REMOTE_ADDR']));
echo "</pre>";

Qui donne le résultat suivant :
Array
(
[continent_code] => EU
[country_code] => FR
[country_code3] => FRA
[country_name] => France
[region] =>
[city] =>
[postal_code] =>
[latitude] => 46
[longitude] => 2
[dma_code] => 0
[area_code] => 0
)

Et le tour est joué. Cette base est gratuite et ne possède pas beaucoup de donnée mais vous pouvez très bien avoir plus d information avec une base payante.

Mise à jour

Maintenant que tout cela marche bien il est temps de mettre tout cela à jour de manière automatique grâce a un cron

Perso moi je veux faire la mise a jour une fois par semaine

touch /etc/cron.weekly/geoip_update.sh
chmod a+x  /etc/cron.weekly/geoip_update.sh

Editez le fichier et coller les lignes suivantes

cd ~
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

Voila le tour est joué

 

Read More...