Created
April 9, 2015 23:39
-
-
Save jrnickell/47c6b24a89241ec8bdc4 to your computer and use it in GitHub Desktop.
Nginx & PHP-FPM
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 | |
# bin folder | |
cd ~ | |
mkdir -p ~/bin | |
# base apps and upgrade | |
sudo apt-get update | |
sudo apt-get install -y aptitude curl vim git unzip openssl | |
sudo aptitude -y safe-upgrade | |
# repositories | |
sudo add-apt-repository -y ppa:ondrej/php5-5.6 | |
sudo add-apt-repository -y ppa:nginx/stable | |
sudo apt-get update | |
# php | |
sudo apt-get install -y php5-common php5-cli php5-fpm php5-curl php5-xdebug php5-mcrypt | |
sudo php5enmod mcrypt | |
# nginx | |
sudo apt-get install -y nginx | |
# php.ini | |
sudo sed -i "s/^short_open_tag.*/short_open_tag = Off/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^expose_php.*/expose_php = Off/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^max_execution_time.*/max_execution_time = 0/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^max_input_time.*/max_input_time = 60/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^memory_limit.*/memory_limit = 512M/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^error_reporting.*/error_reporting = E_ALL/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^display_errors.*/display_errors = On/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^display_startup_errors.*/display_startup_errors = On/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^track_errors.*/track_errors = Off/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^html_errors.*/html_errors = Off/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^variables_order.*/variables_order = \"GPCS\"/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^request_order.*/request_order = \"GP\"/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^post_max_size.*/post_max_size = 8M/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^default_charset.*/default_charset = \"UTF-8\"/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^upload_max_filesize.*/upload_max_filesize = 10M/" /etc/php5/cli/php.ini | |
sudo sed -i "s/^;date.timezone.*/date.timezone = UTC/" /etc/php5/cli/php.ini | |
echo "xdebug.max_nesting_level=250" | sudo tee -a /etc/php5/cli/php.ini | |
sudo sed -i "s/^short_open_tag.*/short_open_tag = Off/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^expose_php.*/expose_php = Off/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^max_execution_time.*/max_execution_time = 30/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^max_input_time.*/max_input_time = 60/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^memory_limit.*/memory_limit = 512M/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^error_reporting.*/error_reporting = E_ALL/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^display_errors.*/display_errors = On/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^display_startup_errors.*/display_startup_errors = On/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^track_errors.*/track_errors = Off/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^html_errors.*/html_errors = On/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^variables_order.*/variables_order = \"GPCS\"/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^request_order.*/request_order = \"GP\"/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^post_max_size.*/post_max_size = 8M/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^default_charset.*/default_charset = \"UTF-8\"/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^upload_max_filesize.*/upload_max_filesize = 10M/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/^;date.timezone.*/date.timezone = UTC/" /etc/php5/fpm/php.ini | |
sudo sed -i "s/listen = .*/listen = 127.0.0.1:9000/" /etc/php5/fpm/pool.d/www.conf | |
echo "xdebug.max_nesting_level=250" | sudo tee -a /etc/php5/fpm/php.ini | |
# composer | |
curl -sS https://getcomposer.org/installer | php | |
sudo mv composer.phar /usr/local/bin/composer | |
# nginx config | |
# https://github.com/h5bp/server-configs-nginx | |
wget -O h5bp.zip "https://github.com/h5bp/server-configs-nginx/archive/master.zip" | |
unzip h5bp.zip | |
sudo rm /etc/nginx/mime.types | |
sudo mv server-configs-nginx-master/mime.types /etc/nginx/mime.types | |
sudo mv server-configs-nginx-master/h5bp /etc/nginx/ | |
rm -rf h5bp.zip server-configs-nginx-master | |
sudo sed -i "s/access_log logs\/static.log.*/# access_log logs\/static.log;/" /etc/nginx/h5bp/location/expires.conf | |
sudo service nginx restart | |
sudo service php5-fpm restart | |
# server config scripts | |
wget -O scripts.tar.gz "https://gist.github.com/jrnickell/1b920e59c2e7a5082725/download" | |
tar -zxvf scripts.tar.gz | |
mv gist1b920e59c2e7a5082725*/create-project ~/bin/create-project | |
mv gist1b920e59c2e7a5082725*/remove-project ~/bin/remove-project | |
sudo chmod 0700 ~/bin/create-project | |
sudo chmod 0700 ~/bin/remove-project | |
rm -rf scripts.tar.gz gist1b920e59c2e7a5082725* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment