Skip to content

Instantly share code, notes, and snippets.

@trungpv1601
Created March 28, 2020 09:06
Show Gist options
  • Save trungpv1601/3f78a822498ddc9ad603168eb60cfe18 to your computer and use it in GitHub Desktop.
Save trungpv1601/3f78a822498ddc9ad603168eb60cfe18 to your computer and use it in GitHub Desktop.
Bash Script Setup LAMP on Ubuntu

Run

sudo chmod 777 lamp-setup.sh
./lamp-setup.sh
#!/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