Para instalar vsftpd y apache solo utilizamos el comando:
$sudo apt-get install vsftpd apache2
Con esto se encarga de bajar todas las dependencias en caso de ser necesario, ahora comenzamos editando vsftd.conf
(Recuerda antes respaldar este archivo por si falla la configuración)
$ sudo vim /etc/vsftpd.conf
Os pongo aquí un ejemplo de configuración casera que no me da problemas y me funciona bastante bien:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
local_max_rate=5120
max_clients=5
max_per_ip=5
ftpd_banner=Bienvenid@ a tu cuenta FTP
Salimos guardando y creamos el archivo vsftpd.chroot_list:
$ sudo vim /etc/vsftpd.chroot_list
Lo cerramos guardando
Reiniciamos ahora el demonio y listo:
$ sudo /etc/init.d/./vsftpd restart
Algo importante es negarle a los usuarios ftp un acceso a la shell:
$ sudo vim /etc/shells
Al final del archivo añadimos la línea bin/false. Cuando creemos usuarios en el servidor debemos asignarle esta opción (Lo veremos más adelante)
Resumimos:
Tenemos instalado en el sistema un servidor web, otro de base de datos, un intérprete (PHP) y un servidor FTP. Cada vez que creemos un usuario en el servidor, éste tendrá su cuenta en /home y podrá acceder a su carpeta por FTP.
Uno de los inconvenientes es que la carpeta www está en el directorio /var. Además, nos gustaría que el servidor pudiera servir para que varios amig@s puedan probar sus scripts sin que se confundan con los míos. Necesitamos servidores virtuales alojados en cada carpeta de usuario.
(Fuente de lo siguiente)
1º Damos de alta el usuario en el servidor (por ejemplo, elena)
$ sudo useradd -d /home/elena -s /bin/false elena
2º Creamos el directorio y el subdirectorio public_html; le asociamos el directorio y una contraseña de usuario
$ sudo mkdir /home/elena
$ sudo mkdir /home/elena/public_html
$ sudo chown -R elena /home/elena
$ sudo passwd elena
3º Ejecutamos:
$ sudo ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled
$ sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled
$ sudo /etc/init.d/./apache2 restart
Ya podremos acceder a los contenidos web desde el navegador tecleando:
http://ip_del_servidor/~usuario/
Modo de operar (si trabajamos en nuestro puesto del aula)
- Realizamos nuestro script
- Lo cargamos vía FTP en nuestra cuenta (en el directorio public_html)
- Accedemos a él desde nuestro navegador
No hay comentarios.:
Publicar un comentario