Django

Django é um framework web Python de alto nível que incentiva o desenvolvimento rápido e o design limpo e pragmático. Construído por desenvolvedores experientes, ele cuida de muitos dos problemas do desenvolvimento web, para que você possa se concentrar em escrever seu aplicativo sem ter que reinventar a roda. É gratuito e de código aberto.

Software incluído:

Django - 4.1.1

Nginx - 1.18.0

Postgres - 14.6

Postfix - 3.4.13

Certbot - 1.21.0

Gunicorn - 20.1.0

Para começar após implantar o Django:

Permita as portas no firewall apenas para SSH (porta 22, limitada por taxa), HTTP (porta 80) e HTTPS (porta 443).

Você será desconectado da instância e exibido com a mensagem abaixo até que a instância seja implantada. NÃO FAÇA LOGIN NA INSTÂNCIA POR 2 MINUTOS APÓS A CRIAÇÃO.

Please wait until the installation is completed....Connection to $IPADDRESS closed.

Assim que o Django estiver implantado:

Você pode fazer login na instância como ubuntu usando a senha que definiu quando criou a instância ou com uma chave SSH, se adicionou uma durante a criação.

Você pode então mudar o usuário para root sem senha digitando o seguinte comando.

sudo su -

Você pode visualizar a instância Django imediatamente visitando o endereço IP da instância no seu navegador.

A senha do usuário postgres está armazenada em /root/.postgresql_user_passwords

Faça login no postgres usando o comando <sudo -u postgres psql>

As informações do banco de dados do Django são armazenadas em /root/.postgresql_passwords

As credenciais de login do Django Admin são armazenadas em /root/.adminpanel_passwords

As credenciais de login do usuário do shell do Django são armazenadas em /root/.shell_user_passwords

O diretório raiz do Django é /home/django/django_project/django_project/

Você pode tentar reutilizar este projeto, localizado em /home/django/django_project, ou começar do zero em um novo local e editar a configuração do Gunicorn para apontar para ele em /etc/systemd/system/gunicorn.service. Você também pode alterar como o Nginx está roteando o tráfego editando /etc/nginx/sites-enabled/default.

Entre no diretório onde seu código Django está e instale quaisquer dependências. (Por exemplo, se você tiver um arquivo requirements.txt, execute pip install -r requirements.txt).

Isso é tudo! Sempre que fizer alterações no código, recarregue o Gunicorn assim:

PID=$(systemctl show --value -p MainPID gunicorn.service) && kill -HUP $PID

A área administrativa padrão do Django é acessível em /admin. O login e a senha são armazenados nos valores DJANGO_ADMIN_LOGIN_USER* que você vê ao chamar cat /root/.adminpanel_passwords enquanto está conectado por SSH.

Clique aqui para visualizar a conexão com o PostgreSQL por meio remoto.

Consulte a seção "Assim que o PostgreSQL estiver implantado:" e siga as instruções a partir de "Por padrão, este servidor de banco de dados ...".

Configurando o Postfix:

Defina um nome de host válido usando o comando "hostnamectl set-hostname test.example.com". Certifique-se de que o nome de host "test.example.com" tenha um registro A adequado.

O endereço IP da instância deve ter um registro PTR adequado.

Configure o nome de host no arquivo de configuração do postfix em /etc/postfix/main.cf.

Na seção abaixo, substitua o $hostname pelo nome de host válido:

myhostname = $hostname

Reinicie o Postfix usando o comando:

systemctl restart postfix

Após concluir as etapas acima, você pode verificar os e-mails enviados usando o comando:

echo "Postfix test" | mail -s "Subject" test@gmail.com"

Inicialmente, os e-mails serão direcionados para a pasta de spam. Como este é um IP novo, a reputação é desconhecida. Assim que a reputação for calculada com base nos e-mails recebidos e enviados, os e-mails serão direcionados para a caixa de entrada.