terça-feira, 29 de dezembro de 2015

VHostCreator :: Criação automática de Virtual Hosts com Shellscript


A criação de Virtual Hosts é quase que tarefa necessária na vida dos desenvolvedores e administradores de sistemas, uma vez que sua prática possibilita a hospedagem de vários sites, aplicações e web services em um só servidor, além de deixar mais amigável o desenvolvimento de diversas aplicações web para quem está programando. Há quem considere essa tarefa massante quando repetida diversas vezes, então há um tempo decidi focar 30 minutinhos do meu tempo a criar um Script que possibilite a criação e configuração automática desse recurso dentro de ambientes Linux baseados em Debian. Caso sinta necessidade de adaptar o código para o Slackware, CentOS, Fedora e entre outros, fique a vontade para visitar o repositório e melhorar o código.

Clonando e Instalando o Projeto:

 root@fidelis~#: git clone https://github.com/msfidelis/VHostCreator.git  
 root@fidelis~#: cd VHosCreator  
 root@fidelis~#: chmod 777 instal-vhostcreator.sh ; ./install-vhostcreator.sh  


Criando o Virtualhost:

 root@fidelis~#: vhost-creator -h teste.meusite.com -d /var/www/html/meusite  



Agora é só acessar a URL que você definiu que o arquivo de hosts do Linux irá te guiar para o diretório do apache selecionado.



Source Code: 

1:  #!/bin/bash  
2:    
3:  #GERADOR AUTOMÁTICO DE VIRTUALHOSTS  
4:  # AUTHOR   :: Matheus Fidelis  
5:  # GITHUB   :: https://github.com/msfidelis  
6:  # TWITTER  :: http://twitter.com.br/fidelissauro  
7:  # S.O.    :: Debian 7, 8, Kali Linux 1.0, 2.0 e derivados  
8:    
9:  ###########################################################  
10:  # MODO DE USAR:   
11:  #        vhost-creator.sh -h teste.meusite.com -d /var/www/html/meusite  
12:    
13:  #PEGA OS ARGUMENTOS  
14:  while getopts 'h:d:' opt ; do  
15:   case $opt in  
16:    h) VHOST=$OPTARG ;;  
17:    d) DIRECTORY=$OPTARG ;;  
18:   esac  
19:  done  
20:    
21:    
22:  #CRIA O REGISTRO NO ARQUIVO HOSTS  
23:  echo "[+] CRIANDO O REGISTRO NO ARQUIVO HOSTS DO SISTEMA"  
24:  echo "127.0.0.1   $VHOST" >> /etc/hosts  
25:    
26:  echo $VHOST  
27:  echo $DIRECTORY  
28:    
29:  if [ -d "$DIRECTORY" ]; then  
30:    #CRIA O VIRTUALHOST  
31:    echo "[+] CRIANDO O VIRTUALHOST BASEADO APONTANDO PARA $DIRECTORY"  
32:    echo "  
33:    <VirtualHost *:80>  
34:        ServerName $VHOST  
35:        ServerAlias www.$VHOST  
36:        DocumentRoot $DIRECTORY  
37:        <Directory $DIRECTORY/>  
38:            Options Indexes FollowSymLinks  
39:            #MultiViews  
40:            AllowOverride All  
41:            Order allow,deny  
42:            allow from all  
43:        </Directory>  
44:        ErrorLog ${APACHE_LOG_DIR}/$VHOST.error.log  
45:        CustomLog ${APACHE_LOG_DIR}/$VHOST.access.log combined  
46:    </VirtualHost>  
47:    " >> /etc/apache2/sites-available/$VHOST.conf  
48:      
49:    #CRIA O LINK SIMBÓLICO NA PASTA DE SITES PUBLICADOS  
50:    echo "[+] CRIANDO LINK SIMBÓLICO PARA PUBLICAR O SITE $VHOST"  
51:      ln -s /etc/apache2/sites-available/$VHOST.conf /etc/apache2/sites-enabled/$VHOST.conf  
52:    
53:    
54:    echo "[+] HABILITANDO O VHOST NO SISTEMA"  
55:    a2ensite $VHOST.conf  
56:    
57:    echo "[+] REINICIANDO O APACHE"  
58:    systemctl restart apache2.service  
59:      
60:  else   
61:    echo [-] DIRETÓRIO DO SITE NÃO ENCONTRADO...   
62:  fi  


Como vocês podem ver no Script, ele executa o processo normal de criação de VirtualHosts, e os mesmos podem ser editados em:
# vim /etc/apache2/sites-available/seuhost.conf  

Espero ter ajudado e Feliz 2016!

:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

1 comentários:

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com