Last active
January 24, 2024 19:24
-
-
Save wezoalves/7144ba217f42c9021f0271837efe2d0a to your computer and use it in GitHub Desktop.
Install on Fedora39: httpd php python nodejs mysql-server mongodb redis nginx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Função para verificar se o pacote está instalado | |
is_package_installed() { | |
rpm -q "$1" &> /dev/null | |
} | |
# Função para exibir mensagem de sucesso | |
success_message() { | |
echo -e "\e[32m✔ $1 instalado com sucesso.\e[0m" | |
} | |
# Função para exibir mensagem de aviso | |
warning_message() { | |
echo -e "\e[33m⚠ $1 já está instalado.\e[0m" | |
} | |
# Função para instalar um pacote se ainda não estiver instalado | |
install_package() { | |
local package_name="$1" | |
local install_command="$2" | |
if ! is_package_installed "$package_name"; then | |
sudo dnf install -y "$package_name" | |
success_message "$package_name" | |
else | |
warning_message "$package_name" | |
fi | |
} | |
# Função para mostrar os programas instalados | |
show_installed() { | |
echo "Programas instalados:" | |
installed=("httpd" "php" "python" "nodejs" "mariadb-server" "mongodb" "redis" "nginx") | |
for program in "${installed[@]}"; do | |
if is_package_installed "$program"; then | |
echo -e "\e[32m✔ $program\e[0m" | |
else | |
echo -e "\e[31m✘ $program\e[0m" | |
fi | |
done | |
} | |
# Função para exibir o menu interativo | |
show_menu() { | |
echo "Linux - Fedora 39 - For Developer" | |
echo "Escolha quais linguagens e bancos de dados instalar ou exibir:" | |
} | |
# Variável para controlar a execução do script | |
running=true | |
# Loop principal | |
while [ "$running" = true ]; do | |
show_menu | |
options=("Apache" "PHP" "Python" "JavaScript" "MariaDB" "MongoDB" "Redis" "Nginx" "Mostrar Instalados" "Sair") | |
select opt in "${options[@]}" | |
do | |
case $opt in | |
"Apache") | |
install_package "httpd" "sudo systemctl start httpd && sudo systemctl enable httpd" | |
break | |
;; | |
"PHP") | |
install_package "php" "sudo systemctl restart httpd" | |
break | |
;; | |
"Python") | |
install_package "python" "sudo dnf install python3-pip && sudo dnf install python3-devel && sudo dnf install python3-vituralenv && sudo dnf install python-numpy && sudo dnf install python-pandas && sudo dnf install python-requests" | |
break | |
;; | |
"JavaScript") | |
install_package "nodejs" "" | |
break | |
;; | |
"MariaDB") | |
install_package "mariadb-server" "sudo systemctl start mariadb && sudo systemctl enable mariadb && sudo mysql_secure_installation" | |
break | |
;; | |
"MongoDB") | |
install_package "mongodb" "sudo systemctl start mongod && sudo systemctl enable mongod" | |
break | |
;; | |
"Redis") | |
install_package "redis" "sudo systemctl start redis && sudo systemctl enable redis" | |
break | |
;; | |
"Nginx") | |
install_package "nginx" "sudo systemctl start nginx && sudo systemctl enable nginx" | |
break | |
;; | |
"Mostrar Instalados") | |
show_installed | |
break | |
;; | |
"Sair") | |
echo "Saindo do script." | |
running=false | |
break | |
;; | |
*) echo "Opção inválida";; | |
esac | |
done | |
done | |
echo "Obrigado por usar o script!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment