Table des matières

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 (aide)

Blogs

CMS

E-Commerce

Forums

Galleries d'images

Groupware

Outils communautaires

Wikis

Subversion

Programmation

Système

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 :

<VirtualHost *:80>
	ServerName 	www.domain.tld
	ServerAlias     domain.tld
	ServerAdmin	webmaster@domain.tld

	DocumentRoot "/srv/d_data/www/www.domain.tld/htdocs"
    <Directory "/srv/d_data/www/www.domain.tld/htdocs">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /srv/d_data/www/www.domain.tld/cgi-bin/
    <Directory "/srv/d_data/www/www.domain.tld/cgi-bin/">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    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

    <IfModule mod_dav.c>
        DAVLockDB /srv/d_data/www/www.domain.tld/db/DAVLock
    </IfModule>

    <IfModule mpm_peruser_module>
        ServerEnvironment userftp_www-userftp
        MaxProcessors 20
    </IfModule>

    Include /etc/apache2/sites-includes/www.domain.tld/
</VirtualHost>

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 :

<IfModule peruser.c>
    <Processor userftp_www-userftp>
        User userftp
        Group www-userftp
    </Processor>
</IfModule>

C'est la définition du “ServerEnvironment” dans <IfModule mpm_peruser_module> du fichier de configuration du virtualhost.

Ensuite, activez le virtualhost et redémarrez Apache :

a2ensite 001-www.domain.tld
/etc/init.d/apache2 restart