diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000000..71cba15840
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,330 @@
+#!/bin/bash -e
+
+######################################################
+# Snipe-It Install Script #
+# Script created by Mike Tucker #
+# mtucker6784@gmail.com #
+# This script is just to help streamline the #
+# install process for Debian and CentOS #
+# based distributions. I assume you will be #
+# installing as a subdomain on a fresh OS install. #
+# Right now I'm n ot going to worry about SMTP setup #
+# #
+# Feel free to modify, but please give #
+# credit where it's due. Thanks! #
+######################################################
+
+#First things first, let's set some variables and find our distro.
+clear
+si="Snipe-IT"
+hostname="$(hostname)"
+hosts=/etc/hosts
+
+distro="$(cat /proc/version)"
+ans=default
+case $distro in
+ *Ubuntu*|*Debian*)
+ echo "Ubuntu/Debian detected. Carry forth."
+ distro=u
+ ;;
+ *centos*)
+ echo "CentOS detected. Carry forth."
+ distro=c
+ ;;
+ *)
+ echo "Not sure of this OS. Exiting for safety."
+ exit
+ ;;
+esac
+
+until [[ $ans == "1.2.8" ]] || [[ $ans == "2.0" ]]; do
+echo -e "Select what version of $si you want to install:\n1. 1.2.8 stable (GIT) \n2. 2.0-pre (ZIP)"
+read ver
+case $ver in
+ 1 )
+ dir=/var/www/snipe-it
+ ans=1.2.8
+ ;;
+ 2 )
+ dir=/var/www/snipe-it-2.0
+ ans=2.0
+ ;;
+ * )
+ echo "Please select 1 or 2"
+ ;;
+esac
+done
+
+#Get your FQDN.
+echo ""
+echo "$si install script - Installing $ans"
+echo "Q. What is the FQDN of your server? (example: www.yourserver.com)"
+read fqdn
+echo ""
+
+#Do you want to set your own passwords, or have me generate random ones?
+ans=default
+until [[ $ans == "yes" ]] || [[ $ans == "no" ]]; do
+echo "Q. Do you want me to automatically create the MySQL root & user passwords? (y/n)"
+read setpw
+
+case $setpw in
+ [yY] | [yY][Ee][Ss] )
+ mysqlrootpw="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c6`)"
+ mysqluserpw="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c6`)"
+ echo "I'm putting this into /root/mysqlpasswords ... PLEASE REMOVE that file after you have recorded the passwords somewhere safe!"
+ ans="yes"
+ ;;
+
+ [nN] | [n|N][O|o] )
+ echo "Q. What do you want your root PW to be?"
+ read mysqlrootpw
+ echo "Q. What do you want your snipeit user PW to be?"
+ read mysqluserpw
+ ans="no"
+ ;;
+ *) echo "Invalid answer. Please type y or n"
+ ;;
+esac
+done
+
+#Snipe says we need a new 32bit key, so let's create one randomly and inject it into the file
+random32="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c32`)"
+
+#createstuff.sql will be injected to the database during install. mysqlpasswords.txt is a file that will contain the root and snipeit user passwords.
+#Again, this file should be removed, which will be a prompt at the end of the script.
+createstufffile=/root/createstuff.sql
+passwordfile=/root/mysqlpasswords.txt
+
+echo >> $createstufffile "CREATE DATABASE snipeit;"
+echo >> $createstufffile "GRANT ALL PRIVILEGES ON snipeit.* TO snipeit@localhost IDENTIFIED BY '$mysqluserpw';"
+echo >> $passwordfile "MySQL Passwords..."
+echo >> $passwordfile "Root: $mysqlrootpw"
+echo >> $passwordfile "User (snipeit): $mysqluserpw"
+echo >> $passwordfile "32 bit random string: $random32"
+echo "MySQL ROOT password: $mysqlrootpw"
+echo "MySQL USER (snipeit) password: $mysqluserpw"
+echo "32 bit random string: $random32"
+echo "These passwords have been exported to /root/mysqlpasswords.txt...I recommend You delete this file for security purposes"
+
+#Let us make it so only root can read the file. Again, this isn't best practice, so please remove these after the install.
+chown root:root $passwordfile $creatstufffile
+chmod 700 $passwordfile $createstufffile
+
+if [[ $distro == "u" ]]; then
+#Update/upgrade Debian/Ubuntu repositories, get the latest version of git.
+ apachefile=/etc/apache2/sites-available/$fqdn.conf
+ sudo apt-get update ; sudo apt-get -y upgrade ; sudo apt-get install -y git unzip
+
+ if [[ $ver == "1" ]]; then
+ sudo git clone https://github.com/snipe/snipe-it.git $dir
+ else
+ wget https://github.com/snipe/snipe-it/archive/2.0.zip
+ sudo unzip 2.0.zip -d /var/www/
+ fi
+
+ #We already established MySQL root & user PWs, so we dont need to be prompted. Let's go ahead and install Apache, PHP and MySQL.
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lamp-server^
+ sudo apt-get install -y php5 php5-mcrypt php5-curl php5-mysql
+
+ #Create MySQL accounts
+ echo "Create MySQL accounts"
+ sudo mysqladmin -u root password $mysqlrootpw
+ sudo mysql -u root -p$mysqlrootpw < /root/createstuff.sql
+
+ #Enable mcrypt and rewrite
+ sudo php5enmod mcrypt
+ sudo a2enmod rewrite
+ sudo ls -al /etc/apache2/mods-enabled/rewrite.load
+
+ #Create a new virtual host for Apache.
+ echo >> $apachefile ""
+ echo >> $apachefile ""
+ echo >> $apachefile ""
+ echo >> $apachefile "ServerAdmin webmaster@localhost"
+ echo >> $apachefile " "
+ echo >> $apachefile " Require all granted"
+ echo >> $apachefile " AllowOverride All"
+ echo >> $apachefile " "
+ echo >> $apachefile " DocumentRoot $dir/public"
+ echo >> $apachefile " ServerName $fqdn"
+ echo >> $apachefile " ErrorLog "\${APACHE_LOG_DIR}"/error.log"
+ echo >> $apachefile " CustomLog "\${APACHE_LOG_DIR}"/access.log combined"
+ echo >> $apachefile ""
+ echo >> $hosts "127.0.0.1 $hostname $fqdn"
+ a2ensite $fqdn.conf
+
+ #Change permissions on directories
+ sudo chmod -R 755 $dir/app/storage
+ sudo chmod -R 755 $dir/app/private_uploads
+ sudo chmod -R 755 $dir/public/uploads
+ sudo chown -R www-data:www-data /var/www/
+ echo "Finished permission changes."
+
+ #Modify the Snipe-It files necessary for a production environment.
+ replace "'www.yourserver.com'" "'$hostname'" -- $dir/bootstrap/start.php
+ cp $dir/app/config/production/database.example.php $dir/app/config/production/database.php
+ replace "'snipeit_laravel'," "'snipeit'," -- $dir/app/config/production/database.php
+ replace "'travis'," "'snipeit'," -- $dir/app/config/production/database.php
+ replace " 'password' => ''," " 'password' => '$mysqluserpw'," -- $dir/app/config/production/database.php
+ replace "'http://production.yourserver.com'," "'http://$fqdn'," -- $dir/app/config/production/database.php
+ cp $dir/app/config/production/app.example.php $dir/app/config/production/app.php
+ replace "'http://production.yourserver.com'," "'http://$fqdn'," -- $dir/app/config/production/app.php
+ replace "'Change_this_key_or_snipe_will_get_ya'," "'$random32'," -- $dir/app/config/production/app.php
+ cp $dir/app/config/production/mail.example.php $dir/app/config/production/mail.php
+
+ #Install / configure composer
+ sudo curl -sS https://getcomposer.org/installer | php
+ mv composer.phar /usr/local/bin/composer
+ cd $dir/
+ composer install --no-dev --prefer-source
+ php artisan app:install --env=production
+
+ service apache2 restart
+else
+ #Make directories so we can create a new apache vhost
+ sudo mkdir /etc/httpd/
+ sudo mkdir /etc/httpd/sites-available/
+ sudo mkdir /etc/httpd/sites-enabled/
+ apachefile=/etc/httpd/sites-available/$fqdn.conf
+ apachefileen=/etc/httpd/sites-enabled/$fqdn.conf
+ apachecfg=/etc/httpd/conf/httpd.conf
+
+ #Allow us to get the mysql engine
+ sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
+ sudo yum -y install httpd mysql-server wget git unzip
+
+ if [[ $ver == "1" ]]; then
+ sudo git clone https://github.com/snipe/snipe-it.git $dir
+ else
+ wget https://github.com/snipe/snipe-it/archive/2.0.zip
+ sudo unzip 2.0.zip -d /var/www/
+ fi
+
+ sudo /sbin/service mysqld start
+
+ #Create MySQL accounts
+ echo "Create MySQL accounts"
+ sudo mysqladmin -u root password $mysqlrootpw
+ echo ""
+ echo "***Your Current ROOT password is---> $mysqlrootpw"
+ echo "***Use $mysqlrootpw at the following prompt for root login***"
+ sudo /usr/bin/mysql_secure_installation
+
+ #Install PHP stuff.
+ sudo yum -y install php php-mysql php-bcmath.x86_64 php-cli.x86_64 php-common.x86_64 php-embedded.x86_64 php-gd.x86_64 php-mbstring
+ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+ rpm -ivh epel-release-7-5.noarch.rpm
+ yum install -y --enablerepo="epel" php-mcrypt
+
+ #Create the new virtual host in Apache.
+ echo >> $apachefile ""
+ echo >> $apachefile ""
+ echo >> $apachefile ""
+ echo >> $apachefile "ServerAdmin webmaster@localhost"
+ echo >> $apachefile " "
+ echo >> $apachefile " Require all granted"
+ echo >> $apachefile " AllowOverride All"
+ echo >> $apachefile " Options +Indexes"
+ echo >> $apachefile " "
+ echo >> $apachefile " DocumentRoot $dir/public"
+ echo >> $apachefile " ServerName $fqdn"
+ echo >> $apachefile " ErrorLog /var/log/httpd/snipe.error.log"
+ echo >> $apachefile " CustomLog /var/log/access.log combined"
+ echo >> $apachefile ""
+ echo >> $hosts "127.0.0.1 $hostname $fqdn"
+ sudo ln -s $apachefile $apachefileen
+
+ #Enable rewrite and vhost
+ echo >> $apachecfg "LoadModule rewrite_module modules/mod_rewrite.so"
+ echo >> $apachecfg "IncludeOptional sites-enabled/*.conf"
+
+ #Change permissions on directories
+ sudo chmod -R 755 $dir/app/storage
+ sudo chmod -R 755 $dir/app/private_uploads
+ sudo chmod -R 755 $dir/public/uploads
+ sudo chown -R apache:apache /var/www/
+
+ service httpd restart
+
+ #Modify the Snipe-It files necessary for a production environment.
+ replace "'www.yourserver.com'" "'$hostname'" -- $dir/bootstrap/start.php
+ cp $dir/app/config/production/database.example.php $dir/app/config/production/database.php
+ replace "'snipeit_laravel'," "'snipeit'," -- $dir/app/config/production/database.php
+ replace "'travis'," "'snipeit'," -- $dir/app/config/production/database.php
+ replace " 'password' => ''," " 'password' => '$mysqluserpw'," -- $dir/app/config/production/database.php
+ replace "'http://production.yourserver.com'," "'http://$fqdn'," -- $dir/app/config/production/database.php
+ cp $dir/app/config/production/app.example.php $dir/app/config/production/app.php
+ replace "'http://production.yourserver.com'," "'http://$fqdn'," -- $dir/app/config/production/app.php
+ replace "'Change_this_key_or_snipe_will_get_ya'," "'$random32'," -- $dir/app/config/production/app.php
+ cp $dir/app/config/production/mail.example.php $dir/app/config/production/mail.php
+
+ #Install / configure composer
+ cd $dir
+ sudo mysql -u root -p$mysqlrootpw < /root/createstuff.sql
+ sudo curl -sS https://getcomposer.org/installer | php
+ php composer.phar install --no-dev --prefer-source
+ php artisan app:install --env=production
+
+ #Add SELinux and firewall exception/rules. You'll have to allow 443 if you want ssl connectivity.
+ chcon -R -h -t httpd_sys_script_rw_t $dir/
+ firewall-cmd --zone=public --add-port=80/tcp --permanent
+ firewall-cmd --reload
+
+ service httpd restart
+fi
+
+#Todo(?) To Mail or Not To Mail environment here.
+#echo "Q. Do you want me to install sendmail and help you configure your mail environment?"
+#echo "Please note that while I'll install sendmail, I'll still send you to a nano environment to edit the mail.php file at the end of this install."
+#read setpw
+#case $setpw in
+#
+# [yY] | [yY][Ee][Ss] )
+# apt-get install -y sendmail
+# installmail=yes
+# ;;
+#
+# [nN] | [n|N][O|o] )
+# echo "Ok, no problem."
+# ;;
+# *) echo "Invalid answer"
+# ;;
+#esac
+
+echo ""; echo ""; echo ""
+echo "***I have no idea about your mail environment, so if you want email capability, open up the following***"
+echo "nano -w $dir/app/config/production/mail.php"
+echo "And edit the attributes appropriately."
+sleep 1
+
+echo "";echo "";echo ""
+ans=default
+until [[ $ans == "yes" ]] || [[ $ans == "no" ]]; do
+echo "Q. Shall I delete the password files I created? (Remember to record the passwords before deleting) (y/n)"
+read setpw
+case $setpw in
+
+ [yY] | [yY][Ee][Ss] )
+ rm $createstufffile
+ rm $passwordfile
+ echo "$createstufffile and $passwordfile files have been removed."
+ ans=yes
+ ;;
+ [nN] | [n|N][O|o] )
+ echo "Ok, I won't remove the file. Please for the love of security, record the passwords and delete this file regardless."
+ echo "$si cannot be held responsible if this file is compromised!"
+ echo "From Snipe: I cannot encourage or even facilitate poor security practices, and still sleep the few, frantic hours I sleep at night."
+ ans=no
+ ;;
+ *)
+ echo "Please select a valid option"
+ ;;
+esac
+done
+
+echo ""
+echo ""
+echo "***$si should now be installed. open up http://$fqdn in a web browser to verify.***"
+#echo "***If you want mail capabilities, open $dir/app/config/production/mail.php and fill out the attributes***"
+sleep 1