Primeiros passos com Ubuntu
Published: 2020-04-20 21:54:22

Fala aí pessoal!

Esse é o meu primeiro post do Dev.to e também de qualquer outro lugar. Me chamo Samuel, tenho 20 anos e trabalho em uma agência de comunicação como Programador Fullstack (nas horas vagas e não vagas também sou do suporte em cuido na infra da empresa. Quase um departamento de TI inteiro! hahahahaha). O objetivo desse perfil é simplesmente registrar minha jornada em desenvolvimento e tecnologia. Senti o desejo de estar escrevendo das minhas dificuldades e acertos.

Flutuando por diferentes áreas durante minha experiência profissional vejo a importância (e em diversos momentos a necessidade) de conhecermos diferentes tecnologias e nos tornarmos mais completos para o mercado de trabalho e para os projetos de desenvolvimento que participamos. Este post trata exatamente disto.

Durante quase toda a minha jornada de desenvolvimento web, trabalhei com PHP, linguagem de programação back-end. E sempre quando precisei fazer o deploy no ambiente de produção utilizamos servidores com sistema operacional Linux por ter o melhor comportamento com PHP. Nunca tive maiores problemas em configurar um servidor utilizando a interface gráfica e painéis como cPanel e Plesk. São paineis nos quais é possível personalizar as coisas mais importantes do servidor, ter acesso a arquivos, bancos de dados, compressão gZip, configurações do php.ini, versão do PHP, entre outras inúmeras funcionalidades que são importantes e facilitam nossa vida no dia-a-dia.

Mas e quando não há cPanel?

Um dia desses recebi uma proposta para fazer um freela. O site do cliente havia saído do ar, feito em Wordpress, e estava hospedado em um droplet na Digital Ocean. Reiniciei o droplet e o site voltou porém o MySQL continuava dando problema e precisava verificar o motivo do erro e resolvê-lo. Detalhe: O acesso ao servidor era via terminal. E agora?

Gostaria de ter um final feliz, mas infelizmente não rolou. Tentei de todo jeito, fui testando alguns comandos para verificar a questão sem perder os dados do site, pois precisava ter todo o cuidado do mundo já que não sabia alterar praticamente nada via linha de comando. Por fim o freela não deu certo e repassei para outras pessoas que pudessem resolver o problema com mais conhecimento que eu.

Veio então o questionamento, a dúvida e a reflexão - Porque não deu certo? O que é necessário para conseguir resolver os próximos problemas desse jeito? Estou fazendo a abordagem errada de como utilizo um servidor e configuro-o?

Uma das coisas que mais me impactou ao pensar sobre estudar esse tema e melhorar meus conhecimentos foi o fato da minha empresa não possuir uma metodologia clara e definida de entrega contínua, versionamento, automatização ou qualquer prática relacionada a operações. É uma empresa pequena que vem crescendo agora o departamento de TI e precisamos melhorar os processos de infraestrutura.

Decidi então fazer algo: Vou instalar uma distro Linux no meu computador! Preciso praticar para melhorar minha abordagem nos servidores das aplicações, na personalização dos ambientes e em todo o fluxo de trabalho da minha empresa e dos meus projetos.

Fiz um dual boot no meu notebook, instalei o Ubuntu 19.10 e comecei a tocar o barco. Já te digo logo: não me arrependi disso.

Uma das primeiras coisas que fiz foi abrir o terminal e utilizar a maioria das coisas por lá. Fiquei madrugadas procurando comandos, instalando programas, pesquisando alternativas, configurando o ambiente e todos os detalhes do meu computador para enfim aprender como trabalhar com um sistema cru que precisa ser ajustado 100% pela linha de comando e por mim. Instalei o banco de dados MySQL, servidor Apache e o PHP para interpretar os meus códigos.

Quando estava programando no Windows, utilizava o Xampp para configurar meu ambiente de desenvolvimento e ia construindo minha aplicação. Agora, configurando serviço a serviço, realmente consegui entender os detalhes de como configurar diversas coisas, os pacotes PHP, o php.ini, as configurações iniciais do Apache, alterei o DocumentRoot para abrir os sites a partir de uma pasta do meu usuário e também instalei o phpMyAdmin. No início fiquei perdido, mas depois foi só alegria.

Uma das coisas que mais foram positivas nesta migração foi a utilização de recursos de hardware. Quando realizava o boot do Windows, utilizava cerca de 2.6GB, 2.8GB de memória RAM apenas para inicializar! Já com o Linux inicio o computador utilizando apenas 1.8GB. Esse é apenas um exemplo, mas outros componentes do notebook como disco e CPU consumiram muito menos recursos. Percebi que consigo utilizar o notebook durante mais tempo fora da tomada pois consome menos energia.

Falaria eternamente sobre as mudanças que tive migrando de Windows para Linux e as melhorias que tenho no meu fluxo de trabalho, a personalização do meu computador e a configuração do meu ambiente de desenvolvimento do jeito que preciso. Aprendi MUITO com essa experiência e pretendo aprender ainda mais.

Aliás, vale ressaltar: É MUITO divertido este processo de aprendizado, de quebrar a cabeça para aprender uma coisa nova, de entrar num mundo totalmente inexplorado e desbravar novos conhecimentos. Até o momento (na publicação deste post, estava utilizando Linux a 2 semanas) fico muito feliz com a minha escolha e não me arrependo de ter trocado para a MELHOR!