Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save edsonalvesan/c5d649890aca8251a7f8 to your computer and use it in GitHub Desktop.
Save edsonalvesan/c5d649890aca8251a7f8 to your computer and use it in GitHub Desktop.
Deploy app Laravel no Digital Ocean
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 vedovelli@gmail.com com o maximo de detalhamento do problema, se possivel com print screen.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment