1 Instalação do Ambiente - NikolasMatias/teste GitHub Wiki

1.1 - Apresentações Iniciais

Olá Prezados!

Para esse projeto foram usados as seguintes ferramentas e frameworks:

Ferramenta Versão
Ubuntu 16.04
php 7.1.18
Framework Laravel 5.6
nginx 1.10.3
PostgreSQL 9.5.13
node v6.12.2
nvm 0.33.8
npm 3.10.10
Composer 1.6.3

As dependências do Composer e do npm não serão citados aqui.

1.2 - Preparar o Ambiente

Segue um link que pode ajudá-los a configurar o ambiente caso sintam dificuldade: Laravel com Nginx. Lembrando que tem que estar de acordo comas configurações das versões sitadas a cima.

Para pegar essa versão do node use o nvm. Ele os ajudará a realizar a configuração da versão adequada do node e o npm.

Segue também mais um link ensinando como poderão instalar o postgres no Ubuntu: postgres instalação.

Uma configuração que acredito que possa ajudar vocês a prepararem o nginx. Primeiro entre nesse arquivo com o comando:

foo@bar:~$ nano /etc/nginx/sites-available/default
#
# 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.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
map $sent_http_content_type $expires {
        default off;
        text/html epoch;
        text/css max;
        text/javascript max;
        application/javascript max;
        ~image/ max;
        ~font/ max;
        application/font-woff max;
}

server {
        listen 80; #default_server;
        #listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/teste/public;
        index index.php index.html index.htm;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html index.php;

        server_name localhost;

         location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
         }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass 127.0.0.1:9000;
        }

        location ~ /\.ht {
            deny all;
        }
}

1.3 - Ambiente Preparado

Agora com o ambiente configurado e com o projeto já baixado pelo git execute os seguintes comandos na pasta do projeto:

foo@bar:~$ cp .env.example .env

Observação: Já preparei o .env.example para comportar um banco de dados postgreSQL. Caso queiram alterar durante a avaliação fiquem a vontade. As configurações são totalmente opcionais.

Após copiado execute:

foo@bar:~$ composer install
foo@bar:~$ composer update
foo@bar:~$ php artisan key:generate
foo@bar:~$ php artisan event:generate

O próximo passo é necessário estar conectado com o Banco de Dados e com as migrations e seeds já executadas

foo@bar:~$ php artisan migrate --seed
foo@bar:~$ php artisan ide-helper:generate
foo@bar:~$ php artisan ide-helper:meta
foo@bar:~$ php artisan ide-helper:models -N

Após realizar as configurações voltadas para o Banco de Dados e as dependências do Composer vamos passar agora para as configurações da parte visual.

Nesse projeto usei o Laravel Mix para facilitar o desenvolvimento. Sendo assim, precisamos configurar o ambiente para que ele funcione corretamente:

foo@bar:~$ npm install
foo@bar:~$ npm run dev

Desse modo já teremos o ambiente configurado para execução. Os e-mails que forem gerados durante os testes serão encontrados na pasta "Raiz do Projeto/storage/logs/laravel.log".

Caso estejam usando o nginx conforme citado a cima que usei apenas precisará executar os comandos:

foo@bar:~$ service postgresql start
foo@bar:~$ service php7.1-fpm start
foo@bar:~$ service nginx start

Pronto, depois de tudo isso seu sistema estará configurado para uso. Apenas precisará acessar localhost no navegador para poder ter acesso às telas.