Criando um script de criação de usuário para o servidor da Web [closed]

0

Ok, então estou construindo um servidor web e um servidor MySQL do zero ...

O servidor A vai ter o Apache e o PHP O servidor B vai ter o MySQL Ambos os servidores estão executando o servidor Ubuntu 12.04 LTS

Eu planejo deixar minha família e meus amigos terem suas próprias contas (como um host REAL!) e decidi tentar criar scripts para o processo de criação de contas. Agora, posso fazer um simples liner no script em lotes do Linux ou do DOS, o que eu quero fazer, mas scripts de shell completos me assustam.

Então, aqui está o que eu tenho ... Será que vai funcionar sem colapso catastrófico ???

REM Lets prompt for the user info...

echo -n "Please enter the new username: "
read user
echo -n "Enter the default password: "
read password
home=/var/www/$user

REM Create the user and assign the password

sudo useradd $user
net user $user $password

REM Create them an account on the MySQL server

database='$user'_db
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "create user '$user'@'%' identified by '$password';"
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "create database $database;"
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "grant all on '$database'.* to '$user'@%;"

REM Making some dirs

mkdir $home
mkdir $home/public_html
mkdir $home/public_ftp
usermod -m -d $home

REM Gotta let them have access

chown -R $user:$user $home
chmod 755 $home/public_html
chmod 755 $home/public_ftp

REM Add to some groups

useradd -G sftp $user
useradd -G ftp $user
useradd -G ssh $user

/etc/init.d/apache2 restart
    
por Joshua Parnell 05.07.2013 / 21:09

1 resposta

0

É melhor você usar um produto existente. Um que vem à mente é o ISPConfig. Eu usei isso no passado e funcionou muito bem. Você pode até mesmo fornecer uma GUI aos seus usuários finais para gerenciar sua parte do servidor. Você também tem restrições de cota sobre o número de domínios e / ou sites que podem ser hospedados.

link

link

    
por 05.07.2013 / 21:21