LAMP avec Ruid2
depuis Ubuntu 15.10, SuPHP n'est plus disponible (et n'est plus maintenu depuis pas mal de temps). l'occasion de se passer du plus lent des handlers PHP.
Ruid2 est son parfait remplaçant : il assure tout autant la sécurité dans le cadre d'un hébergement mutualisé, en étant beaucoup plus rapide (les processus sont recyclés, et leur uid est changé à la volée avant exécution). la config est tout aussi simple, le mode 'stat' utilise le propriétaire du script comme exécutant le processus Apache.
(dans un terminal, en root)
apt install libapache2-mod-ruid2
a2enmod ruid2
a2enmod userdir
vim /etc/apache2/mods-available/userdir.conf
<Directory /home/*/public_html>
[…]
RMode stat
</Directory>
vim /etc/apache2/mods-available/php5.conf
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine On
</Directory>
</IfModule>
service apache2 restart
vim /var/www/html/test.php
<?php
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
→ http://localhost/test.php
⇒ www-data
(dans un terminal, utilisateur test)
mkdir public_html
cd public_html
vim test.php
<?php
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
→ http://localhost/~test/test.php
⇒ test
(dans un terminal, utilisateur root)
apt remove libapache2-mod-suphp suphp suphp-common