====== Tutoriels Gandi AI ======
Même si vous avez un serveur configuré sur Gandi AI, vous allez en plus pouvoir installer toutes sortes d'applications disponibles sur internet. N'importe lesquelles en fait, du moment qu'elles ne nécessitent pas l'accès **root** (mode Expert) à votre serveur.
**Prérequis à l'installation de ces applications**:
*Si vous aviez choisi une installation personnalisée de votre serveur, assurez vous que les modules suivants y figurent: **Apache2**, **PHP5**, **MySQL**, **ProFTPd** ([[fr:hosting:gandi-ai:manage|aide]])
*Un logiciel FTP. Nous recommandons [[http://www.filezilla.fr/|FileZilla]]. Si vous ne savez pas (encore) vous servir d'un logiciel FTP, [[fr:hosting:gandi-ai:ftp-upload|ce tutorial trés simple]] vous montrera comment faire.
===== Blogs =====
* [[fr:hosting:using-linux:tutorials:gandiai:wordpress|Installer un blog WordPress sur Gandi AI]]
* [[fr:hosting:using-linux:tutorials:gandiai:pluxml|Installer un blog PluXml sur Gandi AI]]
===== CMS =====
* [[fr:hosting:using-linux:tutorials:gandiai:spip|Installer un SPIP sur Gandi AI]]
* [[fr:hosting:using-linux:tutorials:gandiai:drupal|Installer Drupal sur Gandi AI]]
* [[fr:hosting:using-linux:tutorials:gandiai:ezpublish|Installer eZ Publish sur Gandi AI]]
===== E-Commerce =====
* [[fr:hosting:using-linux:tutorials:gandiai:oscommerce]]
===== Forums =====
* [[fr:hosting:using-linux:tutorials:gandiai:phpbb|Installer un forum phpBB sur Gandi AI]]
===== Galleries d'images =====
* [[fr:hosting:using-linux:tutorials:gandiai:gallery2|Installer Gallery2 sur Gandi AI]]
===== Groupware =====
* [[fr:hosting:using-linux:tutorials:gandiai:ovidentia|Installer Ovidentia sur Gandi AI]]
===== Outils communautaires =====
* [[fr:hosting:using-linux:tutorials:gandiai:teamspeak|Installer un serveur TeamSpeak sur Gandi AI]]
===== Wikis =====
* [[fr:hosting:using-linux:tutorials:gandiai:dokuwiki|Installer DokuWiki sur Gandi AI]]
* [[fr:hosting:using-linux:tutorials:gandiai:mediawiki|Installer MediaWiki sur Gandi AI]]
===== Subversion =====
* [[fr:hosting:using-linux:tutorials:gandiai:subversion|Utiliser Subversion (SVN) avec Gandi AI]]
===== Programmation =====
* [[fr:hosting:using-linux:tutorials:gandiai:deploying-rails-applications|Déployer une application Ruby on Rails avec Gandi AI]]
===== Système =====
* [[fr:hosting:using-linux:tutorials:gandiai:alerte-espace-disque| Être alerté en cas de dépassement de l'utilisation de l'espace disque ]]
===== Quitter Gandi AI pour installer un virtualhost sécurisé par SSL sur Apache2 =====
Vous devrez utiliser un autre gestionnaire de connexions Apache (nommé MPM) que PerUser que nous utilisons en mode Gandi AI.
En effet, PerUser ne supporte pas SSL pour le moment.
Nous conseillons l'utilisation de Prefork, MPM par défaut d'Apache2 qui supporte le module SSL. Pour l'installer, utilisez la commande : aptitude (ou apt-get) install apache2-mpm-prefork.
Vous devrez adapter les droits et permissions de vos répertoires sources de vos virtualhosts en fonction de la configuration d'Apache.
Une fois le SSL installé sur votre serveur, il se peut que vous rencontriez des erreurs lors de l'éxécution de certains scripts Php, notamment PhpMyAdmin.
Cela est dû à la configuration de Php spécifique au mode Gandi AI, il est donc nécéssaire de réinstaller certains paquets liés à PHP pour régler le problème. Cela se fait en deux lignes de commande :
On supprime les paquets posant problème :
aptitude purge hosting-agent-plugins-packages-php-apache gandi-hosting-agent-plugins-packages-phpmyadmin gandi-hosting-agent-plugins-packages-apache gandi-hosting-agent-plugins-internal-debian gandi-hosting-agent-plugins-internal-unix gandi-hosting-agent-plugins-packages-proftpd gandi-hosting-agent-plugins-packages-mysql phpmyadmin --purge
Validez alors la suppression des paquets et des dépendances, nous les réinstallerons par la suite.
Une fois la suppression des paquets terminée, tapez la commande suivante afin de réinstaller les paquets et leurs dépendances :
aptitude install apache2 apache2-mpm-prefork php5-xcache php5-tidy php5-pspell php5-pgsql php5-mysql php5-mcrypt php5-gd php5-curl php5-common php5-cli libapache2-mod-php5 phpmyadmin
Enfin :
aptitude reinstall apache2 apache2-mpm-prefork php5-xcache php5-tidy
Une fois réinstallé, tout fonctionnera de nouveau normalement.
===== Créer un virtualhost et un utilisateur FTP après avoir quitté Gandi AI (si vous utilisez toujours PerUser) =====
Identifiez-vous avec l'utilisateur "admin" en SSH, puis tapez la commande "su -" pour passer en root (pour information "-" permet de disposer de l'environnement de l'utilisateur root).
Rendez-vous dans le dossier de configuration des virtualhosts :
cd /etc/apache2/sites-available/
Copiez un virtualhost :
cp 000-www.example.net 001-www.domain.tld
Modifiez le en utilisant votre éditeur préféré :
nano/emacs/vim/... 001-www.domain.tld
Configurez alors les options nécessaires :
ServerName www.domain.tld
ServerAlias domain.tld
ServerAdmin webmaster@domain.tld
DocumentRoot "/srv/d_data/www/www.domain.tld/htdocs"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ /srv/d_data/www/www.domain.tld/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /srv/d_data/www/www.domain.tld/logs/www.domain.tld-error.log
LogLevel error
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
CustomLog /srv/d_data/www/www.domain.tld/logs/www.domain.tld-access.log combined env=!loopback
ServerSignature On
DAVLockDB /srv/d_data/www/www.domain.tld/db/DAVLock
ServerEnvironment userftp_www-userftp
MaxProcessors 20
Include /etc/apache2/sites-includes/www.domain.tld/
Créez les fichiers et répertoires nécessaires :
mkdir /etc/apache2/sites-includes/www.domain.tld/
mkdir /srv/d_data/www/www.domain.tld/
cd /srv/d_data/www/www.domain.tld/
mkdir htdocs logs db cgi-bin
cd logs/
touch www.domain.tld-access.log www.domain.tld-error.log
Ensuite, crééz le groupe FTP :
addgroup www-userftp
Puis l'utilisateur :
useradd -s /bin/false -g www-userftp -d /srv/d_data/www/www.domain.tld/ userftp
-s : spécifie le shell, ou dans ce cas, l'absence de shell
-g : spécifie le groupe
-d : spécifie le répertoire d'accueil
Donnez les droits sur les répertoires à l'utilisateur FTP et son groupe :
chown -R userftp:www-userftp /srv/d_data/www/www.domain.tld/
Définissez l'environnement PerUser :
Editez le fichier /etc/apache2/conf.d/peruser.processors, et ajoutez :
User userftp
Group www-userftp
C'est la définition du "ServerEnvironment" dans
du fichier de configuration du virtualhost.
Ensuite, activez le virtualhost et redémarrez Apache :
a2ensite 001-www.domain.tld
/etc/init.d/apache2 restart