Skip to content

Instantly share code, notes, and snippets.

@mavuriel
Last active June 17, 2024 23:01
Show Gist options
  • Save mavuriel/1eecf0b95710fa6cd2ff359149e6daa5 to your computer and use it in GitHub Desktop.
Save mavuriel/1eecf0b95710fa6cd2ff359149e6daa5 to your computer and use it in GitHub Desktop.
Script to setup LAMP
#!/bin/bash
## Apache
echo -e "\n\n === Updating package manager ==="
sudo apt update
echo -e "\n\n === Installing Apache ==="
sudo apt install apache2 -y
echo -e "\n\n === Allow apache in firewall ==="
sudo ufw allow in "Apache"
echo -e "\n\n === Restarting apache2 service ==="
sudo systemctl restart apache2
echo -e "\n\n Apache default page: http://localhost"
## PHP
echo -e "\n\n === Installing PHP ==="
echo -e "\n\n === Adding Ondřej Surý ppa for PHP ==="
sudo add-apt-repository ppa:ondrej/php -y
echo -e "\n\n -- Updating package manager -- "
sudo apt update
echo -e "\n\n === Installing PHP 8.0 ==="
sudo apt install libapache2-mod-php8.0 php8.0 php8.0-mysql php8.0-curl php8.0-mbstring php8.0-xml -y
echo -e "\n\n === Installing PHP 8.1 ==="
sudo apt install libapache2-mod-php8.1 php8.1 php8.1-mysql php8.1-curl php8.1-mbstring php8.1-xml -y
echo -e "\n\n === Installing PHP 8.2 ==="
sudo apt install libapache2-mod-php8.2 php8.2 php8.2-mysql php8.2-curl php8.2-mbstring php8.2-xml -y
echo -e "\n\n === Installing PHP 8.3 ==="
sudo apt install libapache2-mod-php8.3 php8.3 php8.3-mysql php8.3-curl php8.3-mbstring php8.3-xml -y
echo -e "\n\n === Creating php info file ==="
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
if [ ! -f /var/www/html/info.php ] ; then
echo -e "\n Something happen when creating php info file, may be a permissions problem"
else
echo -e "\n PHP info http://localhost/info.php"
fi
echo -e "\n Agregando comando para cambio de version de PHP"
echo "alias php-change=\"sudo update-alternatives --config php && sudo systemctl restart apache2\"" >> ~/.zshrc
## Composer
echo -e "\n\n ====== Installing Composer ======"
echo -e "\n\n === Downloading composer setup script ==="
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
echo -e "\n\n === Checking integrity installer ==="
HASH=`curl -sS https://composer.github.io/installer.sig`
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo '\n Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
echo -e "\n\n === Installing composer globally ==="
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
## MariaDB
echo -e "\n\n === Installing MariaDB ==="
sudo apt install mariadb-server mariadb-client -y
echo -e "\n\n\n Installations finished"
echo -e "\n\n === PHP version ==="
php -v
echo -e "\n\n === Composer version ==="
composer --version
echo -e "\n\n === MariaDB version ==="
mariadb --version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment