Repository navigation
Expand file tree
/
Copy pathsetup_ssl.sh
More file actions
executable file
·48 lines (38 loc) · 1.59 KB
/
Copy pathsetup_ssl.sh
File metadata and controls
executable file
·48 lines (38 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# Encerra imediatamente se algum comando falhar
set -e
# --- CONFIGURAÇÃO ---
DOMAIN="ingressos.python.org.br"
EMAIL="tecnologia@python.org.br"
REAL_CONF_FILE="/home/apyb/pretix"
# ---------------------
# Verificação de segurança: garante que o arquivo de configuração real existe
if [ ! -f "$REAL_CONF_FILE" ]; then
echo "ERRO: O arquivo $REAL_CONF_FILE não foi encontrado."
echo "Coloque seu arquivo de configuração do Nginx lá antes de executar este script."
exit 1
fi
echo "1/6: Removendo a configuração padrão do Nginx..."
rm -f /etc/nginx/sites-enabled/default
echo "2/6: Criando configuração temporária HTTP-only do Nginx para evitar conflitos..."
cat <<EOF > /etc/nginx/sites-available/pretix
server {
listen 80;
listen [::]:80;
server_name $DOMAIN;
root /var/www/html;
}
EOF
echo "3/6: Criando o link simbólico da configuração e iniciando o Nginx..."
ln -sf /etc/nginx/sites-available/pretix /etc/nginx/sites-enabled/
systemctl restart nginx
echo "4/6: Executando o Certbot para gerar os certificados..."
# Executa sem interação, aceita os Termos de Serviço e usa o plugin do Nginx
certbot --nginx -d $DOMAIN --non-interactive --agree-tos -m $EMAIL
echo "5/6: Certificados obtidos! Copiando sua configuração real do Pretix..."
cp "$REAL_CONF_FILE" /etc/nginx/sites-available/pretix
echo "6/6: Testando a sintaxe e recarregando o Nginx com a configuração segura..."
nginx -t
systemctl reload nginx
echo "Habilitando o timer de renovação automática do Certbot..."
systemctl enable --now certbot.timer