Files
linux-script/sh_scripts/lamp.sh
MrUnknownDE f7fc99932d little push
- #6 little fix
- #8 not fixing
2021-04-06 04:11:55 +02:00

179 lines
8.8 KiB
Bash

#!/bin/bash
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
clear
echo "################################################"
echo "# Version: 0.1v #"
echo "# #"
echo "# (L)inux #"
echo "# (A)pache #"
echo "# (M)ysql #"
echo "# (P)HP #"
echo "# #"
echo "# by #"
echo "# johanneskr.de #"
echo "# #"
echo "# #"
echo "################################################"
echo ""
echo "It will now install the following packages: dialog, expect"
sleep 2
sudo apt update && apt install dialog expect -y
MYSQL_ROOT_PASSWORD="5kze2%!Np@U#rbi@ubvn"
MYSQL_MYSQLADMIN_PASSWORD="rU@DPsd3NyDJ*8x#m4z$MXuoYAL#svjv"
SECURE_MYSQL=$(expect -c "
set timeout 10
spawn mysql_secure_installation
expect \"Enter current password for root (enter for none):\"
send \"\r\"
expect \"Change the root password?\"
send \"y\r\"
expect \"New password:\"
send \"$MYSQL_ROOT_PASSWORD\r"
expect \"Re-enter new password:\"
send \"$MYSQL_ROOT_PASSWORD\r"
expect \"Remove anonymous users?\"
send \"y\r\"
expect \"Disallow root login remotely?\"
send \"n\r\"
expect \"Remove test database and access to it?\"
send \"y\r\"
expect \"Reload privilege tables now?\"
send \"y\r\"
expect eof
")
serviceIP=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')
HEIGHT=10
WIDTH=70
CHOICE_HEIGHT=4
BACKTITLE="(L)inux(A)apache(M)ysql(P)HP Installer - Version: 0.1v"
TITLE="Has LAMP ever been installed on this instance?"
MENU="Choose one of the following options:"
OPTIONS=(1 "Yes"
2 "No"
3 "Exit")
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1) # - Yes
echo "Here where go again :)"
sudo apt update
sudo apt upgrade
sudo apt remove apache2 mariadb-server mariadb-client php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline apache2-utils php7.3-fpm php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql -y
sudo apt-get autoremove -y
sudo rm -r /var/www/*
echo ""
echo "start installer" # - start the normal installer
sudo apt update
sudo apt upgrade -y
sudo apt -o DPkg::options::=--force-confmiss --reinstall install apache2 apache2-utils mariadb-server mariadb-client -y
echo "$SECURE_MYSQL"
sudo apt -o DPkg::options::=--force-confmiss --reinstall install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline -y
sudo a2enmod php7.3
sudo systemctl restart apache2
sudo a2dismod php7.3
sudo apt -o DPkg::options::=--force-confmiss --reinstall install php7.3-fpm -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.3-fpm
sudo systemctl restart apache2
sudo apt install wget -y
sudo apt -o DPkg::options::=--force-confmiss --reinstall install php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql -y
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
wget -P Downloads https://files.phpmyadmin.net/phpmyadmin.keyring
gpg --import ~/Downloads/phpmyadmin.keyring
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc
gpg --verify ~/Downloads/phpMyAdmin-latest-all-languages.tar.gz.asc
mkdir /var/www/html/phpmyadmin
sudo tar xvf ~/Downloads/phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpmyadmin
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
sudo chmod 660 /var/www/html/phpmyadmin/config.inc.php
sudo chown -R 33:33 /var/www/html/phpmyadmin
sudo systemctl restart apache2
echo "CREATE USER 'mysqladmin'@'localhost' IDENTIFIED BY '$MYSQL_MYSQLADMIN_PASSWORD'; GRANT ALL PRIVILEGES ON *.* TO 'mysqladmin'@'localhost'; FLUSH PRIVILEGES;" | mysql -u root -password="$MYSQL_ROOT_PASSWORD"
echo "GRANT ALL PRIVILEGES ON *.* TO 'mysqladmin'@'localhost';" | mysql -u root -password="$MYSQL_ROOT_PASSWORD"
echo "
Thank you for using this Script
Your Webserver is available on http://$serviceIP/ and http://$serviceIP/phpmyadmin
MySQL-Login (localhost)
user: root
password: $MYSQL_ROOT_PASSWORD (Please change this password! It is static )
phpMyAdmin-Login
user: mysqladmin
password: $MYSQL_MYSQLADMIN_PASSWORD (Please change this password! It is static)
You want to improve my script or have a wish then open an issues on Github :)
>> https://github.com/MrUnknownDE/linux-script/issues/new" > installer-log.txt
echo "Finish, more information on the installer-log.txt in you home dir"
;;
2) # - No
echo "Lets Go!"
echo "start installer" # - start the normal installer
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 apache2-utils mariadb-server mariadb-client -y
echo "$SECURE_MYSQL"
sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline -y
sudo a2enmod php7.3
sudo systemctl restart apache2
sudo a2dismod php7.3
sudo apt install php7.3-fpm -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.3-fpm
sudo systemctl restart apache2
sudo apt install wget -y
sudo apt install php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql -y
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
wget -P Downloads https://files.phpmyadmin.net/phpmyadmin.keyring
gpg --import ~/Downloads/phpmyadmin.keyring
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc
gpg --verify ~/Downloads/phpMyAdmin-latest-all-languages.tar.gz.asc
mkdir /var/www/html/phpmyadmin
sudo tar xvf ~/Downloads/phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpmyadmin
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
sudo chmod 660 /var/www/html/phpmyadmin/config.inc.php
sudo chown -R 33:33 /var/www/html/phpmyadmin
sudo systemctl restart apache2
echo "CREATE USER 'mysqladmin'@'localhost' IDENTIFIED BY '$MYSQL_MYSQLADMIN_PASSWORD'; GRANT ALL PRIVILEGES ON *.* TO 'mysqladmin'@'localhost'; FLUSH PRIVILEGES;" | mysql -u root -password="$MYSQL_ROOT_PASSWORD"
echo "GRANT ALL PRIVILEGES ON *.* TO 'mysqladmin'@'localhost';" | mysql -u root -password="$MYSQL_ROOT_PASSWORD"
echo "
Thank you for using this Script
Your Webserver is available on http://$serviceIP/ and http://$serviceIP/phpmyadmin
MySQL-Login (localhost)
user: root
password: $MYSQL_ROOT_PASSWORD (Please change this password! It is static )
phpMyAdmin-Login
user: mysqladmin
password: $MYSQL_MYSQLADMIN_PASSWORD (Please change this password! It is static)
You want to improve my script or have a wish then open an issues on Github :)
>> https://github.com/MrUnknownDE/linux-script/issues/new" > installer-log.txt
echo "Finish, more information on the installer-log.txt in you home dir"
;;
3) # - Exit/Quit
clear
echo "exit Installer"
;;
*) # - Error
echo "Error! Please report this bug on Github"
echo "https://github.com/MrUnknownDE/linux-script/issues/new"
;;
esac