videohive

Mise en place de Apache pour une plate forme mutualisée

Posté par Swifty_core le 30 novembre 2007 Comments (0)

Pour mettre en place une plate forme « mutualisée » ou simplement gérer plusieurs sites distinctement, on peut utiliser le module userdir.

Pour l’activier sur le serveur Apache, on doit activer ce module : sous linux, on créera des liens symboliques vers le repertoire /mods-enabled pour que tout fonctionne (en root):

debian:~# ln -s /etc/apache2/mods-available/userdir.conf     /etc/apache2/mods-enabled/userdir.conf<br/>
debian:~# ln -s /etc/apache2/mods-available/userdir.load     /etc/apache2/mods-enabled/userdir.load<br/>
debian:~# /etc/init.d/apache2 reload

Par défaut, apache va regarder dans le repertoire public_html du /home de l’utilisateur. Dans notre cas, nous allons laisser root créer le dossier :

debian:~#useradd test<br/>
debian:~# mkdir /home/test/public_html<br/>
debian:~# chmod 777 /home/test/public_html

Pour tester, il suffit de se rentre à l’adresse http://localhost/~test
Vous devrier aboutir au resultat escompté.

Apache2.2 : Les hôtes Virtuels

Posté par Swifty_core le 10 novembre 2007 Comments (0)

Pour servir plusieurs sites à partir d’un même serveur, il y à 3 catégories d’hôtes virtuels :

  • hôtes virtuels basés sur l’adresse IP : chaque site à une adresse IP distincte et une adresse IP ne peut être utilisée que par un seul site.
  • hôtes virtuels basés sur le port : une adresse IP pour l’ensemble des sites et chaques site à un port différent.
  • hôtes virtuels basés sur le nom : on distingue chaque site en fonction du champ Host de la requête HTTP

Pour la configuration des hôtes virtuels, on travaille à la fois sur le fichier http.conf de Apache, mais aussi sur le fichier httpd-vhosts.conf.
Les hôtes virtuels basés sur l’adresse IP

Dans le httpd.conf :

Listen 127.0.1.10:80
Listen 127.1.1.11:80
Listen 127.1.1.12:80

On peut tester en faisant un netstat -an

Une fois qu’on s’est assuré que cela marche, on décommente la ligne d’inclusion du fichier vhost :

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

On peut configurer les 3 sites dans le fichier vhost :

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/1"

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/2"

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/3"

On crée un dossier par site dans htdocs et on y ajoute un fichier de test.
On test les 3 sites :

  • http://127.1.1.10,
  • http://127.1.1.11,
  • http://127.1.1.12

Inconvenients de ce type de vhosts : limites de l’ipv4 sur le nombre de combinaison possible…

Hôte virtuel basé sur le port
cf. Hotes virtuels basé sur l’IP. On change dans le httpd.conf:

Listen 127.0.0.1:80
Listen 127.0.0.1:81
Listen 127.0.0.1:82

Et dans le vhosts.conf :

On test :

  • http://127.0.0.1:80,
  • http://127.0.0.1:81,
  • http://127.0.0.1:82

Hôte virtuel basé sur le nom

Pour palier aux contraintes de limite de l’IPv4 (cf. Hotes virtuels basé sur l’IP), on utilise ce type d’Hôtes Virtuels.
On change dans le httpd.conf:

Listen 127.0.0.1:80

Dans le vhost.conf

NameVirtualHost 127.0.0.1:80

ServerName foo.foo.com
DocumentRoot « C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/1″

ServerName foo.bar.com
DocumentRoot « C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/2″

ServerName foo.baz.com
DocumentRoot « C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/3″

Pour tester, soit on achete les noms de domaines (:D), soit on modifie le fichier hosts de l’OS.

Les trois sortes d’hôtes virtuels sont combinables.

Configuration de PHP5 pour MySQL5

Posté par Swifty_core le Comments (0)

Dns cette version de PHP, il existe 3 extensions possible pour pouvoir se connecter à MySQL.

  • php_mysql.dll : C’est une extension procédurale qui fait appel aux fonctions du type mysql_*. Ces fonctions sont utilisées pour les version antérieures à MySQL 4.0.
  • php_mysqli.dll : C’est une extension procédurale qui fait appel aux fonctions du type mysqli_*. Ces fonctions sont utilisées pour les version postérieures à MySQL 4.1.
  • php_pdo_mysql.dll : C’est une extension objet faisant référence aux objets PDO (pdo_*) [PHP Data Object]

Ces extensions sont dans le php.ini. En décommentant les lignes dont on à besoin, on charge l’extension (si l’extension est dans le systeme).

Remarque : pour PDO, du fait de « l’abstraction » nécéssite 2 extensions pou fonctionner.
extension=php_pdo.dll
extension=php_pdo_mysql.dll

graphicriver