Created
May 13, 2017 07:59
-
-
Save jsperezg/010428a0fb62b496f5781218e3268fa5 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 | |
USER=`whoami` | |
echo Updating installed software | |
sudo apt-get update >> ~/install.log | |
sudo apt-get -y -u upgrade >> ~/install.log | |
echo Installing MySQL | |
echo 'mysql-server mysql-server/root_password password d3m0pr0j3ct' | sudo debconf-set-selections | |
echo 'mysql-server mysql-server/root_password_again password d3m0pr0j3ct' | sudo debconf-set-selections | |
sudo apt-get -y install mysql-server mysql-client >> ~/install.log | |
sudo apt-get -y install libmysqlclient-dev >> ~/install.log | |
echo Intalling ruby dependencies | |
sudo apt-get -y install nodejs >> ~/install.log | |
sudo apt-get -y install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev >> ~/install.log | |
sudo apt-get -y install libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev >> ~/install.log | |
echo Installing ruby | |
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 >> ~/install.log | |
curl -sSL https://get.rvm.io | bash -s stable >> ~/install.log | |
source /home/$USER/.rvm/scripts/rvm >> ~/install.log | |
rvm use --default --install 2.3.3 >> ~/install.log | |
gem install bundler >> ~/install.log | |
echo Installing phusion passenger | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 >> ~/install.log | |
sudo apt-get install -y apt-transport-https ca-certificates >> ~/install.log | |
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' >> ~/install.log | |
sudo apt-get update >> ~/install.log | |
sudo apt-get install -y nginx nginx-extras passenger >> ~/install.log | |
echo Installing redis server | |
sudo apt-get install -y redis-server >> ~/install.log | |
echo Installing the app | |
tar xzvf game_house.tgz >> ~/install.log | |
cd game_house | |
bundle install >> ~/install.log | |
rails db:create RAILS_ENV=production >> ~/install.log | |
rails db:migrate RAILS_ENV=production >> ~/install.log | |
rails assets:precompile RAILS_ENV=production >> ~/install.log | |
echo "Enabling passenger in nginx" | |
sudo sed -i '/#.*passenger\.conf/s/#//' /etc/nginx/nginx.conf | |
echo Configuring nginx to serve the app | |
sudo tee /etc/nginx/sites-enabled/default > /dev/null << EOM | |
server { | |
listen 80 default_server; | |
listen [::]:80 default_server; | |
passenger_enabled on; | |
passenger_ruby /home/$USER/.rvm/wrappers/default/ruby; | |
passenger_app_env production; | |
passenger_min_instances 2; | |
root /home/$USER/game_house/public; | |
server_name _; | |
location /cable { | |
passenger_app_group_name game_house_action_cable; | |
passenger_force_max_concurrent_requests_per_process 0; | |
} | |
} | |
EOM | |
echo Restarting nginx | |
sudo service nginx restart >> ~/install.log |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Installs a rails app in ubuntu 16.04 using phusion passenger and nginx.