TLDR
Neste artigo, eu mostro meu processo para instalação e configuração do meu ambiente de desenvolvimento web logo após uma instalação limpa do Ubuntu 22.04.
Sumário
- Introdução
- Começando
- Configurando o Git
- Visual Studio Code
- PHPStorm
- Instalando a pilha LAMP (Apache, MySQL e PHP)
- Docker
- NodeJS
- Bônus: Hyper Terminal e Oh-My-Zsh
- Conclusão
Introdução
Finalmente tomei coragem e instalei o Ubuntu 22.04 na minha máquina. O problema em si não é formatar o PC, mas sim ter que configurar todo o ambiente depois da instalação limpa, principalmente para quem programa.
Dessa forma, decidi criar este artigo como uma espécie de roteiro com todas as aplicações e/ou pacotes a serem instalados (e como instalá-los) para que, das próximas vezes, este processo tome o menor tempo possível. E, claro, se ajudar alguém que estiver lendo este artigo, ficarei muito feliz.
Começando
Primeiro de tudo, atualize o gerenciador de pacotes e instale aqueles mais básicos:
sudo apt update
sudo apt-get install curl unzip git
Crie também uma pasta Apps/
na sua pasta pessoal. Nela, iremos guardar todos os arquivos do tipo AppImage
:
$ ~/mkdir Apps
Configurando o Git
A configuração inicial e mais básica do Git é dada pelo seu nome e email:
$ git config --global user.name "Meu Nome"
$ git config --global user.email "meu@email.com"
Visual Studio Code
Vá até a página de download do VSCode e escolha a opção .deb. Após a finalização do download, entre no terminal, navegue até a pasta em que o arquivo se encontra e o instale com o seguinte comando:
$ sudo dpkg -i nome_do_arquivo.deb
PHPStorm
Vá até a página de download do PHPStorm e baixe o arquivo.
O processo de instalação do PHPStorm é um pouco diferente, mas nós criamos a pasta Apps/
exatamente para este momento. Execute a seguinte sequência de comandos (em seguida eu explico o que cada um deles faz):
#1
$ mv PhpStorm-2022.3.2.tar.gz ~/Apps
#2
$ sudo tar -zxf PhpStorm-2022.3.2.tar.gz
#3
$ rm PhpStorm-2022.3.2.tar.gz
#4
$ ./PhpStorm-2022.3.2/bin/phpstorm.sh
- Move o arquivo compactado para dentro de
Apps/
; - Extrai a pasta do PHPStorm de dentro do arquivo compactado;
- Remove o arquivo compactado. Não precisaremos dele mais;
- Executa o script que inicia o programa.
Neste momento, você provavelmente está com o PHPStorm aberto. Para que não seja necessário ir até a pasta raíz toda vez que você for iniciar a IDE, temos duas opções:
Na barra de ferramentas vá até Tools > Create Command-line Launcher. O programa indicar o caminho em que o script será criado. Você pode definir o nome que você quiser em vez do nome sugerido pela IDE, por exemplo
/usr/local/bin/phpstorm
em vez de/usr/local/bin/pstorm
, como sugerido;Ou então, ir até Tools > Create Desktop Entry. Dessa forma, o PHPStorm ficará disponível no menu de aplicativos do Ubuntu, e então você poderá fixá-lo na Dock.
Instalando a pilha LAMP (Apache, MySQL e PHP)
Apache
O próximo passo é instalar o servidor web Apache para que possamos desenvolver as aplicações em PHP. Muito simples:
$ sudo apt-get install apache2
Quando a instalação tiver finalizado, acesse o endereço localhost
no navegado. Se você vir essa página, é porque deu tudo certo:
Caso ainda não tenha dado certo, pode ser que o serviço do Apache não tenha sido inicializado. Neste caso, execute o seguinte comando e verifique o navegador novamente:
$ sudo service apache2 start
PHP
Para instalar o PHP, o pacote php-cli
já basta. Porém, para desenvolvermos aplicações, precisaremos de alguns pacotes adicionais:
$ sudo apt-get install php-cli php-xdebug php-curl php-mbstring php-json php-mysql
MySQL
A instalação do MySQL é mais simples, basta um único pacote:
$ sudo apt-get install mysql-server
Para mais detalhes sobre a configuração do MySQL, recomendo este tutorial da Digital Ocean. Ele está bem completo em relação à parte de criação de usuário e segurança da instalação.
Docker
Essa instalação compreende tanto o Docker Engine, quanto o Docker Compose. Adicione a chave GPG do repositório:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Adicione o repositório do Docker:
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Atualize o gerenciador de pacotes e instale os pacotes do Docker:
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Após isso, é necessário que você adicione seu usuário ao grupo do Docker para não precisar utilizar o sudo
sempre que for executar algum comando Docker:
sudo usermod -aG docker $USER
newgrp docker
NodeJS
Para instalar o NodeJS completo, precisamos, primeiramente, do nvm (Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Em seguida, instale a última versão LTS do NodeJS:
nvm install --stable
Bônus: Hyper Terminal e Oh-My-Zsh
Tendo concluído os passos anteriores, a configuração do nosso ambiente de desenvolvimento, no geral, está pronta. Este passo é opcional, visto que não é essencial para o desenvolvimento, mas pode nos trazer algumas funcionalidades novas e, claro, uma aparência mais agradável ao terminal.
Hyper
Para baixar o Hyper, acesse este link. Assim como fizemos com o PHPStorm, mova o arquivo AppImage
para ~/Apps
. No meu caso, alterei o atalho de teclado nas configurações para executar o arquivo do Hyper ao invés do terminal:
Oh-My-Zsh
O Oh My Zsh é um framework para o zsh, que por sua vez, é uma alternativa ao terminal bash padrão. Esse framework serve, basicamente, para gerenciar as configurações do zsh. Com isso, podemos instalar plugins e temas facilmente no terminal.
Primeiro, faça o download do zsh:
sudo apt-get install zsh
Depois, torne ele seu terminal padrão:
chsh -s $(which zsh)
Para as alterações surtirem efeito, encerre sua sessão e relogue no sistema. Após isso, a saída para o comando echo $SHELL
deverá ser /usr/bin/zsh
.
Finalmente, para instalar o Oh My Zsh, basta rodar o seguinte comando:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Conclusão
Talvez este passo-a-passo tenha ficado um pouco grande, mas certamente levarei menos tempo para instalar tudo na próxima vez do que levei para escrever aqui! Espero que te ajude de alguma forma também e, se tiver alguma dúvida ou sugestão, não deixe de comentar. Ficarei feliz em responder!
Até a próxima!
Top comments (1)
I recently followed a similar guide to set up my development environment on Ubuntu 22.04, which involved installing Apache, MySQL, PHP, Docker, NodeJS, and more. While this process is essential for any developer, I found setting up the MySQL server and managing database connections to be quite complex and time-consuming on my own infrastructure.
That's when I turned to Vultr's Managed MySQL Databases—and it made all the difference. Vultr’s managed databases provide easy scalability, automated backups, and top-tier security, saving me a lot of setup time. Plus, their MySQL installation guide for Ubuntu helped me seamlessly integrate MySQL into my setup with minimal effort.
Another huge benefit is the ability to connect to Vultr Managed MySQL Databases using tools like PHPMyAdmin or popular clients. The step-by-step process in the How to Connect to Vultr Managed Databases for MySQL article was incredibly useful. It simplified the connection process and ensured everything was secure and optimized for my environment.
If you're looking to set up a development environment on Ubuntu 22.04 or even 24.04 with MySQL, Docker, or other components, I highly recommend using Vultr. They offer powerful cloud solutions that can scale as your development needs grow, all backed by extensive documentation and easy-to-follow guides.
For more details on MySQL setup and management on Ubuntu, check out Vultr's MySQL on Ubuntu 24.04 guide, which includes all the steps you need for a smooth installation and configuration process. The platform truly makes it easier for developers to focus on building great projects without worrying about infrastructure complexity.