#!/bin/sh echo -e ' _ | |___ _ __ _ __ | / -_) ' \| '_ \ |_\___|_|_|_| .__/ |_| ' echo -e "LEMP server (Nginx Mysql Php-fpm)" . bin/checkroot.sh # get the current position _cwd="$(pwd)" # check for assets forlder _assets="$_cwd/assets" if [ ! -d "$_assets" ]; then _assets="$_cwd/../assets" if [ ! -d "$_assets" ]; then echo "!! can't find assets directory !!" exit fi fi sleep 2 echo -e ' _ _ __ _ _ ___ __ _| | | . \ || (_- /etc/nginx/sites-available/phpmyadmin.conf # ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/phpmyadmin.conf # # # echo -e "securing phpMyAdmin" # # sed -i "s/DirectoryIndex index.php/DirectoryIndex index.php\nAllowOverride all/" # # cp "$_assets"/phpmyadmin_htaccess > /usr/share/phpmyadmin/.htaccess # # echo -n "define a user name for phpmyadmin : " # # read un # # htpasswd -c /etc/phpmyadmin/.htpasswd $un # # service apache2 restart # echo -e "phpMyAdmin installed" # echo -e "You can access it at yourip/phpmyadmin" echo -e ' ____ ___ / __ \___ ____/ (_)____ / /_/ / _ \/ __ / / ___/ / _, _/ __/ /_/ / (__ ) /_/ |_|\___/\__,_/_/____/ ' echo -e "Installing Redis" sleep 3 apk add redis-server php-redis # TODO set maxmemory=2gb # TODO set maxmemory-policy=volatile-lru # TODO comment all save line systemctl enable redis-server systemctl restart redis-server systemctl restart php7.0-fpm echo -e "Redis installed" echo -e ' ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ ' echo -e "Installing Composer" sleep 3 export COMPOSER_HOME=/usr/local/composer curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer echo -e "Composer installed" echo -e ' ____ __ / __ \_______ _______/ /_ / / / / ___/ / / / ___/ __ \ / /_/ / / / /_/ (__ ) / / / /_____/_/ \__,_/____/_/ /_/ ' echo -e "Installing Drush and DrupalConsole" sleep 3 curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal chmod +x /usr/local/bin/drupal curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar -L -o /usr/local/bin/drush chmod +x /usr/local/bin/drush echo -e "Drush and DrupalConsoleinstalled" # TODO supervising # echo -e ' # __ ___ _ __ __ __ ___ _ # / |/ /__ ___ (_) /_ _/_/ / |/ /_ _____ (_)__ # / /|_/ / _ \/ _ \/ / __/ _/_/ / /|_/ / // / _ \/ / _ \ # /_/ /_/\___/_//_/_/\__/ /_/ /_/ /_/\_,_/_//_/_/_//_/ #' # echo -e "Installing Munin" # sleep 3 # # https://www.howtoforge.com/tutorial/server-monitoring-with-munin-and-monit-on-debian/ # apt-get --yes --force-yes install munin munin-node munin-plugins-extra # # Configure Munin # # enable plugins # ln -s /usr/share/munin/plugins/mysql_ /etc/munin/plugins/mysql_ # ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes # ln -s /usr/share/munin/plugins/mysql_innodb /etc/munin/plugins/mysql_innodb # ln -s /usr/share/munin/plugins/mysql_isam_space_ /etc/munin/plugins/mysql_isam_space_ # ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries # ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries # ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/mysql_threads # # ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/ # # # ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins/ # # # dbdir, htmldir, logdir, rundir, and tmpldir # sed -i 's/^#dbdir/dbdir/' /etc/munin/munin.conf # sed -i 's/^#htmldir/htmldir/' /etc/munin/munin.conf # sed -i 's/^#logdir/logdir/' /etc/munin/munin.conf # sed -i 's/^#rundir/rundir/' /etc/munin/munin.conf # sed -i 's/^#tmpldir/tmpldir/' /etc/munin/munin.conf # # sed -i "s/^\[localhost.localdomain\]/[${HOSTNAME}]/" /etc/munin/munin.conf # # # ln -s /etc/munin/apache24.conf /etc/apache2/conf-enabled/munin.conf # sed -i 's/Require local/Require all granted\nOptions FollowSymLinks SymLinksIfOwnerMatch/g' /etc/munin/apache24.conf # htpasswd -c /etc/munin/munin-htpasswd admin # sed -i 's/Require all granted/AuthUserFile \/etc\/munin\/munin-htpasswd\nAuthName "Munin"\nAuthType Basic\nRequire valid-user/g' /etc/munin/apache24.conf # # # service apache2 restart # service munin-node restart # echo -e "Munin installed" # # echo -e "Installing Monit" # sleep 3 # # https://www.howtoforge.com/tutorial/server-monitoring-with-munin-and-monit-on-debian/2/ # apt-get --yes --force-yes install monit # # TODO setup monit rc # cat "$_assets"/monitrc > /etc/monit/monitrc # # # TODO setup webaccess # passok=0 # while [ "$passok" = "0" ] # do # echo -n "Write web access password to monit" # read passwda # echo -n "ReWrite web access password to monit" # read passwdb # if [ "$passwda" = "$passwdb" ]; then # sed -i 's/PASSWD_TO_REPLACE/$passwda/g' /etc/monit/monitrc # passok=1 # else # echo -e "pass words don't match, please try again" # fi # done # # # TODO setup mail settings # sed -i "s/server1\.example\.com/$HOSTNAME/g" /etc/monit/monitrc # # mkdir /var/www/html/monit # echo -e "hello" > /var/www/html/monit/token # # service monit start # # echo -e "Monit installed" # echo -e ' # ___ __ __ # / |_ _______/ /_____ _/ /_ # / /| | | /| / / ___/ __/ __ `/ __/ # / ___ | |/ |/ (__ ) /_/ /_/ / /_ # /_/ |_|__/|__/____/\__/\__,_/\__/ #' # echo -e "Installing Awstat" # sleep 3 # apt-get --yes --force-yes install awstats # # Configure AWStats # temp=`grep -i sitedomain /etc/awstats/awstats.conf.local | wc -l` # if [ $temp -lt 1 ]; then # echo SiteDomain="$_domain" >> /etc/awstats/awstats.conf.local # fi # # Disable Awstats from executing every 10 minutes. Put a hash in front of any line. # sed -i 's/^[^#]/#&/' /etc/cron.d/awstats # echo -e "Awstat installed"