Skip to content

Commit

Permalink
aguia-pescadora-alpha (#17): HTTPS em Alpha, baseado em arquivos de B…
Browse files Browse the repository at this point in the history
…ravo
  • Loading branch information
fititnt committed May 29, 2019
1 parent 284d024 commit d58888a
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 24 deletions.
89 changes: 65 additions & 24 deletions logbook/aguia-pescadora-alpha.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,18 @@ exit
#
#------------------------------------------------------------------------------#

#### Preparação Inicial:
#------------------------------------------------------------------------------#
# SEÇÃO 0.1: Configuração inicial #
# TL;DR: Isso é feito ao receber uma VPS do zero #
#------------------------------------------------------------------------------#

### Primeiro login______________________________________________________________
# Você, seja por usuario + senha, ou por Chave SSH, normlamente terá que acessar
# diretamente como root. Excessões a esta regra (como VMs na AWS) geralmente
# implicam em logar em um usuario não-root e executar como sudo. Mas nesta da
# é por root mesmo nesse momento.
ssh [email protected]


# Aviso: a recomendação a seguir sobre 'Swap + /boot' é extremanente especifica
# para uso na CloudAtCost. Outros provedores de VPSs tipicamente não requerem.
Expand Down Expand Up @@ -200,29 +211,6 @@ vim /usr/local/bin/ajuda
####
##### Customização de motd (Mensagem do dia), fim

##### Acesso HTTP e HTTPS, início
####
##
#
### NGinx
## @see https://www.digitalocean.com/community/tutorials/como-instalar-o-nginx-no-ubuntu-16-04-pt
sudo apt install nginx
# sudo ufw allow 'Nginx Full' # Firewall desabilitado especialmente neste servidor

### Como Proteger o Nginx com o Let's Encrypt no Ubuntu 18.04:
## @see https://www.digitalocean.com/community/tutorials/como-proteger-o-nginx-com-o-let-s-encrypt-no-ubuntu-18-04-pt
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

# Linha de comando para obter certificados. Automaticamente já edita configurações do NGinx
sudo certbot --nginx -d aguia-pescadora.etica.ai -d www.aguia-pescadora.etica.ai

#
##
####
##### Acesso HTTP e HTTPS, Fim

##### Ambientes de desenvolvimento / Linguagens de programação, inicio

##### Ambientes de desenvolvimento / Linguagens de programação
Expand Down Expand Up @@ -421,6 +409,59 @@ sudo systemctl reload haproxy
## Teste se o usuario do haproxy consegue acessar
mysql -h elefante-borneu-yul-01.etica.ai -u haproxy

#------------------------------------------------------------------------------#
# SEÇÃO: HTTP/HTTPS PADRÃO #
# TL;DR: Documenta o uso de NGinx e afins como proxy reverso a aplicações #
# internas. Os colaboradores podem solicitar endereços customizados #
# (como domínios de todo gratuitos no freenom.com) que incluimos também #
# nas configurações do servidor #
#------------------------------------------------------------------------------#

##### Sites Habilitados neste servidor _________________________________________
# Cada usuário, mesmo sem acesso sudo (super usuário) pode chamar aplicações
# em portas acima da 1024, como em http://apb.etica.ai:3000. A lista a seguir
# são ou padrão de sistema, ou que usuários pediram para rotear via HTTP e HTTPS
# para uma de suas aplicações internas.
#
# - http://aguia-pescadora-alpha.etica.ai
# - https://aguia-pescadora-alpha.etica.ai
# - http://apa.etica.ai
# - https://apa.etica.ai

##### NGinx ____________________________________________________________________
## @see http://nginx.org/
## @see https://www.digitalocean.com/community/tutorials/como-instalar-o-nginx-no-ubuntu-16-04-pt
sudo apt install nginx
# sudo ufw allow 'Nginx Full' # Firewall desabilitado especialmente neste servidor

### Como Proteger o Nginx com o Let's Encrypt no Ubuntu 18.04:
## @see https://www.digitalocean.com/community/tutorials/como-proteger-o-nginx-com-o-let-s-encrypt-no-ubuntu-18-04-pt
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

sudo vim /etc/nginx/sites-available/aguia-pescadora-alpha.etica.ai.conf
# Adicione todas as customizacoes deste usuario no arquivo acima...

sudo ln -s /etc/nginx/sites-available/aguia-pescadora-alpha.etica.ai.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# Linha de comando para obter certificados. Automaticamente já edita configurações do NGinx
sudo certbot --nginx -d aguia-pescadora-alpha.etica.ai -d apa.etica.ai


### Userdir
# Userdir não implementado em Alpha


# PROTIP: acompanhe os arquivos a seguir para debugar
# tail -f /var/log/nginx/access.log
# tail -f /var/log/nginx/error.log
# Em geral o principal motivo de erro serão permissões de arquivo e de
# diretório até o respectivo arquivo



#------------------------------------------------------------------------------#
# SEÇÃO: OUTROS #
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# FILE: /etc/nginx/sites-available/aguia-pescadora-alpha.etica.ai.conf
# SERVER: aguia-pescadora-alpha.etica.ai

server {

listen 80;
listen [::]:80;
root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name apa.etica.ai aguia-pescadora-alpha.etica.ai;

location / {
try_files $uri $uri/ =404;
}

listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/aguia-pescadora-alpha.etica.ai/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/aguia-pescadora-alpha.etica.ai/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}
Empty file.
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# FILE: /etc/nginx/sites-available/default
# SERVER: aguia-pescadora-alpha.etica.ai

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,11 @@ server {
proxy_pass http://127.0.0.1:1936;
}


listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/haproxy.apa.etica.ai/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/haproxy.apa.etica.ai/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# FILE: /etc/nginx/sites-available/default
# SERVER: aguia-pescadora-bravo.etica.ai

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
Expand Down

0 comments on commit d58888a

Please sign in to comment.