Skip to content

Instantly share code, notes, and snippets.

@kzorluoglu
Created August 12, 2016 15:06
Show Gist options
  • Select an option

  • Save kzorluoglu/b6cdb14b12616a9dff9c2ece286d035d to your computer and use it in GitHub Desktop.

Select an option

Save kzorluoglu/b6cdb14b12616a9dff9c2ece286d035d to your computer and use it in GitHub Desktop.

Revisions

  1. kzorluoglu created this gist Aug 12, 2016.
    60 changes: 60 additions & 0 deletions bootstrap.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,60 @@
    #!/usr/bin/env bash

    # Use single quotes instead of double quotes to make it work with special-character passwords
    PASSWORD='PASSWORDHERE'
    PROJECTFOLDER='PROJECTFOLDERHERE'

    # create project folder
    sudo mkdir "/var/www/html/${PROJECTFOLDER}"

    # update / upgrade
    sudo apt-get update
    sudo apt-get -y upgrade

    # install apache 2.5 and php 5.5
    sudo apt-get install -y apache2
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get -y update
    sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-gd php5.6-intl php5.6-xsl

    # install mysql and give password to installer
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $PASSWORD"
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $PASSWORD"
    sudo apt-get -y install mysql-server
    sudo apt-get install php5.6-mysql

    # install phpmyadmin and give password(s) to installer
    # for simplicity I'm using the same password for mysql and phpmyadmin
    sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
    sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $PASSWORD"
    sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $PASSWORD"
    sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $PASSWORD"
    sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
    sudo apt-get -y install phpmyadmin

    # setup hosts file
    VHOST=$(cat <<EOF
    <VirtualHost *:80>
    DocumentRoot "/var/www/html/${PROJECTFOLDER}"
    <Directory "/var/www/html/${PROJECTFOLDER}">
    AllowOverride All
    Require all granted
    </Directory>
    ErrorLog /var/www/html/${PROJECTFOLDER}/error.log
    </VirtualHost>
    EOF
    )
    echo "${VHOST}" > /etc/apache2/sites-available/000-default.conf

    # enable mod_rewrite
    sudo a2enmod rewrite

    # restart apache
    service apache2 restart

    # install git
    sudo apt-get -y install git

    # install Composer
    curl -s https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer