sudo chmod 777 lamp-setup.sh
./lamp-setup.sh
Created
March 28, 2020 09:06
-
-
Save trungpv1601/3f78a822498ddc9ad603168eb60cfe18 to your computer and use it in GitHub Desktop.
Bash Script Setup LAMP on Ubuntu
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
#!/usr/bin/env bash | |
#encoding=utf8 | |
MYSQL_PASSWORD=`date +%s|sha256sum|base64|head -c 32` | |
function install_debian() { | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
sudo apt-get install -y build-essential wget git curl unzip zip | |
} | |
function install_apache2() { | |
echo "-------------------------" | |
echo "Installing APACHE" | |
echo "-------------------------" | |
sudo apt-get install apache2 -y | |
if [ "0" == $(sudo ufw app info "Apache Full" | grep -c "Apache Full") ] | |
then | |
sudo ufw allow in "Apache Full" | |
fi | |
sudo a2enmod rewrite | |
sed -e "s/<\/VirtualHost>/\t<Directory \/var\/www\/html>\n\t\tOptions Indexes FollowSymLinks MultiViews\n\t\tAllowOverride All\n\t\tRequire all granted\n\t<\/Directory>\n<\/VirtualHost>/g" /etc/apache2/sites-available/000-default.conf | |
sudo systemctl restart apache2 | |
} | |
function install_mysql() { | |
echo "-------------------------" | |
echo "Installing MYSQL" | |
echo "-------------------------" | |
sudo apt-get install mysql-server -y | |
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_PASSWORD}';" | |
} | |
function install_php() { | |
echo "-------------------------" | |
echo "Installing PHP" | |
echo "-------------------------" | |
sudo apt-get install php libapache2-mod-php php-mysql php-json php-gd php-mbstring php-zip php-xml php-curl -y | |
sudo systemctl restart apache2 | |
} | |
function install_composer() { | |
echo "-------------------------" | |
echo "Installing Composer" | |
echo "-------------------------" | |
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" | |
php composer-setup.php | |
php -r "unlink('composer-setup.php');" | |
sudo mv composer.phar /usr/local/bin/composer | |
} | |
# Install | |
function install() { | |
echo "-------------------------" | |
echo "Installing mandatory dependencies" | |
echo "-------------------------" | |
if [ -x "$(command -v apt-get)" ] | |
then | |
echo "Debian/Ubuntu detected. Setup for this system in-progress" | |
install_debian | |
echo | |
install_apache2 | |
install_mysql | |
install_php | |
install_composer | |
else | |
echo "This script does not support your OS." | |
echo "Wait 10 seconds to continue the next install steps or use ctrl+c to interrupt this shell." | |
sleep 10 | |
fi | |
echo "-------------------------" | |
echo "DONE ;)" | |
echo | |
echo "MYSQL INFO:" | |
echo "root / ${MYSQL_PASSWORD}" | |
echo "-------------------------" | |
} | |
install | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment