diff --git a/install.sh b/install.sh index 07b9690..4f9fcb7 100644 --- a/install.sh +++ b/install.sh @@ -41,14 +41,30 @@ output "" output "" # update package and upgrade Ubuntu - sudo apt -y update - sudo apt -y upgrade - sudo apt -y autoremove + sudo apt update + sudo apt upgrade -y + sudo apt autoremove -y clear - - output "Installing Nginx server." + # install all dependencies + output "Installing MySQL Repository." + output "" + wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb > /tmp/mysql-repo.deb | sudo dpkg -i ./mysql-apt-config_0.8.14-1_all.deb + sudo apt update + # create random password + rootpasswd=$(openssl rand -base64 12) + export DEBIAN_FRONTEND="noninteractive" + output "Installing pre-requisite repos." + output "" + sudo apt install software-properties-common -y + sudo add-apt-repository ppa:ondrej/php -y + sudo add-apt-repository ppa:bitcoin/bitcoin -y + sudo apt update + output "Installing Required Software." + output "" + sudo apt install nginx mysql-server php7.4-opcache php7.3-fpm php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php-pear php-auth php7.4-mcrypt mcrypt imagemagick libruby php7.4-curl php7.4-intl php7.4-pspell php7.4-recode php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php7.4-memcache php7.4-imagick php7.4-gettext php7.4-zip php7.4-mbstring libgmp3-dev libmysqlclient-dev libcurl4-gnutls-dev libkrb5-dev libldap2-dev libidn11-dev gnutls-dev librtmp-dev build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils sendmail git pwgen unzip libdb4.8-dev libdb4.8++-dev build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git libboost-all-dev libminiupnpc-dev libqt5gui5 libqt5core5a libqt5webkit5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev -y + + output "Configuring Nginx server." output "" - sudo apt -y install nginx sudo rm /etc/nginx/sites-enabled/default sudo service nginx start sudo service cron start @@ -62,34 +78,6 @@ default 0; ~*bandit 1; } ' | sudo -E tee /etc/nginx/blockuseragents.rules >/dev/null 2>&1 - - output "Installing MySQL Repository." - output "" - wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb > /tmp/mysql-repo.deb | sudo dpkg -i ./mysql-apt-config_0.8.14-1_all.deb - sudo apt update - output "Installing MySQL." - output "" - # create random password - rootpasswd=$(openssl rand -base64 12) - export DEBIAN_FRONTEND="noninteractive" - sudo apt install mysql-server - - output "Installing php repo." - output "" - sudo apt install software-properties-common - sudo add-apt-repository ppa:ondrej/php - sudo apt update - - output "Installing php7.x and other needed files" - output "" - sudo apt install php7.3-opcache php7.3-fpm php7.3 php7.3-common php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php7.3-pear php7.3-auth php7.3-mcrypt mcrypt imagemagick libruby php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl memcached php7.3-memcache php7.3-imagick php7.3-gettext php7.3-zip php7.3-mbstring - sudo phpenmod mcrypt - sudo phpenmod mbstring - sudo apt install -y libgmp3-dev libmysqlclient-dev libcurl4-gnutls-dev libkrb5-dev libldap2-dev libidn11-dev gnutls-dev librtmp-dev - sudo apt install -y build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils - sudo apt install -y sendmail git - sudo apt install -y pwgen -y - clear #Generating Random Passwords password=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` @@ -115,10 +103,10 @@ default 0; output "Some optional installs" if [[ ("$install_fail2ban" == "y" || "$install_fail2ban" == "Y" || "$install_fail2ban" == "") ]]; then - sudo apt -y install fail2ban + sudo apt install fail2ban -y fi if [[ ("$UFW" == "y" || "$UFW" == "Y" || "$UFW" == "") ]]; then - sudo apt-get install ufw + sudo apt-get install ufw -y sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh @@ -129,15 +117,6 @@ default 0; fi clear - output "Installing phpmyadmin" - output "" - echo "phpmyadmin phpmyadmin/reconfigure-webserver multiselect" | sudo debconf-set-selections - echo "phpmyadmin phpmyadmin/dbconfig-install boolean true" | sudo debconf-set-selections - echo "phpmyadmin phpmyadmin/mysql/admin-user string root" | sudo debconf-set-selections - echo "phpmyadmin phpmyadmin/mysql/admin-pass password $rootpasswd" | sudo debconf-set-selections - echo "phpmyadmin phpmyadmin/mysql/app-pass password $AUTOGENERATED_PASS" | sudo debconf-set-selections - echo "phpmyadmin phpmyadmin/app-password-confirm password $AUTOGENERATED_PASS" | sudo debconf-set-selections - sudo apt install -y phpmyadmin output " Installing yiimp" output "" @@ -403,7 +382,7 @@ echo 'include /etc/nginx/blockuseragents.rules; ' | sudo -E tee /etc/nginx/sites-available/$server_name.conf >/dev/null 2>&1 fi sudo service nginx restart -sudo service php7.3-fpm reload +sudo service php7.4-fpm reload else echo 'include /etc/nginx/blockuseragents.rules; server { @@ -604,7 +583,7 @@ echo 'include /etc/nginx/blockuseragents.rules; ' | sudo -E tee /etc/nginx/sites-available/$server_name.conf >/dev/null 2>&1 fi sudo service nginx restart -sudo service php7.0-fpm reload +sudo service php7.4-fpm reload fi clear output "Now for the database fun!" @@ -806,9 +785,6 @@ cd ~ sudo rm -rf $HOME/yiimp sudo service nginx restart sudo service php7.3-fpm reload -sudo add-apt-repository ppa:bitcoin/bitcoin -y -sudo apt update -sudo apt install -y unzip libdb4.8-dev libdb4.8++-dev build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git libboost-all-dev libminiupnpc-dev libqt5gui5 libqt5core5a libqt5webkit5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev cd ~ wget https://github.com/lbryio/lbrycrd/releases/download/v0.17.3.2/lbrycrd-linux-1732.zip sudo unzip lbrycrd-linux.zip -d /usr/bin