Skip to content

Instantly share code, notes, and snippets.

@DawTaylor
Created December 20, 2016 16:39
Show Gist options
  • Save DawTaylor/12c5fad265a1b4427aaf0fb8492667b5 to your computer and use it in GitHub Desktop.
Save DawTaylor/12c5fad265a1b4427aaf0fb8492667b5 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Verifica entradas
if [ -z $1 ]; then
echo "Caminho não informado <br />"
exit 1
fi
if [ -z $2 ]; then
echo "Domínio não informado <br />"
exit 1
fi
echo '['$1'-'$2'-'$3']'
# Se não for informado o redirecionamento, cria as pastas
if [ -z $3 ]; then
if [ ! -d $1'/'$2 ]; then
mkdir $1'/'$2
echo $1'/'$2 'Created <br />'
else
echo $1'/'$2 'Already exists <br />'
fi
if [ ! -d $1'/'$2'/assets' ]; then
mkdir $1'/'$2'/assets'
echo $1'/'$2'/assets' 'Created <br />'
else
echo $1'/'$2'/assets' 'Already exists <br />'
fi
if [ ! -d $1'/'$2'/img' ]; then
mkdir $1'/'$2'/img'
echo $1'/'$2'/img' 'Created <br />'
else
echo $1'/'$2'/img' 'Already exists <br />'
fi
fi
# Define o caminho do script
script_dir=$(dirname $0)
# Define função para substituir dados nos arquivos
function substituiInfo () {
sed -i 's/'$1'/'$2'/g' $3
}
# Limpa host atual
if [ -f '/etc/nginx/sites-available/'$2 ]; then
rm '/etc/nginx/sites-available/'$2
echo "Hosts disponíveis limpos <br />"
fi
if [ -L '/etc/nginx/sites-enabled/'$2 ]; then
rm '/etc/nginx/sites-enabled/'$2
echo "Hosts habilitados limpos <br />"
fi
# Cria host para o domínio informado
if [ -n $3 || $3 = '']; then
cp $script_dir'/nginx-redir' '/etc/nginx/sites-available/'$2
echo "Host de redirecionamento criado <br />"
else
cp $script_dir'/nginx-nonssl' '/etc/nginx/sites-available/'$2
echo "Host de dominio criado <br />"
fi
# Substitui variáveis dentro dos templates de configuração
substituiInfo 'REDIR' $3 '/etc/nginx/sites-available/'$2
substituiInfo 'DOMAIN' $2 '/etc/nginx/sites-available/'$2
echo "Informações do template substituídas <br />"
# Cria link simbólico para ativar host
if [ ! -L '/etc/nginx/sites-available/'$2 ]; then
ln -s '/etc/nginx/sites-available/'$2 '/etc/nginx/sites-enabled/'
echo "Hosts habilitados <br />"
fi
systemctl reload nginx
echo "Servidor recarregado <br />"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment