apache2install.sh (2544B)
1 #!/bin/bash 2 3 echo " THIS SCRIPT WILL INSTALL HEARTRANKED BEEING SERVED WITH APACHE2" 4 echo " I RECOMMEND INSTALLING HEARTRANKED IN DEFAULT /var/www/ FOLDER to NOT run into write issues." 5 echo " YOU MUST UNINSTALL ANY OLD DEBIAN python-webpy packages otherwise it won't update" 6 echo " apt purge python3-webpy libapache2-mod-wsgi-py3" 7 8 ROOT_UID=0 # Root has $UID 0. 9 10 if [ "$UID" -eq "$ROOT_UID" ] 11 then 12 echo "OK" 13 else 14 echo "Run with sudo!" 15 echo "sudo ./install.sh" 16 exit 0 17 fi 18 19 echo "Hurray! du e sudo user!" 20 cat <<'EOF' 21 22 .__---~~~(~~-_. 23 _-' ) -~~- ) _-" )_ 24 ( ( `-,_..`.,_--_ '_,)_ 25 ( -_) ( -_-~ -_ `, ) 26 (_ -_ _-~-__-~`, ,' )__-'))--___--~~~--__--~~--___--__.. 27 _ ~`_-'( (____;--==,,_))))--___--~~~--__--~~--__----~~~'`=__-~+_-_. 28 (@) (@) ````` `-_(())_-~ mn 29 EOF 30 31 echo "Installing all dependencies..." 32 apt-get update 33 sudo apt install apache2 zip python3-pip python3-pil python3-markdown 34 sudo pip3 install webpy-v.0.76.zip --break-system-packages #don't worry won't break 35 sudo pip3 install mutagen --break-system-packages #same 36 sudo apt install libapache2-mod-wsgi-py3 #sometime this has trouble turning on. check with a2enmod 37 38 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 39 ACONF="/etc/apache2/sites-available/heartranked.conf" 40 41 echo "Adding local site to /etc/apache2/sites-available/heartranked.conf" 42 cat <<'EOF' > $ACONF 43 <VirtualHost *:80> 44 EOF 45 echo " DocumentRoot $DIR" >> $ACONF 46 echo " WSGIScriptAlias / $DIR/server.py" >> $ACONF 47 echo " WSGIPassAuthorization On" >> $ACONF 48 echo " AddType text/html .py" >> $ACONF 49 echo " Alias /static $DIR/static/" >> $ACONF 50 echo " <Directory $DIR/>" >> $ACONF 51 cat <<'EOF' >> $ACONF 52 Options FollowSymlinks 53 AllowOverride None 54 Require all granted 55 </Directory> 56 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 57 <Directory "/usr/lib/cgi-bin"> 58 AllowOverride None 59 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 60 Require all granted 61 </Directory> 62 EOF 63 echo " ErrorLog $DIR/error.log" >> $ACONF 64 echo "</VirtualHost>" >> $ACONF 65 66 echo "<Directory $DIR>" >> /etc/apache2/apache2.conf 67 cat <<'EOF' >> /etc/apache2/apache2.conf 68 Options Indexes FollowSymLinks 69 AllowOverride None 70 Require all granted 71 </Directory> 72 EOF 73 74 sudo a2dissite 000-default.conf 75 sudo a2ensite heartranked.conf 76 sudo systemctl restart apache2 77 78 cat <<'EOF' 79 .-. 80 .-""`""-. |(@ @) 81 _/`oOoOoOoOo`\_ \ \-/ 82 '.-=-=-=-=-=-=-.' \/ \ 83 `-=.=-.-=.=-' \ /\ 84 ^ ^ ^ _H_ \ 85 86 EOF 87