Automatizar a criação de domínios, sites e usuários de FTP
Publicado por Fernando Leonid Careaga Camelo (última atualização em 11/04/2020)
[ Hits: 2.409 ]
É um script em bash que tem como objetivo criar domínios, site web e FTP, além dos usuários para utilização do FTP. Os domínios são passados como argumento por meio de um arquivo texto.
O script é dividido em 4 arquivos:
- criarDominio.sh
- criarSite.sh
- criarFTP.sh
- criarDSF.sh
E depende de 3 arquivos que são utilizados como base para a configuração dos respectivos serviços:
- db.modelo
- conf.modelo
- html.modelo
Esse script foi criado para fins didáticos, ou seja, com objetivo de demostrar a importância dos scripts no dia a dia dos profissionais de redes. Por esse motivo estão divididos em partes, onde dividimos os problema em pequenos soluções que juntas resolvem o necessário.
A ideia de compartilhar e ajudar quem está começando e ser ajudado com sugestões de melhorias e funcionalidades mais adequadas.
Arquivos disponíveis também no github:
https://github.com/fernandoleonid/servicosredes/
# Arquivo criarDominio.sh #!/bin/bash nomeDominio=$1 echo " zone \"$nomeDominio\" { type master; file \"/etc/bind/db.$nomeDominio\"; }; " >> /etc/bind/named.conf.default-zones cp db.modelo /etc/bind/db.$nomeDominio sed -i s/localhost/$nomeDominio/g /etc/bind/db.$nomeDominio systemctl restart bind9 ################################################## # Arquivo criarSite.sh #!/bin/bash nomeDominio=$1 cp conf.modelo "/etc/apache2/sites-available/$nomeDominio.conf" sed -i s/localhost/$nomeDominio/g "/etc/apache2/sites-available/$nomeDominio.conf" mkdir "/var/www/$nomeDominio" cp html.modelo "/var/www/$nomeDominio/index.html" sed -i s/localhost/$nomeDominio/g "/var/www/$nomeDominio/index.html" a2ensite $nomeDominio.conf systemctl reload apache2 ################################################## # arquivo criarFTP.sh #!/bin/bash dominio=$1 usuario=$(echo $1 | cut -d. -f1) useradd $usuario -p $(openssl passwd '123') -d /var/www/$dominio chown $usuario.$usuario /var/www/$dominio ################################################## # arquivo criarDSF.sh #!/bin/bash for dominio in $(cat listadominios.txt) do ./criarDominio.sh $dominio ./criarSite.sh $dominio ./criarFTP.sh $dominio done ################################################## # Arquivos modelo para os respectivos serviços ################################################## # db.modelo $TTL 86400 @ IN SOA ns1.localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns1.localhost. ns1 IN A 10.0.100.2 www IN A 10.0.100.2 ftp IN A 10.0.100.2 ################################################## # conf.modelo <VirtualHost *:80> ServerName www.localhost ServerAdmin webmaster@localhost DocumentRoot /var/www/localhost </VirtualHost> ################################################## # html.modelo <html> <head> <title> localhost </title> <meta charset="utf-8"> </head> <body bgcolor=localhost> <h1> Site em construção - localhost </h1> </body> </html>
Slapt CP 1.0 - salvar os pacotes baixados no Gslapt
Randomize - Gera números aleatórios de 1 a 100 mil
Script para conversão do OpenOffice para a lingua portuguesa (pt-BR) a partir do BrOffice
Nenhum comentário foi encontrado.
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Dock do debian está muito pequena (1)
Instalei Windows 11 e não alterou o Grub do Debian (0)
Linux Mint (21.2) não reconhece teclado mecanico RASEC da PCYES (2)