Présentation
IspCP Omega est la suite du projet VHCS. Il permet de gérer simplement les hôtes virtuels Apache, ainsi que la création de sous-domaines, comptes email, bases de données MySQL, comptes FTP etc.
Avantages
Un « Control Panel » permet de gérer ses sites, clients, comptes mails etc simplement, sans avoir à passer par l’édition de fichier de configuration ou de commandes en shell pour configurer des comptes…
Il permet de gérer des forfait d’hébergement et donc de gérer tout les clients, revendeurs par une interface web…
Pour IspCP, PHP tourne en CGI, ce qui est pas mal pour gérer plusieurs versions par virtual host : un host pourra tourner en PHP5 tandis qu’un autre tournera en PHP4
On peu également régler le php.ini pour chaque domaine! On peu par exemple, « tweaker » certains domaines…
Il est aussi généralement simple de rajouter des plugins sur ses control panels tels que des backups ou autre
Inconvénients
En général, une fois le Control Panel installé, il est plutôt difficile de maintenir ses logiciels à jour puisqu’ils sont contrôlés par un daemon propre.
Ce n’est PAS le cas pour IspCP Omega! Pour ne pas en citer un autre, Direct Admin (oups!
) contrôle la mise à jour de ses logiciels. Si on veut mettre à jour PHP, malheur à celui qui essayera de faire un apt-get update : ca n’aura aucun effet sous Direct Admin.
Pour certains administrateurs de serveurs, ou simples développeurs qui s’improvisent administrateurs (comme moi :p), ils préféreront la solution de ispCP Omega permettant tout de même de garder le contrôle sur sa machine… Une mise à jour de php n’influe en rien le fonctionnement du daemon…
Installation de IspCP Omega sur Debian etch
L’installation se fait sur une Debian « fraiche », sans versions de apache php ou autres…
une fois l’install de votre distrib terminée, rendez-vous ici et suivez les étapes…
Une fois tout cela configuré, rendez vous sur admin.votredomaine.tld et amusez vous!
- htdocs
- includes
- classes
- images
- css
- script
- index.php
Attention, dans ce cas, tout le monde peut acceder aux répértoires ‘includes’ et ‘classes’
Meme s’il est possible d’ajouter un .htaccess (permet de configurer partiellement Apache).
Pour activer la lecture des fichiers .htaccess dans le serveur Apache, il va falloir ajouter/remplacer les lignes suivantes dans httpd.cnof de apache :
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Fonctionne tres bien sous apache, mais si on migre vers un autre serveur tel que IIS, le systeme ne fonctionnera plus.
Si on met le dossier ‘includes’, et les autres pages outre index.php, au même niveau que htdocs, personne n’y aura acces depuis l’exterieur.
Pour acceder a la page ‘contact’ par exemple, on passera par index.php?page=contact.
Ce n’est par contre pas recommender pour le referencement de sites.
On utilisera ensuite un switch ou un if dans la page d’index pour recuperer la page d’index.
On peut aussi utiliser le $_SERVER['PATH_INFO'] de php pour obtenir ceci : index.php/page/contact
La technique d’ URL REWRITING est la facon la plus optimisé pour referencer un site.
Il existe une syntaxe différente pour chaque serveurs. Voir ce lien pour en savoir plus sur le fonctionnement de l’url rewriting pour Apache 2.*
Il faut pour activer l’url rewriting sur Apache 2 modifier le httpd.conf
AllowOverride All
LoadModule rewrite_module modules/mod_rewrite.so
Il ne reste plus qu’a activer RewriteEngine dans le vhost de votre site
RewriteCond permettra de donner des condition pour que la réécriture fonctionne
RewriteRule permet de donner l’expression reguliere d’ecriture pour l’URL.
Pour une meilleur compréhension et maintenance, il est recommandé de séparer la logique métier et la partie présentation.
La logique metier c’est le traitement informatique nécéssaire pour géréer l’activité de l’entreprise.
La présentation est la page HTML envoyé au visiteur
Exercice
Une entreprise réalise une maintenance de son site. Tous les 7 décembre. La durée du traitement dure 24h. Réaliser une redirection automatique tous les 7 décembre.
RewriteEngine On
RewriteCond %{TIME_MON} 12
RewriteCond %{TIME_DAY} 07
RewriteRule ^ /maintenance.php [L]