Laravel
Laravel é um framework PHP de código aberto que fornece um conjunto de ferramentas e recursos para construir aplicativos PHP modernos.
Software Incluído:
LARAVEL - 10.3.1
NGINX - 1.18.0
MYSQL - 8.0.32
PHP - 8.2
COMPOSER - 2.5.4
CERTBOT - 1.21.0
Para começar após a implantação do LARAVEL:
Permita o acesso às portas apenas para SSH (porta 22, com limite de taxa), HTTP (porta 80) e HTTPS (porta 443) no firewall. Conforme Como criar Regras de Firewall.
Defina a senha root do MySQL, execute o mysql_secure_installation e crie um usuário Laravel com as permissões necessárias.
Crie o arquivo de configuração inicial do Laravel para configurar as credenciais do banco de dados e permitir que a instância do Laravel se conecte ao banco de dados.
Você será desconectado da instância e verá 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.
Depois que o LARAVEL estiver implantado:
Você pode fazer login na instância como ubuntu usando a senha que você definiu ao criar a instância ou com uma chave SSH, se você adicionou uma durante a criação.
Você pode então trocar o usuário para root sem senha digitando o seguinte comando. <sudo su ->
Ao se conectar à sua Instância do Laravel via SSH pela primeira vez, você verá as senhas e será solicitado a inserir um nome de domínio para concluir a configuração e proteger sua conexão, você precisará de um domínio registrado configurado para sua Instância.
Esta configuração requer um nome de domínio. Se você ainda não possui um, você pode cancelar esta configuração, pressionando Ctrl+C. Este script será executado novamente no próximo login. Digite o nome do domínio para o seu novo site Laravel. (ex. example.org ou test.example.org) não inclua www ou http/s Nome do domínio/subdomínio:
O registro A do domínio deve ser apontado para o IPADDRESS da instância.
Após a conclusão da configuração sem problemas, você poderá acessar o nome de domínio ou o IPADDRESS do servidor em seu navegador para ver a instalação do Laravel.
A senha do root do MySQL é armazenada em /root/.mysql_root_password.
Faça login no MySQL usando o comando abaixo.
<mysql -u root -p <senha armazenada no arquivo acima> >
As informações do banco de dados do Laravel são armazenadas em /root/.laravel_database_details.
As credenciais de login do usuário shell do Laravel são armazenadas em /root/.shell_user_passwords.
A raiz da web é /var/www/laravel, e o arquivo de configuração do Laravel está em /var/www/laravel/.env.
Além disso, existem algumas etapas de configuração personalizadas que recomendamos que você siga:
Criar um arquivo de bloco de servidor Nginx para cada site mantém a configuração padrão como backup, conforme pretendido, e facilita a administração de alterações ao hospedar vários sites.
Para fazer isso, você precisará criar duas coisas para cada domínio: um novo diretório em /var/www para o conteúdo desse domínio e um novo arquivo de bloco de servidor em /etc/nginx/sites-available para a configuração desse domínio.
Configurar um certificado SSL habilita HTTPS no servidor web, o que protege o tráfego entre o servidor e os clientes que se conectam a ele. O Certbot é uma maneira gratuita e automatizada de configurar certificados SSL em um servidor. Ele é incluído como parte da implantação do LEMP para facilitar a segurança do domínio.
Para usar o Certbot, você precisará de um nome de domínio registrado e dois registros DNS:
Um registro A de um domínio (por exemplo, exemplo.com) para o endereço IP do servidor
Um registro A de um domínio prefixado com www (por exemplo, www.exemplo.com) para o endereço IP do servidor
Além disso, se você estiver usando um arquivo de hosts virtuais, certifique-se de que a diretiva do nome do servidor no bloco VirtualHost (por exemplo, ServerName exemplo.com) esteja configurada corretamente para o domínio.
Depois que os registros DNS e, opcionalmente, os arquivos de host virtual forem configurados, você poderá gerar o certificado SSL. Certifique-se de substituir o domínio no comando.
certbot --nginx -d example.com -d www.example.com
O tráfego HTTPS na porta 443 precisa ser permitido pelo firewall. Depois de configurar o HTTPS, você pode opcionalmente negar o tráfego HTTP na porta 80.