Portada del sitio > Internet > Instalar un servidor > Servidor FTP
Instalar un servidor - XI
Servidor FTP
Jueves 11 de mayo de 2006, por
Necesitamos un server-ftp para poder subir files, tanto root como los usuarios del sistema.
Elijo pure-ftpd por ser rápido, efectivo y seguro (el poco código que tiene hace que sea más difícil encontrar un bug).
http://pureftpd.org/
Para instalarlo disponemos de dos opciones (binarios o fuentes)
opción 1) con #apt-get
# apt-get install pure-ftpd
standalone (si va a soportar muchas conexiones)
inetd (si va a soportar pocas)
* algunas opciones sólo están disponibles en modo standalone
Si después nos arrepentimos:
# dpkg-reconfigure pure-ftpd-common
Opciones:
En los ficheros de configuración:
en la ruta "/etc/pure-ftpd/conf"
En lugar de un fichero con varias opciones, hay varios ficheros (cada uno es una opción).
Los más importantes son:
AltLog -> clf:/var/log/pure-ftpd/transfer.log
ChrootEveryone -> yes (encajar cada usuario en su directorio personal)
IPV4Only -> yes
MaxClientsNumber -> 5
MaxClientsPerIP -> 5
MaxDiskUsage -> 95 (indica el porcentaje)
MinUID -> 1000 (no pueden entras usuarios del sistema con menos de este uid en el ftp)
NoAnonymous -> yes (deshabilita la entrada de usuarios anónimos)
PAMAuthentication -> yes
ProhibitDotFilesRead -> yes
PureDB -> /etc/pure-ftpd/pureftpd.pdb
Quota -> 100 500 (primero nº de archivos y después los megabytes)
UserBandwidth -> 1000 1000 (primero la subida y después la bajada)
con # pure-ftpd —help salen todas las opciones
más ayuda con # man pure-ftpd
Los reiniciamos con:
# /etc/init.d/pure-ftpd restart
opción 2) instalando desde las fuentes
Tras analizar y probar ambas opciones me quedo con esta segunda:
Instalacion:
Bajamos las fuentes (de la última versión) desde:
ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/
ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.20.tar.gz
Nos situamos en la carpeta donde lo hemos bajado y descomprimimos:
$ tar -xvzf pure-ftpd-1.0.20.tar.gz
Nos posicionamos en el directorio creado:
$ cd pure-ftpd-1.0.20
Opciones de compilación:
$ ./configure --help
elegiremos las siguientes:
--without-inetd -> Como el servidor lo tendremos como un proceso aparte, no necesitamos soporte inetd --with-puredb -> Soporte para usuarios virtuales --with-ratios -> Soporte para ratios de subida/bajada --with-quotas -> Soporte para cuotas --with-ftpwho -> Soporte para poder ver al momento quien está conectado y qué está haciendo --with-throttling -> Soporte para limitar el ancho de banda --with-language=spanish -> Soporte para nuestro idioma
Por tanto:
$ ./configure --without-inetd --with-puredb --with-ratios --with-quotas --with-ftpwho --with-throttling --with-language=spanish
$ make
$ su
# make install
Configuración para usuarios del sistema
Añadimos la línea:
/bin/false [no olvidad ENTER]
al fichero:
/etc/shells
A los users del sistema, les daremos espacio web y acceso ftp, pero no acceso al sistema:
nano /etc/passwd ... usuario:x:1002:100::/home/usuario:/bin/false ...
(tb se puede configurar la variavle DSHELL en el /etc/adduser.conf)
Apache debe estar configurado para permitir que los usuarios creen sus web’s personales
Iniciar el server:
# /usr/local/sbin/pure-ftpd -A -B -c 5 -C 2 -d -E -j -n 1000:100
– A para que no pueda salir de su directorio de inicio
– B correr en segundo plano
– c 5 número máximo de usuarios simultáneos
– C 2 número máximo de conexiones desde la misma IP simultáneos
– d Log verboso (loguea con bastante información)
– E No se permiten usuarios anónimos
– j crea el directorio raíz a los usuarios virtuales
– n 1000:10 max.1000 files:max 100 megas
(de todas formas, la cuota de disco para los users se hará con quote)
Pararlo:
# killall pure-ftpd
Deberíamos crear un script para que se inicie al arrancar el sistema
Creamos un script de nombre ’ftpdani’ (por ej.)
con el siguiente contenido:
#!/bin/bash
case "$1" in
iniciar)
echo "Arrancando pure-ftpd..."
/usr/local/sbin/pure-ftpd -A -B -c 5 -C 2 -d -E -j -n 1000:100;;
parar)echo "Terminando pure-ftpd..."
killall pure-ftpd;;
*)echo "Uso: $0 start|stop"
exit 1;;
esac
exit 0
tenemos que ponerlo en: /etc/init.d/
No olvidar darle permisos al script
# chmod 755 ftpdani
Además tecleamos:
# update-rc.d ftpdani defaults
con lo cual se iniciará al arrancar el sistema.
Además el script nos permite iniciarlo y pararlo mediante:
# /etc/init.d/./ftpdani iniciar # /etc/init.d/./ftpdani parar
Mensajes
1. Complemento al servidor FTP, 25 de julio de 2006, 21:31, por Lito
Además del servidor de FTP, para los usuarios normales sería mucho más sencillo el uso de un gestor de documentos por web como el PHPfileNavigator.
Gracias a esto los usuarios no necesitarán utilizar ningún otro programa a mayores del navegador web y tendrán un repositorio de documentos muy sencillo de usar.
Ver en línea : Web del PHPfileNavigator