~avz

administrando el sitio elpolla.net junto con su branding elpolla soluciones y telecomunicaciones 2025

Importante: La guía es una continuación de [[SFTP]].

Instalación

apt install nginx

Configuración

rm /etc/nginx/sites-enabled/default
vim /etc/nginx/sites-available/users

- Cada vez que se hace un usuario:
```bash
cp /var/www/html/default_user.html /home/$USUARIO/web/index.html

Scripts

Estos scripts usan el contenido de [[SFTP]] y de [[nginx con páginas para cada usuario]].

Crear usuario:

#!/bin/bash
export PATH=/sbin/:$PATH

read -p "Nombre del nuevo usuario: " usuario

if id "$usuario" &>/dev/null; then
    echo "El usuario $usuario ya existe."
    exit 1
fi

echo "Creando usuario $usuario..."
useradd -m -d /home/$usuario $usuario
passwd $usuario
usermod -aG sftpusers $usuario
mkdir /home/$usuario/drive /home/$usuario/web

echo "Copiando archivos a /home/$usuario..."
cp /home/LEEME.txt /home/$usuario/LEEME.txt
cp /var/www/html/default_user.html /home/$usuario/web/index.html

echo "Ajustando permisos..."
chown -R root:root /home/$usuario
chmod 755 /home/$usuario/
chown -R $usuario:$usuario /home/$usuario/web/ /home/$usuario/drive/

echo "Actualizando la configuración de Nginx..."

if ! grep -q "location /~$usuario {" /etc/nginx/sites-enabled/users; then
    sed -i "8i \    location /~$usuario {\n        alias /home/$usuario/web/;\n        autoindex off;\n        try_files \$uri \$uri/ =404;\n    }" /etc/nginx/sites-enabled/users
else
    echo "La configuración para el usuario $usuario ya existe en Nginx."
fi

systemctl reload nginx

echo "Usuario $usuario creado."

Borrar usuario:

#!/bin/bash
export PATH=/sbin/:$PATH

read -p "Nombre del usuario: " usuario

userdel $usuario
rm -rf /home/$usuario
sed -i "/location \/~$usuario {/,+4d" /etc/nginx/sites-enabled/users
systemctl reload nginx

echo "Usuario $usuario eliminado."