¡Claro! A continuación te proporciono los comandos necesarios para instalar y configurar un servidor FTP en un servidor Ubuntu. Usaremos `vsftpd`, que es un servidor FTP muy popular y seguro.
1. **Actualizar el índice de paquetes:**
```bash
sudo apt-get update
```
2. **Instalar vsftpd:**
```bash
sudo apt-get install vsftpd
```
3. **Hacer una copia de seguridad del archivo de configuración original:**
```bash
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
```
4. **Editar el archivo de configuración de vsftpd:**
```bash
sudo nano /etc/vsftpd.conf
```
Realiza los siguientes cambios:
- Descomenta (elimina el `#`) las siguientes líneas:
```bash
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
```
- Añade las siguientes líneas al final del archivo para permitir FTP pasivo y otras configuraciones recomendadas:
```bash
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=10000
pasv_max_port=10100
```
5. **Crear la estructura de directorios FTP:**
```bash
sudo mkdir -p /home/$USER/ftp/upload
sudo chmod 550 /home/$USER/ftp
sudo chmod 750 /home/$USER/ftp/upload
sudo chown -R $USER:$USER /home/$USER/ftp
```
6. **Reiniciar el servicio vsftpd para aplicar los cambios:**
```bash
sudo systemctl restart vsftpd
```
7. **Abrir el puerto FTP en el firewall (si tienes UFW activado):**
```bash
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp
sudo ufw reload
```
8. **Verificar que el servicio vsftpd está funcionando:**
```bash
sudo systemctl status vsftpd
```
Ahora tu servidor FTP debería estar instalado y configurado. Puedes acceder al servidor FTP utilizando un cliente FTP como FileZilla. Asegúrate de usar las credenciales del usuario del sistema para iniciar sesión en el servidor FTP.
Estos pasos te ayudarán a configurar un servidor FTP básico en Ubuntu. Puedes ajustar la configuración según tus necesidades específicas.
Para crear un usuario llamado "ivanweb" con la contraseña "eve" y darle permisos completos para subir archivos en tu servidor FTP, sigue estos pasos:
1. **Crear el usuario `ivanweb`:**
```bash
sudo adduser ivanweb
```
Durante el proceso, se te pedirá que ingreses y confirmes una contraseña para el usuario. Usa "eve" como la contraseña.
2. **Establecer la contraseña para el usuario `ivanweb`:**
```bash
sudo passwd ivanweb
```
Ingresa "eve" como la nueva contraseña cuando se te pida.
3. **Crear la estructura de directorios FTP para `ivanweb`:**
```bash
sudo mkdir -p /home/ivanweb/ftp/upload
sudo chmod 550 /home/ivanweb/ftp
sudo chmod 750 /home/ivanweb/ftp/upload
sudo chown -R ivanweb:ivanweb /home/ivanweb/ftp
```
4. **Configurar vsftpd para permitir que `ivanweb` tenga permisos de escritura:**
Edita el archivo de configuración de vsftpd:
```bash
sudo nano /etc/vsftpd.conf
```
Asegúrate de que las siguientes líneas estén presentes y correctamente configuradas:
```bash
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
```
Añade las siguientes líneas si no están ya presentes:
```bash
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=10000
pasv_max_port=10100
```
5. **Reiniciar el servicio vsftpd para aplicar los cambios:**
```bash
sudo systemctl restart vsftpd
```
Con estos pasos, el usuario `ivanweb` con la contraseña `eve` tendrá permisos completos para subir archivos a través de FTP en su directorio de inicio configurado en `/home/ivanweb/ftp/upload`.
Ahora, puedes usar un cliente FTP como FileZilla para conectarte a tu servidor FTP con las credenciales de `ivanweb` y verificar que puedes subir archivos sin problemas.
Los comandos que mencionas tienen como objetivo crear un usuario específico para el servidor web con acceso restringido y preparar el entorno para que puedas subir archivos web. Vamos a revisar y completar estos pasos para lograr tu objetivo:
### Paso 1: Crear el Usuario `ivanweb`
Este comando crea el usuario `ivanweb` y establece su shell a `nologin`, lo que significa que el usuario no podrá iniciar sesión directamente.
```bash
sudo useradd -m ivanweb -s /usr/sbin/nologin
```
### Paso 2: Añadir el Shell `nologin` a `/etc/shells`
Abrir el archivo `/etc/shells` y asegurarse de que `/usr/sbin/nologin` esté listado para permitir que `nologin` sea un shell válido.
```bash
sudo nano /etc/shells
```
Añade la siguiente línea si no está presente:
```
/usr/sbin/nologin
```
Guarda el archivo y cierra el editor.
### Paso 3: Crear el Directorio para `ivanweb` en `/var/www/html/`
Crea el directorio donde se almacenarán los archivos web de `ivanweb`:
```bash
sudo mkdir -p /var/www/html/ivanweb
```
### Paso 4: Cambiar la Propiedad del Directorio
Cambia la propiedad del directorio a `ivanweb` para que este usuario tenga los permisos necesarios:
```bash
sudo chown -R ivanweb:ivanweb /var/www/html/ivanweb
```
### Paso 5: Configurar Permisos Adecuados
Asegúrate de que los permisos del directorio permitan al usuario subir archivos:
```bash
sudo chmod -R 755 /var/www/html/ivanweb
```
### Paso 6: Subir Archivos Usando WinSCP
Abre WinSCP y conéctate a tu servidor usando el usuario `ivanweb`. Sube tus archivos HTTP al directorio `/var/www/html/ivanweb`.
### Paso 7: Configurar Apache
Verifica que Apache esté configurado para servir archivos desde `/var/www/html/ivanweb`. Edita el archivo de configuración de Apache:
```bash
sudo nano /etc/apache2/sites-available/000-default.conf
```
Añade o modifica la línea `DocumentRoot` para que apunte a tu nuevo directorio:
```apache
DocumentRoot /var/www/html/ivanweb
```
Guarda los cambios y cierra el editor.
### Paso 8: Reiniciar Apache
Reinicia Apache para aplicar los cambios:
```bash
sudo systemctl restart apache2
```
### Verificación
Abre un navegador web y accede a `http://<tu_dominio_o_IP>/ivanweb` para verificar que puedes ver los archivos que subiste.
Siguiendo estos pasos, habrás configurado un usuario con acceso restringido para subir archivos al directorio web, y podrás ver esos archivos a través de tu navegador.
Vamos a revisar los pasos para asegurarnos de que todo esté configurado correctamente y diagnosticar el problema. Aquí hay algunos pasos adicionales para verificar y solucionar el problema:
1. **Verificar que Apache esté ejecutándose:**
```bash
sudo systemctl status apache2
```
Asegúrate de que el servicio Apache esté activo y en funcionamiento. Si no está activo, puedes iniciarlo con:
```bash
sudo systemctl start apache2
```
2. **Verificar la ubicación de los archivos subidos:**
Asegúrate de que los archivos están en el directorio correcto:
```bash
ls -l /var/www/html/ivanweb/
```
Debes ver tu archivo `INTROBUTA.html` listado en este directorio. Si no está allí, asegúrate de haberlo subido al lugar correcto usando WinSCP.
3. **Verificar los permisos de los archivos y directorios:**
Asegúrate de que los permisos permitan el acceso a los archivos:
```bash
sudo chown -R ivanweb:www-data /var/www/html/ivanweb
sudo chmod -R 755 /var/www/html/ivanweb
```
El propietario del directorio debería ser `ivanweb` y el grupo debería ser `www-data`. Los permisos `755` aseguran que el servidor web pueda leer los archivos.
4. **Configurar correctamente Apache:**
Asegúrate de que Apache esté configurado para servir archivos desde `/var/www/html/ivanweb`. Edita el archivo de configuración de Apache:
```bash
sudo nano /etc/apache2/sites-available/000-default.conf
```
Asegúrate de que la línea `DocumentRoot` apunte a `/var/www/html`:
```apache
DocumentRoot /var/www/html
```
Si estás usando una configuración de sitio virtual separada para `ivanweb`, asegúrate de que esté habilitada y correctamente configurada.
5. **Reiniciar Apache:**
Después de realizar cambios en la configuración de Apache, siempre reinicia el servicio para aplicar los cambios:
```bash
sudo systemctl restart apache2
```
6. **Verificar los archivos de registro de Apache:**
Si aún no puedes ver tu archivo, revisa los archivos de registro de Apache para obtener más información sobre posibles errores:
```bash
sudo tail -f /var/log/apache2/error.log
```
Los mensajes en este archivo pueden ayudarte a identificar problemas específicos con la configuración o los permisos.
Siguiendo estos pasos, deberías poder identificar y solucionar el problema que impide que tu archivo `INTROBUTA.html` se muestre correctamente en `http://10.10.10.133/ivanweb/INTROBUTA.html`.
No hay comentarios.:
Publicar un comentario