Skip to content

Instantly share code, notes, and snippets.

@eriveltondasilva
Last active July 6, 2024 22:56
Show Gist options
  • Save eriveltondasilva/ed45264a48771ee5acd79d72443e2c7f to your computer and use it in GitHub Desktop.
Save eriveltondasilva/ed45264a48771ee5acd79d72443e2c7f to your computer and use it in GitHub Desktop.
Este script configura um ambiente de desenvolvimento completo em uma máquina Ubuntu.
#!/bin/bash
# Limpa a tela antes de iniciar o script
clear
# => Atualização do sistema
echo -e "\n########################################"
echo -e "=> Atualizando inicialmente o sistema...\n"
sudo apt-get update;
sudo apt-get upgrade -y;
sudo apt-get autoremove -y;
# => Instalação do git
echo -e "\n########################################"
echo -e "=> Instalando o git atualizado...\n"
# adiciona o repositório da versão mais atualizada do git e atualizar a lista de pacotes disponíveis
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt-get update
# instala o git, sistema de controle de versão
sudo apt-get install git -y
# informa em tela qual versão foi instalada
echo -e "\n-> Versão do git:"
git -v
# -> Fonte:<https://git-scm.com/download/linux>
# => Instalação do curl
echo -e "\n########################################"
echo -e "=> Instalando o curl...\n"
# instala a ferramenta curl para interagir com serviços web e realizar tarefas de transferência de dados diretamente pela linha de comando.
sudo apt-get install curl -y
# Instalação do nvm (nodejs e npm)
echo -e "\n########################################"
echo -e "=> Instalando o nodejs e o npm...\n"
# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# download and install Node.js (you may need to restart the terminal)
nvm install 20
# informa em tela qual versão foi instalada
echo -e "\n-> Versão do nodejs:"
node -v
echo -e "\n-> Versão do npm:"
npm -v
# -> Fonte:<https://nodejs.org/en/download/package-manager>
# Instalação do php
echo -e "\n########################################"
echo -e "=> Instalando o php...\n"
# adiciona repositório que traz as versões mais atuais do php e atualizar a lista de pacotes disponíveis
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update
# instala o php e suas as principais exetnsões
sudo apt-get install php php-common -y
sudo apt-get install php-{bcmath,cli,curl,gd,mbstring,mysql,soap,sqlite3,xml,zip} -y
# informa em tela qual versão foi instalada
echo -e "\n-> Versão do php:"
php -v
# -> Fonte:<https://php.watch/articles/php-8.3-install-upgrade-on-debian-ubuntu>
# Instalação do composer
echo -e "\n########################################"
echo -e "=> Instalando o composer...\n"
# -> Fonte: https://getcomposer.org/download/
# Instalação do apache2
echo -e "\n########################################"
echo -e "=> Instalando o apache2...\n"
# instala servidor web apache, sua biblioteca para php e a ferramenta ufw para configurar regras de firewall no linux
sudo apt-get install apache2 libapache2-mod-php -y
sudo apt-get install ufw -y
# configura o ufw
sudo ufw enable
sudo ufw allow in "Apache"
# reinicia o servidor apache e mostra em tela seu status
sudo systemctl restart apache2
sudo systemctl status apache2
# informa em tela qual versão foi instalada
echo -e "\n-> Versão do apache2:"
apache2 -v
# Instalação do mysql-server
echo -e "\n########################################"
echo -e "=> Instalando o mysql...\n"
# instala o banco de dados MySQL e mostra seu status
sudo apt-get install mysql-server -y
sudo systemctl status mysql
# informa em tela qual versão foi instalada
echo -e "\n-> Versão do mysql:"
mysql -V
# Instalação do unzip
echo -e "\n########################################"
echo -e "=> Instalando o unzip...\n"
sudo apt-get install unzip -y
# Instalação do zsh
sudo apt update
# install required packages
sudo apt install zsh -y
# verify zsh installation
zsh --version
# Set the default shell to zsh
sudo chsh -s $(which zsh) $(whoami)
# Install oh-my-zsh: https://ohmyz.sh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Powerlevel10k: https://github.com/romkatv/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
echo -e "\n########################################"
echo -e "\n-> Versão do git:"
git -v
echo -e "\n-> Versão do nodejs:"
node -v
echo -e "\n-> Versão do npm:"
npm -v
echo -e "\n-> Versão do php:"
php -v
echo -e "\n-> Versão do composer:"
composer --version
echo -e "\n-> Versão do mysql:"
mysql -V
echo -e "\n-> Versão do apache2:"
apache2 -v
########################################
echo -e "\nSCRIPT CONCLUÍDO!"
########################################
### EXTRA ###
# Instalação do phpmyadmin
# echo -e "\n########################################"
# echo -e "=> Instalando o mysql...\n"
# sudo apt install phpmyadmin
# sudo phpenmod mbstring
# Após instalação do phpmyadmin, abra apache2.conf e insira o "Include" abaixo no final do arquivo
# sudo vim /etc/apache2/apache2.conf
# Include /etc/phpmyadmin/apache.conf
# Instalação do zsh
# echo -e "\n########################################"
# echo -e "=> Instalando do zsh...\n"
# sudo apt-get install zsh
# sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# zsh-syntax-highlighting
# sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-autosuggestions
# sudo git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
@eriveltondasilva
Copy link
Author

eriveltondasilva commented Nov 18, 2023

Olá, este script instala:

  • git atualizado;
  • curl, necessário para executar alguns comandos;
  • nodejs e npm atualizados, versão 20.x.x;
  • PHP atualizado e suas extensões principais;
  • Composer;
  • Unzip, para descompactar zip;
  • Apache2;
  • MySQL;

Qualquer sugestão de melhorias e/ou otimizações serão bem aceitas e, desde já, agradeço muitíssimo pela ajuda 🙏🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment