Created
December 29, 2019 04:11
-
-
Save fatkulnurk/8578d4e4a19138139106793d82fcbd9e to your computer and use it in GitHub Desktop.
lempp.sh
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 | |
# Update Package List | |
apt-get update | |
# Update System Packages | |
apt-get upgrade -y | |
# Install Some PPAs | |
apt-get install python-software-properties | |
apt-get install -y software-properties-common curl | |
apt-add-repository ppa:nginx/development -y | |
apt-add-repository ppa:ondrej/php -y | |
apt-add-repository ppa:chris-lea/redis-server -y | |
# Update Package Lists | |
apt-get update | |
# Install Some Basic Packages | |
apt-get install -y build-essential dos2unix gcc git libmcrypt4 libpcre3-dev libpng-dev chrony unzip make python2.7-dev \ | |
python-pip re2c supervisor unattended-upgrades whois vim libnotify-bin pv cifs-utils mcrypt bash-completion zsh \ | |
graphviz avahi-daemon tshark imagemagick | |
apt-get install apache2 | |
# Install Generic PHP packages | |
apt-get install -y --allow-change-held-packages \ | |
php-imagick php-memcached php-redis php-xdebug php-dev | |
# PHP 7.4 | |
apt-get install -y --allow-change-held-packages \ | |
php7.4 php7.4-bcmath php7.4-bz2 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-dba php7.4-dev \ | |
php7.4-enchant php7.4-fpm php7.4-gd php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl php7.4-json php7.4-ldap \ | |
php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-readline \ | |
php7.4-snmp php7.4-soap php7.4-sqlite3 php7.4-sybase php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-xsl php7.4-zip | |
sudo sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.4/cli/php.ini | |
sudo sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.4/cli/php.ini | |
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.4/cli/php.ini | |
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.4/cli/php.ini | |
# Install Node | |
apt-get install -y nodejs | |
/usr/bin/npm install -g npm | |
/usr/bin/npm install -g gulp-cli | |
/usr/bin/npm install -g bower | |
/usr/bin/npm install -g yarn | |
/usr/bin/npm install -g grunt-cli | |
# Install MySQL | |
echo "mysql-server mysql-server/root_password password secret" | debconf-set-selections | |
echo "mysql-server mysql-server/root_password_again password secret" | debconf-set-selections | |
apt-get install -y mysql-server | |
# Configure MySQL Remote Access | |
sed -i '/^bind-address/s/bind-address.*=.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf | |
mysql --user="root" --password="secret" -e "GRANT ALL ON *.* TO root@'0.0.0.0' IDENTIFIED BY 'secret' WITH GRANT OPTION;" | |
service mysql restart | |
mysql --user="root" --password="secret" -e "CREATE USER 'easysend'@'0.0.0.0' IDENTIFIED BY 'secret1367';" | |
mysql --user="root" --password="secret" -e "GRANT ALL ON *.* TO 'easysend'@'0.0.0.0' IDENTIFIED BY 'secret1367' WITH GRANT OPTION;" | |
mysql --user="root" --password="secret" -e "GRANT ALL ON *.* TO 'easysend'@'%' IDENTIFIED BY 'secret1367' WITH GRANT OPTION;" | |
mysql --user="root" --password="secret" -e "FLUSH PRIVILEGES;" | |
mysql --user="root" --password="secret" -e "CREATE DATABASE easysend character set UTF8mb4 collate utf8mb4_bin;" | |
# One last upgrade check | |
apt-get upgrade -y | |
# Clean Up | |
apt -y autoremove | |
apt -y clean |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment