Precisas de correr um site localmente por https, mas não sabes como o fazer através de uma ligação segura? Descubre como o fazer neste artigo.

Em primeiro, cria a estrutura abaixo numa pasta:

my-project
-- docker-compose.yml
-- nginx (folder)
---- Dockerfile
---- default.conf
---- mydomain.local.ext
-- index.php

Adiciona o código abaixo ao ficheiro docker-compose.yml.

version: "3"services:
nginx:
build: ./nginx
container_name: nginx
ports:
- 80:80
- 443:443
volumes:
- $PWD/nginx/default.conf:/etc/nginx/conf.d/default.conf
- $PWD:/usr/share/nginx/html
- ssl:/etc/ssl
php:
image: php:7.1-fpm
container_name: php
volumes:
- $PWD:/var/www/html
volumes:
ssl:

Adicionar o código abaixo ao ficheiro nginx/Dockerfile.

FROM nginx:1.12 ADD ./mydomain.local.ext /etc/ssl/mydomain.local.ext RUN apt-get update \…

Do you need to run a site locally over https, but don’t know how to do it over a secure connection? Find out how to do this in this article.

At first, create the below structure in a folder:

my-project
-- docker-compose.yml
-- nginx (folder)
---- Dockerfile
---- default.conf
---- mydomain.local.ext
-- index.php

Add the code below to the docker-compose.yml file.

version: "3"services:
nginx:
build: ./nginx
container_name: nginx
ports:
- 80:80
- 443:443
volumes:
- $PWD/nginx/default.conf:/etc/nginx/conf.d/default.conf
- $PWD:/usr/share/nginx/html
- ssl:/etc/ssl
php:
image: php:7.1-fpm
container_name: php
volumes:
- $PWD:/var/www/html
volumes:
ssl:

Add the code below to the nginx/Dockerfile file.

FROM…


Em primeiro lugar, inicia um container PHP e mantém-o em execução.

docker run -itd --restart always --name php-path php:7.4

Cria um ficheiro chamado php na pasta /usr/local/bin.

sudo nano /usr/local/bin/php

Com o conteúdo abaixo:

#!/bin/bash
docker exec -i --user=1000:1000 php-path php "$@"

Torna o ficheiro executável.

sudo chmod +x /usr/local/bin/php

1000:1000 são os ids do utilizador e grupo na máquina local. Isto é necessário para prevenir que o container mude o proprietário dos ficheiros.

Pronto. Agora podes experimentar:

php -v

At first, start a PHP container and keep it running.

docker run -itd --restart always --name php-path php:7.4

Create a file named php in /usr/local/bin folder.

sudo nano /usr/local/bin/php

With the contents below:

#!/bin/bash
docker exec -i --user=1000:1000 php-path php "$@"

Make the file executable.

sudo chmod +x /usr/local/bin/php

1000:1000 are the user and group ids on the host machine. This is necessary to prevent the container from changing the owner of the files.

That’s it. Now you can try it:

php -v


Este artigo serve para explicar como utilizar o xDebug com o Laradock no Visual Studio Code.

Viusal Studio Code

Visual Studio Code é um editor de código redefinido e otimizado para criar e depurar aplicações modernas para a web. O Visual Studio Code é gratuito e está disponível para a tua plataforma favorita — Linux, macOS e Windows.

Laradock

Laradock é um ambiente de desenvolvimento PHP completo para Docker.

Suporta uma variedade de serviços comuns, todos pré-configurados para fornecer um ambiente de desenvolvimento de PHP pronto.

xDebug

xDebug é uma extensão do PHP para auxiliar na depuração e desenvolvimento.


This article serves to explain how to use xDebug with Laradock in Visual Studio Code.

Viusal Studio Code

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform — Linux, macOS and Windows.

Laradock

Laradock is a full PHP development environment for Docker.

It supports a variety of common services, all pre-configured to provide a ready PHP development environment.

xDebug

xDebug is an extension for PHP to assist with debugging and development.


COVID-19

Vivemos na era das novas tecnologias, mas infelizmente estas têm sido usadas para quase tudo, menos para contribuir para um mundo melhor.

Neste momento, o nosso país (e outros, mas vou falar de Portugal) vive um momento de muita insegurança e que vai aumentar nos próximos dias com o incremento do número de pessoas infetadas.

Este é o momento de todos nós pensarmos em soluções e implementá-las no nosso dia-a-dia, incluindo no nosso posto de trabalho.

O que não falta é tecnologia que permita mudar a forma de trabalhar de uma grande percentagem da população portuguesa e que ajudaria nestes…


To start running your Dusk tests with Laradock, in addition to the installation as explained in the official Laravel documentation, two more steps are needed.

First of all, you must create a specific environment file for Dusk, just following the official Laravel documentation (Environment Handling).

In the new file (for example, .env.dusk.local) the variable APP_URL must be set to http://nginx.

APP_URL=http://nginx

And, in the tests / DuskTestCase.php file, change the url of the selenium server to http://selenium: 4444/wd/hub.

return RemoteWebDriver::create(
'http://selenium:4444/wd/hub', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);

It’s ready, now you can run your Dusk tests:

php artisan dusk


Para começar a correr os seus testes Dusk com o Laradock, para além da instalação como explicada na documentação oficial da Laravel, são necessárias mais duas etapas.

Em primeiro lugar deverás criar um ficheiro de ambiente específico para o Dusk, sendo apenas preciso seguir a documentação oficial da Laravel (Environment Handling).

No novo ficheiro (por exemplo, .env.dusk.local) a variável APP_URL deve ser configurada como http://nginx. Ou seja:

APP_URL=http://nginx

E, no ficheiro tests/DuskTestCase.php mudar o url do servidor selenium para http://selenium:4444/wd/hub. Ou seja:

return RemoteWebDriver::create(
'http://selenium:4444/wd/hub', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);

Pronto, agora já podes correr os teus testes Dusk:

php artisan dusk

IT DEPENDS!

My desk

I’ve been working remotely for 4 years.

It’s cool? For me it is!

It’s easy? For me it is!

Working remotely can be cool and easy, but it can also be neither cool nor easy. It is not for everyone and depends on the preferences of each person, both personally and professionally.

We are at a time when more and more people are talking about remote work and there are also more and more opportunities in Portugal. Unfortunately, things are not as many paint.

It is very possible that you have already read at least 1 article about…

Luis Coutinho

Full Stack Web Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store