Created
September 29, 2013 20:44
-
-
Save 7LayersDesign/6756369 to your computer and use it in GitHub Desktop.
Provisioner for Vagrant development boxes. Meant for Laravel, but may be used with anything.
This file contains hidden or 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 | |
| # Update the box | |
| # -------------- | |
| # Downloads the package lists from the repositories | |
| # and "updates" them to get information on the newest | |
| # versions of packages and their dependencies | |
| apt-get update | |
| # Install Vim | |
| apt-get install -y vim | |
| # Apache | |
| # ------ | |
| # Install | |
| apt-get install -y apache2 | |
| # Remove /var/www default | |
| rm -rf /var/www | |
| # Symlink /vagrant to /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 "/vagrant/public" | |
| ServerName localhost | |
| <Directory "/vagrant/public"> | |
| AllowOverride All | |
| </Directory> | |
| </VirtualHost> | |
| EOF | |
| ) | |
| echo "${VHOST}" > /etc/apache2/sites-enabled/000-default | |
| # Enable mod_rewrite | |
| a2enmod rewrite | |
| # Restart apache | |
| service apache2 restart | |
| # PHP 5.4 | |
| # ------- | |
| apt-get install -y libapache2-mod-php5 | |
| # Add add-apt-repository binary | |
| apt-get install -y python-software-properties | |
| # Install PHP 5.4 | |
| add-apt-repository ppa:ondrej/php5 | |
| # Update | |
| apt-get update | |
| # PHP stuff | |
| # --------- | |
| # Command-Line Interpreter | |
| apt-get install -y php5-cli | |
| # MySQL database connections directly from PHP | |
| apt-get install -y php5-mysql | |
| # cURL is a library for getting files from FTP, GOPHER, HTTP server | |
| apt-get install -y php5-curl | |
| # Module for MCrypt functions in PHP | |
| apt-get install -y php5-mcrypt | |
| # Install xdebug | |
| apt-get install php5-xdebug | |
| # cURL | |
| # ---- | |
| apt-get install -y curl | |
| # Mysql | |
| # ----- | |
| # Ignore the post install questions | |
| export DEBIAN_FRONTEND=noninteractive | |
| # Install MySQL quietly | |
| apt-get -q -y install mysql-server-5.5 | |
| # Git | |
| # --- | |
| sudo apt-get install git | |
| # Install Composer | |
| # ---------------- | |
| curl -s https://getcomposer.org/installer | php | |
| # Make Composer available globally | |
| mv composer.phar /usr/local/bin/composer | |
| # Load in bash file. | |
| cd / | |
| sudo wget https://raw.github.com/7LayersDesign/dotfiles/master/.bashrc | |
| # Laravel stuff | |
| # ------------- | |
| alias art='php artisan' | |
| alias comp='composer' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment