Last active
February 10, 2023 18:55
-
-
Save vedovelli/d678c721ddc8f84b8762 to your computer and use it in GitHub Desktop.
Deploy app Laravel no Digital Ocean
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Crie uma conta no Digital Ocean; | |
2. Crie um droplet Ubuntu (estas instruções são baseadas em Ubuntu) | |
3. Escolha o pacote LEMP para ser instalado com seu Ubuntu | |
4. Escolha ou associa sua chave publica para acesso ao servidor | |
5. Acesse seu server usando SSH (ssh root@<ip informado pelo DO>) | |
6. Tome nota da senha root do MySQL que se encontra na tela de boas vindas | |
CONFIGURAR NGINX | |
1. Crie o diretório para ser a raiz da sua app (Ex. mkdir -p /var/www/vhosts/seuvhost.com/public/) | |
2. Navegue à pasta /etc/nginx/sites-available/ e faça um copia do arquivo defaul. mv default default.bkp | |
3. Crie um novo default com o conteúdo abaixo: | |
server { | |
listen 80; | |
server_name 104.131.28.76; | |
root /var/www/vhosts/seuvhost.com/public/; | |
index index.html index.htm index.php; | |
charset utf-8; | |
location / { | |
try_files $uri $uri/ /index.php?$query_string; | |
} | |
location = /favicon.ico { access_log off; log_not_found off; } | |
location = /robots.txt { access_log off; log_not_found off; } | |
access_log off; | |
error_log /var/log/nginx/l5eka.app-error.log error; | |
error_page 404 /index.php; | |
sendfile off; | |
location ~ \.php$ { | |
fastcgi_split_path_info ^(.+\.php)(/.+)$; | |
fastcgi_pass unix:/var/run/php5-fpm.sock; | |
fastcgi_index index.php; | |
include fastcgi_params; | |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
fastcgi_intercept_errors on; | |
fastcgi_buffer_size 16k; | |
fastcgi_buffers 4 16k; | |
} | |
location ~ /\.ht { | |
deny all; | |
} | |
} | |
4. reinicie o Nginx com service nginx restart | |
INSTALAR FERRAMENTAS | |
1. Atualize a lista de repositórios do Ubutun com apt-get update | |
2. Instale o Git com apt-get install git | |
3. Instale o Node.js com apt-get install nodejs | |
4. Instale o NPM com apt-get install npm | |
5. Instale o PHP-Cli com apt-get install php5-cli | |
6. Instale a mcrypt com apt-get install php5-mcrypt | |
7. Habilite a mcrypt com php5enmod mcrypt e reinicie o servidor | |
8. Ao acessar novamente, instale o composer com php -r "readfile('https://getcomposer.org/installer');" | php | |
9. Mova o composer.phar para sua pasta de executáveis mv composer.phar /usr/bin/composer | |
10. Crie um link simbolico para o node: ln -s /usr/bin/nodejs /usr/bin/node | |
11. Instale o bower com npm install -g bower | |
12. Instale o gulp com npm install -g gulp | |
13. *** pausa para o choro *** | |
CLONE DO REPOSITÓRIO GIT | |
1. Navegue até /var/www/vhosts/seuvhost.com e remova a pasta public (o git precisa de uma pasta vazia para fazer o clone). A pasta public virá com os arquivos do Laravel | |
2. Va ao Github (ou o seu repositorio remoto) e copie a URL que permite clonar | |
3. Digite git clone <colar aqui a url> ./ | |
4. usar git checkout aula4 para pegar a versão mais recente do código (especifico para o curso de Laravel Edukee Turma A) | |
5. Para evitar problemas de falta de memoria (droplets pequenos tem este problema) faça alocacao de memoria swap conforme se encontra neste link https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors | |
6. Para evitar problemas de restrição de downloads imposta pelo Github, siga as instruções deste link: https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens | |
INSTALAÇÃO LARAVEL | |
1. A partir /var/www/vhosts/seuvhost.com/ rodar composer install e quando finalizar, composer update | |
2. Navegar até resources/assets e rodar bower install | |
3. Voltar a pasta raiz e rodar npm install | |
4. Na mesma pasta raiz rodar gulp | |
5. editar o .env para adicionar as configurações do DB | |
6. criar o DB rodando mysql -uroot -p; copiar e colar senha salva no inicio do processo e então no prompt do MySQL usar create database <nome do seu banco>; <<< ponto e virgula no final é importante | |
7. na pasta raiz do projeto rodar as migrations com php artisan migrate | |
8. na pasta raiz do projeto rodar as seeds com php artisan db:seed | |
CONFIGURAÇÕES FINAIS DO SERVIDOR | |
1. Mudar o owner das pastas do seu projeto. Navegar para /var/www/vhosts e digitar chown -R www-data:www-data seuvhost.com . Isso mudará de root para o usuario do nginx. Deverá mante-lo livre de problemas de escrita em pastas, por exemplo | |
Acessar a app no browser usando o IP do servidor. Devera funcionar! | |
Caso encontre algum problema, envie um email para [email protected] com o maximo de detalhamento do problema, se possivel com print screen. |
Qual o comando para fazer isso:? 3. Crie um novo default com o conteúdo abaixo:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ufa...vou tentar aqui...rs