Siguiendo con temas de linux -especificamente ubuntu- vamos a configurar un servidor ftp para cargar información a nuestro server.
Todo lo haremos desde consola. inicien sesion y comenemos.
Instalamos desde consola vsftpd que es el nombre de nuestro servidor ftp
Sudo apt-get install vsftpd
Arrancamos y habilitamos el servicio ftp
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Vamos a crear un usuario para el ftp
sudo adduser elearning
Les pedirá la contraseña para ese usuario e información adicional
Ahora hay que crear el directorio a donde nos conectaremos, yo ya tengo uno en la dirección /var/www/html/moodle.
Si van a crear su directorio, haganlo con la siguiente instrucción:
sudo mkdir ruta_directorio
Cambien ruta_directorio por la dirección de su carpeta.
Demosle permisos al usuario para acceder a esa carpeta
sudo chown elearning:elearning /var/www/html/Moodle
Necesitamos hacerle algunas modificaciones a la configuración del ftp, primero hacemos una copia por si hacemos algo mal
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Abramos el archivo de configuración
sudo nano /etc/vsftpd.conf
agreguen las siguientes líneas al final del archivo
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/var/www/html/moodle
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
allow_writeable_chroot=YES
Esto es lo que mas nos importa de estas lineas:
chroot_local_user = YES -> Esta directiva la utilizaremos para encerrar al usuario en su directorio y evitar que pueda navegar por todo el sistema.
local_root -> es la dirección del directorio al que queremos llegar
Guarden y cierren el archivo (Control + x)
Ahora vamos a crear el archivo /etc/vsftpd.userlist ahí es donde se encuentran los usuarios autorizados dentro de vsftpd
sudo nano /etc/vsftpd.userlist
Después cierren el archivo (control + X).
Reiniciamos el server ftp
sudo systemctl restart vsftpd
Con esto debería quedar listo la parte de configuración del server ftp
Configuración del cliente.
Vamos a probar nuestra conexión usando Filezilla
Yo tuve un detalle y es que al momento de querer subir archivos me marco un error de permisos. Tuve que darle permisos a esa carpeta
chmod 777 /var/www/html/moodle/theme