Buenas
Otro apunte para que no me se olvide.
A la hora de instalar un servidor casero Apache, existen un modulo de apache, userdir, que permite que los distintos usuarios del sistema tengan una carpeta en su directorio home donde pueden alojar sus webs y que estas se publiquen automáticamente en el servidor.
La carpeta por defecto es /home/usuario/public_html/. Para acceder desde inet a esta carpeta la url es http://localhost/~usuario/. A mi modo de ver bastante incomodo.
Para cambiar la carpeta por defecto usaremos el siguiente comando:
$gksu gedit /etc/apache2/mods-enabled/userdir.conf
Nos pedirá la clave de administrador y nos mostrara un editor de texto con el siguiente fichero
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
Cambiamos las lineas
UserDir public_html a
UserDir nuevacarpeta y
<Directory /home/*/public_html> a
<Directory /home/*/nuevacarpeta>. Salvamos y cerramos.
Ejecutamos el siguiente comando
sudo aptitude install libapache2-mod-perl2
Que nos instalara un nuevo mod de apache, que nos permitirá a su vez ejecutar el siguiente código, que quitara la virgulilla (~) de las urls de los usuarios.
Una vez instalado ejecutamos el comando
gksu gedit /etc/apache2/httpd.conf
Y añadimos el siguiente código
<perl>
opendir H, '/home/';
my @dir = readdir(H);
closedir H;
foreach my $u (@dir) {
next if $u =~ m/^\./;
if (-e "/home/$u/public_html"){
push @Alias, ["/$u", "/home/$u/public_html/"];
}
}
</perl>
Acordándonos de cambiar en las lineas
if (-e "/home/$u/public_html"){ y
push @Alias, ["/$u", "/home/$u/public_html/"]; el nombre de la carpeta por la escogida antes.