#!/bin/bash # 1. Prompt for the MySQL Root Password echo "Enter the desired MySQL root password:" read -s SECURE_PASS echo "Confirm the MySQL root password:" read -s SECURE_PASS_CONFIRM if [ "$SECURE_PASS" != "$SECURE_PASS_CONFIRM" ]; then echo "Passwords do not match. Exiting." exit 1 fi # 2. Setup Remi Repository for PHP 8.2 sudo dnf install -y https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm sudo dnf install -y dnf-plugins-core sudo dnf module reset php -y sudo dnf module enable php:remi-8.2 -y # 3. Update and Install Packages sudo dnf update -y sudo dnf install -y httpd mariadb-server php php-mysqlnd php-mbstring \ php-gd php-xml php-zip php-curl php-imap php-pecl-apcu phpmyadmin # 4. Start Services sudo systemctl enable --now httpd sudo systemctl enable --now mariadb # 5. Set MySQL Root Password sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$SECURE_PASS';" sudo mysql -e "FLUSH PRIVILEGES;" # 6. Configure PHPMyAdmin and Firewall sudo sed -i 's/Require local/Require all granted/g' /etc/httpd/conf.d/phpMyAdmin.conf sudo firewall-cmd --permanent --add-service={http,https} sudo firewall-cmd --reload sudo setsebool -P httpd_can_network_connect_db 1 sudo setsebool -P httpd_can_network_connect 1 # 7. Restart Apache sudo systemctl restart httpd echo "------------------------------------------------" echo "LAMP Installation Complete!" echo "------------------------------------------------" # 8. CALL THE NEXT SCRIPT # Replace 'add_vhost.sh' with the name of your secondary script NEXT_SCRIPT="./add_vhost.sh" if [ -f "$NEXT_SCRIPT" ]; then echo "Found $NEXT_SCRIPT. Launching post-install setup..." chmod +x "$NEXT_SCRIPT" sudo "$NEXT_SCRIPT" else echo "No follow-up script found at $NEXT_SCRIPT. Finished." fi