-
-
Save RowboTony/624c7ac2b3fad78c0c61 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# --------------------------------------- | |
# Virtual Machine Setup | |
# --------------------------------------- | |
# Adding multiverse sources. | |
cat > /etc/apt/sources.list.d/multiverse.list << EOF | |
deb http://archive.ubuntu.com/ubuntu trusty multiverse | |
deb http://archive.ubuntu.com/ubuntu trusty-updates multiverse | |
deb http://security.ubuntu.com/ubuntu trusty-security multiverse | |
EOF | |
# Updating packages | |
apt-get update | |
# --------------------------------------- | |
# Apache Setup | |
# --------------------------------------- | |
# Installing Packages | |
apt-get install -y apache2 libapache2-mod-fastcgi apache2-mpm-worker | |
# linking Vagrant directory to Apache 2.4 public directory | |
rm -rf /var/www | |
ln -fs /vagrant /var/www | |
# Add ServerName to httpd.conf | |
echo "ServerName localhost" > /etc/apache2/httpd.conf | |
# Setup hosts file | |
VHOST=$(cat <<EOF | |
<VirtualHost *:80> | |
DocumentRoot "/var/www/public" | |
ServerName localhost | |
<Directory "/var/www/public"> | |
AllowOverride All | |
</Directory> | |
</VirtualHost> | |
EOF | |
) | |
echo "${VHOST}" > /etc/apache2/sites-enabled/000-default.conf | |
# Loading needed modules to make apache work | |
a2enmod actions fastcgi rewrite | |
service apache2 reload | |
# --------------------------------------- | |
# PHP Setup | |
# --------------------------------------- | |
# Installing packages | |
apt-get install -y php5 php5-cli php5-fpm curl php5-curl php5-mcrypt php5-xdebug | |
# Creating the configurations inside Apache | |
cat > /etc/apache2/conf-available/php5-fpm.conf << EOF | |
<IfModule mod_fastcgi.c> | |
AddHandler php5-fcgi .php | |
Action php5-fcgi /php5-fcgi | |
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi | |
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization | |
# NOTE: using '/usr/lib/cgi-bin/php5-cgi' here does not work, | |
# it doesn't exist in the filesystem! | |
<Directory /usr/lib/cgi-bin> | |
Require all granted | |
</Directory> | |
</IfModule> | |
EOF | |
# Enabling php modules | |
php5enmod mcrypt | |
# Triggering changes in apache | |
a2enconf php5-fpm | |
service apache2 reload | |
# --------------------------------------- | |
# MySQL Setup | |
# --------------------------------------- | |
# Setting MySQL root user password root/root | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password password root' | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root' | |
# Installing packages | |
apt-get install -y mysql-server mysql-client php5-mysql | |
# --------------------------------------- | |
# PHPMyAdmin setup | |
# --------------------------------------- | |
# Default PHPMyAdmin Settings | |
debconf-set-selections <<< 'phpmyadmin phpmyadmin/dbconfig-install boolean true' | |
debconf-set-selections <<< 'phpmyadmin phpmyadmin/app-password-confirm password root' | |
debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/admin-pass password root' | |
debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/app-pass password root' | |
debconf-set-selections <<< 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' | |
# Install PHPMyAdmin | |
apt-get install -y phpmyadmin | |
# Make Composer available globally | |
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/sites-enabled/phpmyadmin.conf | |
# Restarting apache to make changes | |
service apache2 restart | |
# --------------------------------------- | |
# Tools Setup | |
# --------------------------------------- | |
# Adding NodeJs PPA Repository | |
add-apt-repository -y ppa:chris-lea/node.js | |
apt-get update | |
# Installing nodejs and npm | |
apt-get install -y nodejs | |
# Installing Bower and Grunt | |
npm install -g bower grunt-cli | |
# Installing GIT | |
apt-get install -y git | |
# Install Composer | |
curl -s https://getcomposer.org/installer | php | |
# Make Composer available globally | |
mv composer.phar /usr/local/bin/composer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | |
VAGRANTFILE_API_VERSION = "2" | |
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
config.vm.box = "ubuntu/trusty64" | |
config.vm.hostname = "benchmark" | |
config.vm.network :forwarded_port, host: 8080, guest: 80 | |
config.vm.provision :shell, path: "Vagrant.bootstrap.sh" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment