gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

bootstrap.sh (2976B)


      1 #!/usr/bin/env bash
      2 
      3 # Use single quotes instead of double quotes to make it work with special-character passwords
      4 PASSWORD='12345678'
      5 PROJECTFOLDER='myproject'
      6 
      7 # Create project folder, written in 3 single mkdir-statements to make sure this runs everywhere without problems
      8 sudo mkdir "/var/www"
      9 sudo mkdir "/var/www/html"
     10 sudo mkdir "/var/www/html/${PROJECTFOLDER}"
     11 
     12 sudo apt-get update
     13 sudo apt-get -y upgrade
     14 
     15 sudo apt-get install -y apache2
     16 sudo apt-get install -y php5
     17 
     18 sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $PASSWORD"
     19 sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $PASSWORD"
     20 sudo apt-get -y install mysql-server
     21 sudo apt-get install php5-mysql
     22 
     23 sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
     24 sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $PASSWORD"
     25 sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $PASSWORD"
     26 sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $PASSWORD"
     27 sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
     28 sudo apt-get -y install phpmyadmin
     29 
     30 # setup hosts file
     31 VHOST=$(cat <<EOF
     32 <VirtualHost *:80>
     33     DocumentRoot "/var/www/html/${PROJECTFOLDER}/public"
     34     <Directory "/var/www/html/${PROJECTFOLDER}/public">
     35         AllowOverride All
     36         Require all granted
     37     </Directory>
     38 </VirtualHost>
     39 EOF
     40 )
     41 echo "${VHOST}" > /etc/apache2/sites-available/000-default.conf
     42 
     43 # enable mod_rewrite
     44 sudo a2enmod rewrite
     45 
     46 # restart apache
     47 service apache2 restart
     48 
     49 # install curl (needed to use git afaik)
     50 sudo apt-get -y install curl
     51 sudo apt-get -y install php5-curl
     52 
     53 # install openssl (needed to clone from GitHub, as github is https only)
     54 sudo apt-get -y install openssl
     55 
     56 # install PHP GD, the graphic lib (we create captchas and avatars)
     57 sudo apt-get -y install php5-gd
     58 
     59 # install git
     60 sudo apt-get -y install git
     61 
     62 # git clone HUGE
     63 sudo git clone https://github.com/panique/huge "/var/www/html/${PROJECTFOLDER}"
     64 
     65 # install Composer
     66 curl -s https://getcomposer.org/installer | php
     67 mv composer.phar /usr/local/bin/composer
     68 
     69 # go to project folder, load Composer packages
     70 cd "/var/www/html/${PROJECTFOLDER}"
     71 composer install --dev
     72 
     73 # run SQL statements from install folder
     74 sudo mysql -h "localhost" -u "root" "-p${PASSWORD}" < "/var/www/html/${PROJECTFOLDER}/application/_installation/01-create-database.sql"
     75 sudo mysql -h "localhost" -u "root" "-p${PASSWORD}" < "/var/www/html/${PROJECTFOLDER}/application/_installation/02-create-table-users.sql"
     76 sudo mysql -h "localhost" -u "root" "-p${PASSWORD}" < "/var/www/html/${PROJECTFOLDER}/application/_installation/03-create-table-notes.sql"
     77 
     78 # writing rights to avatar folder
     79 sudo chmod 0777 -R "/var/www/html/${PROJECTFOLDER}/public/avatars"
     80 
     81 # remove Apache's default demo file
     82 sudo rm "/var/www/html/index.html"
     83 
     84 # final feedback
     85 echo "Voila!"