WebProjectHelper – Générateur de classe PHP et de structure MySQL

Le 21 juin 2010 par Guillaume

webprojecthelper

Générez la structure MySQL et le code de vos classes PHP en quelques clics !

Ce site web est destiné aux développeurs PHP/MySQL qui en ont marre de passer des heures à faire la même chose : créer des tables, créer des classes, créer des getters, créer des setters, … Une tâche qui pourrait être automatisée à partir de simples définitions. Leur précieuse énergie doit être utilisée pour réfléchir, débattre, imaginer, et bien d’autre choses encore. Le travail barbant doit être délégué aux machines !

Site officiel

Pas de commentaires

Linux : Mise en place d’un serveur web (2)

Le 4 juin 2010 par Guillaume

Après avoir vu l’installation des différents services dans le précédent billet « Linux : Mise en place d’un serveur web (1) » nous allons maintenant nous pencher un peu plus sur la configuration du serveur http Apache2.


La configuration principale

Dans le fichier /etc/apache2/apache2.conf (le répertoire peut changer suivant la distribution installé, le nom du fichier est parfois httpd.conf) nous avons la configuration principale du serveur Apache. La configuration de base peut suffire dans la plupart des cas et le fichier est assez bien documenté pour comprendre a quoi correspond chaque ligne de configuration. Cependant voici quelques points que je modifie sur la plupart de mes installations :

AccessFileName               .htaccess

Indique le nom des fichiers de surcharges pouvant être créée par les utilisateurs, par defaut la valeur est .htaccess

ErrorLog                /var/log/apache2/error.log

Emplacement du fichier de logs d’Apache.

Include /etc/apache2/sites-enabled/

Emplacement des fichiers de configurations pour vos différents sites.

Les Virtuals Hosts

Apache permet grâce aux virtuals hosts d’utiliser plusieurs noms de domaines sur le même serveur avec la même adresse ip. Apache peut gérer les hôtes virtuels avec les commandes « a2ensite » et « a2dissite » mais personnellement je préfère l’édition manuel des fichiers pour ajuster correctement la configuration de chaque site.

Le répertoire /etc/apache2/sites-enabled/contient le fichier de configuration pour le site par défaut, « 000-default ». Pour permettre le « multi-site » j’utilise la configuration suivante :

NameVirtualHost *
<VirtualHost *>
     ServerAdmin webmaster@localhost
     ServerSignature Off
     DocumentRoot /var/www/domaine.tld/www/
     <Directory />
          Options FollowSymLinks
          AllowOverride None
     </Directory>
     <Directory /var/www/domaine.tld/www/>
          Options Indexes FollowSymLinks MultiViews
          AllowOverride None
          Order allow,deny
          allow from all
     </Directory>

     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
     <Directory "/usr/lib/cgi-bin">
          AllowOverride None
          Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
          Order allow,deny
          Allow from all
     </Directory>

     ErrorLog /var/log/apache2/error.log

     # Possible values include: debug, info, notice, warn, error, crit,
     # alert, emerg.
     LogLevel warn
     CustomLog /var/log/apache2/access.log combined

     Alias /doc/ "/usr/share/doc/"
     <Directory "/usr/share/doc/">
          Options Indexes MultiViews FollowSymLinks
          AllowOverride None
          Order deny,allow
          Deny from all
          Allow from 127.0.0.0/255.0.0.0 ::1/128
     </Directory>
</VirtualHost>

Pour que les modifications soit prises en compte on recharge la configuration du serveur apache avec la commande

/etc/init.d/apache2 reload

A partir de maintenant n’importe quel nom de domaine pointant sur l’ip de votre serveur affichera le site par défaut, c’est à dire celui défini dans le fichier 000-default ci-dessus.

Et pour gérer plusieurs domaines ?

Pour gérer plusieurs domaines la procédure reste identique. Pour chaque nouveau nom de domaine vous devez créer un fichier /etc/apache2/sites-enabled/domaine.tld dans lequel sera défini la configuration du domaine et des éventuels sous domaines.

Par exemple pour mon nom de domaine netha.fr j’utilise la configuration suivante :

<VirtualHost *>
     ServerAdmin webmaster@localhost
     ServerName www.netha.fr
     DocumentRoot /var/www/netha.fr/www/
     <Directory /var/www/netha.fr/www/>
         Options -Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
     </Directory>

ErrorLog /var/log/apache2/www.netha.fr.log
</VirtualHost>

<VirtualHost *>
     ServerAdmin webmaster@localhost
     ServerName blog.netha.fr
     DocumentRoot /var/www/netha.fr/blog/
     <Directory /var/www/netha.fr/blog/>
         Options -Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
     </Directory>

ErrorLog /var/log/apache2/blog.netha.fr.log
</VirtualHost>

<VirtualHost *>
     ServerAdmin webmaster@localhost
     ServerName search.netha.fr
     DocumentRoot /var/www/netha.fr/search/
     <Directory /var/www/netha.fr/search/>
         Options -Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
     </Directory>

ErrorLog /var/log/apache2/search.netha.fr.log
</VirtualHost>

Pensez à recharger la configuration du serveur Apache après chaque modification des fichiers de configuration.

Documentation Apache (site officiel, FR)

1 Commentaire

La vidéo HS de la semaine

Le 1 juin 2010 par Guillaume

Pas de commentaires

Linux : Mise en place d’un serveur web (1)

Le 1 juin 2010 par Guillaume

Voici le début d’une série d’article sur la mise en place d’un serveur web complet. Pour cela nous utiliserons Apache2 comme serveur HTTP, MySQL5 comme base de données, PHP5 pour les sites web dynamiques, ProFTPd pour le serveur FTP, et PHPMyAdmin pour la gestion de la base de données.


Dans ce premier article nous parlerons simplement de l’installation des différents paquets et le serveur sera fonctionnel. Nous aborderons la configuration des services dans le prochain billet.

Installation avec le gestionnaire de paquet Aptitude

aptitude update
aptitude install apache2 php5 mysql-server phpmyadmin proftpd

La première commande permet de mettre à jour la liste des paquets disponible sur votre installation Linux.

La deuxième permet l’installation des paquets demandés et des dépendances si nécessaire.

Pendant l’installation du serveur MySQL vous devrez renseigner le mot de passe root du serveur, pour ProFTPd il vous suffira d’indiquer si vous désirez lancer le serveur en mode inetd ou standalone, personnellement j’utilise la deuxième solution afin d’accélérer le temps d’accès lors de la connexion au serveur.

Si les opérations ce sont déroulées correctement vous devriez :

  • Avoir une page « it work » automatiquement généré par Apache à l’adresse : http://ip-du-serveur/
  • PHPMyAdmin est disponible à l’adresse : http://ip-du-serveur/phpmyadmin/
  • Lorsque vous créez un nouvel utilisateur linux, avec la commande « adduser nom-utilisateur », nom-utilisateur devrait pouvoir accèder à ses répertoires via son client FTP avec son mot de passe Linux.

Afin de vérifier que l’installation de PHP c’est elle aussi bien déroulé nous allons créer un fichier « phpinfo.php » contenant le code suivant :

<?php
phpinfo();
?>

Placer le fichier à la racine de votre serveur web (par defaut /var/www/) puis aller à l’adresse http://ip-du-serveur/phpinfo.php , si une page contenant des informations sur la configuration de PHP s’affiche alors l’installation c’est déroulé correctement.

Dans le prochain billet nous aborderons les configurations les plus courantes d’Apache.

3 Commentaires

The Raven

Le 25 avril 2010 par Guillaume

The Raven – Un court métrage réalisé avec un budget de 5000$

Pas de commentaires