heartranked

git clone https://git.tarina.org/heartranked
Log | Files | Refs | README

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