# Preparando o Ubuntu para Desenvolvimento Web Meu primeiro contato com linux foi através do Ubuntu, talvez por isso eu tenha um carinho tão grande por esta distro. Ela trás muitas facilidades na hora de fazer configurações, instalar programas e pacotes. Na maioria das vezes vocês vai sempre encontrar um pacote .deb de algum programa ou um ppa para adicionar ao repositório facilitando os caminhos. Já utilizei várias e a que me deu menos dor de cabeça foi o Ubuntu. ## Escopo da Instalação 1. Instalando alguns compiladores e dependências de desenvolvimento do sistema 2. Copie e cole via linha de comando com o xclip 3. Configurar chave SSH no GitHub 4. ASDF - Gerenciador de versões 5. Docker 6. Docker-compose 7. Visual Studio Code 8. Angular Cli 9. Typescript 10. Yarn 11. Insonmia ## 1. Instalando alguns compiladores e dependências de desenvolvimento do sistema ``` bash sudo apt install build-essential default-jdk libssl-dev exuberant-ctags ncurses-term ack-grep silversearcher-ag fontconfig imagemagick libmagickwand-dev software-properties-common git vim-gtk3 curl ``` ## 2. Copie e cole via linha de comando com o xclip xclip é um utilitário projetado para copiar e colar conteúdo de arquivos via de linha de comando. O mesmo já vem por padrão no repositório da maioria das distribuições linux. Como a distro em evidência aqui é o ubuntu e derivados vou mostrar apenas a instalação no mesmo. Segue o comando abaixo: ```bash sudo apt install xclip ``` ## 3. Configurar chave SSH no GitHub Umas das primeiras coisas que faço nas minhas instalações é gerar uma chave SSH e configurar a mesma no GitHub para conseguir clonar meus repositórios com mais facilidade e segurança. Os passos para instalação podem ser seguidos na [documentação oficial](https://docs.github.com/pt/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent), mas para facilitar vou explicar a forma que eu faço. Com o [git](https://git-scm.com/downloads) já instalado vamos executar o seguinte comando no terminal de sua preferência substituindo o conteúdo entre aspas pelo seu email cadastrado na conta do GitHub: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` com o xclip instalado no passo 2, agora vamos copiar a chave ssh com o comando abaixo. ```bash xclip -i -sel copy ~/.ssh/id_ed25519.pub ``` Agora abra o menu de configurações que fica no canto superior direito da página do GitHub: ![](https://imgur.com/YmVEMks.png) Procure pela no menu esquerdo agora a opeção de configuração de chaves SSH e GPG. As minhas opções de menu estão em inglês porque é o idioma padrão que eu uso no sistema. ![](https://imgur.com/WajWddu.png) Agora é só clicar no botão de SSH Key, vai abrir a tela abaixo. Adicione um título para a chave e logo abaixo cole o conteúdo da chave copiado com o xclip. ![](https://imgur.com/IQVBsWC.png) ## 4. ASDF - Gerenciador de versões Através do [asdf](https://asdf-vm.com/guide/getting-started.html) você pode instalar e gerenciar versões de diversas linguagens de programação para serem usadas globalmente no sistema ou localmente nos repositório definidos. Download do repositório oficial: ```bash git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.12.0 ``` Para conseguir executar os comandos é preciso adicionar ao arquivo de configuração do shell que está sendo usado, bash, zsh ou outros. No meu caso estou usando o bash então vou adicionar as linhas abaixo ao final do arquivo .bashrc. Caso não esteja usando o bash é só seguir a [documentação oficial](https://asdf-vm.com/guide/getting-started.html) e seguir os passos para a instalação. ``` bash . "$HOME/.asdf/asdf.sh" ``` ``` bash . "$HOME/.asdf/completions/asdf.bash" ``` Após configurar o asdf gosto de baixar as linguagens de programação que eu mais uso. Então vou instalar a versão LTS do nodeJS, que atualemnte é a 18.17.1 e do Ruby. Para isso vamos seguir os seguintes passos: Primeiro vamos adicionar as dependências do node. ```bash asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git ``` E logo após baixar as depedências vamos instalar a versão com o seguinte comando. ```bash asdf install nodejs 18.17.1 ``` Após instalar o node precisamos definiar se essa versão vai ser usada globalmente no sistema ou localmente em alguma projeto. No meu caso vou usar globalmente então segue o comando abaixo: ```bash asdf global nodejs 18.17.1 ``` Vamos também fazer o mesmo processo na instalação do ruby. ```bash asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git ``` Ao tentar instalar as versões mais atuais do ruby tive alguns problemas por isso antes foi preciso instalar algumas dependências antes, execute o comando abaixo antes de seguir para a instalação. ```bash sudo apt install curl g++ gcc autoconf automake bison libc6-dev libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev libreadline-dev libssl-dev ``` Seguindo agora vamos de fato instalar a versão mais recente no momento que é a 3.2.0. ```bash asdf install ruby 3.2.0 ``` Agora podemos definir a versão instalada como global. ```bash asdf global ruby 3.2.0 ``` ## 5. Docker - https://get.docker.com/ Para facilitar nossa vida na hora de trabalhar com bancos de dados e algumas outras ferramentas sem precisar ficar instalando tudo na máquina física vamos trabalhar como docker que cria containers facilicantando a manipulação dessas ferramentas. Para instalação é só seguir os passos seguintes. ``` bash curl -v https://get.docker.com/ >> script.sh chmod +x script.sh sh script.sh sudo usermod -aG docker $USER sudo systemctl start docker sudo systemctl enable docker ``` Em seguida faça o logout para atualizar as permissões. ## 6. Docker-compose ``` bash sudo curl -L "https://github.com/docker/compose/releases/download/2.21/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` ## 7. Visual Studio Code Vá até a [página de download](https://code.visualstudio.com/download) e faça o download do arquivo .deb, que é o formato padrão dos pacotes no Ubuntu e seus derivados. ![](https://imgur.com/K3dat5F.png) Após fazer o download vá até a pasta onde o arquivo foi baixado, no meu caso está na pasta Downloads, e execute o seguinte comando. ```bash sudo dpkg -i code_1.81.1-1691620686_amd64.deb ``` ## 8. Angular Cli O Angular CLI é uma ferramenta de interface de linha de comando que você usa para inicializar, desenvolver, estruturar e manter aplicativos Angular diretamente de um shell de comando. Com o node instalado basta apenas executar o comando abaixo no terminal. ``` bash npm install -g @angular/cli ``` ## 9. Typescript TypeScript é um superconjunto de JavaScript, ou seja, um conjunto de ferramentas e formas mais eficientes de escrever código JavaScript, adicionando recursos que não estão presentes de maneira nativa na linguagem. Saiba mais sobre TypeScript, suas principais vantagens e como utilizá-lo em seus projetos. Com o node instalado basta apenas executar o comando abaixo no terminal. ``` bash npm install -g typescript ``` ## 10. Yarn Yarn assim com o Npm é um gerenciamento de pacotes, sendo o Npm o gerenciador padrão do Node. js, enquanto o Yarn foi criado pelo Facebook. Segue comando para instalar o mesmo através do npm. ```bash npm install --global yarn ``` ## 11. Insonmia Insomnia REST Client é um poderoso cliente REST API usado para organizar, armazenar e executar solicitações de API RESTful com elegância. Insomnia é um dos clientes REST rápidos disponíveis para Windows, Mac e Linux. O cliente REST Insomnia é uma estrutura de desktop multiplataforma gratuita para testar aplicativos RESTful. Para fazer a instalação do mesmo basta seguir os passos abaixo. ``` bash echo "deb https://dl.bintray.com/getinsomnia/Insomnia /" \ | sudo tee -a /etc/apt/sources.list.d/insomnia.list wget --quiet -O - https://insomnia.rest/keys/debian-public.key.asc \ | sudo apt-key add - sudo apt-get update sudo apt-get install insomnia ```