<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://techwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=Magento_1_Initial_Script</id>
	<title>Magento 1 Initial Script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://techwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=Magento_1_Initial_Script"/>
	<link rel="alternate" type="text/html" href="http://techwiki.co.uk/index.php?title=Magento_1_Initial_Script&amp;action=history"/>
	<updated>2026-04-07T13:58:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://techwiki.co.uk/index.php?title=Magento_1_Initial_Script&amp;diff=93&amp;oldid=prev</id>
		<title>Adam.birds: Created page with &quot;'''Here is the script to run for the Magento 1 Stack:'''  &lt;pre&gt; #! /bin/bash #### ##   INITIAL.SH #### # ToDo #   tcp window size # cherokee and stuff #   at job mail support...&quot;</title>
		<link rel="alternate" type="text/html" href="http://techwiki.co.uk/index.php?title=Magento_1_Initial_Script&amp;diff=93&amp;oldid=prev"/>
		<updated>2016-04-28T10:44:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Here is the script to run for the Magento 1 Stack:&amp;#039;&amp;#039;&amp;#039;  &amp;lt;pre&amp;gt; #! /bin/bash #### ##   INITIAL.SH #### # ToDo #   tcp window size # cherokee and stuff #   at job mail support...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Here is the script to run for the Magento 1 Stack:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/bash&lt;br /&gt;
####&lt;br /&gt;
##   INITIAL.SH&lt;br /&gt;
####&lt;br /&gt;
# ToDo&lt;br /&gt;
#   tcp window size&lt;br /&gt;
# cherokee and stuff&lt;br /&gt;
#   at job mail support for tuning checkup&lt;br /&gt;
#   this stuff:&lt;br /&gt;
#       echo deadline &amp;gt; /sys/block/sda/queue/scheduler&lt;br /&gt;
#       echo noop &amp;gt; /sys/block/sda/queue/scheduler&lt;br /&gt;
#       cat /proc/sys/vm/swappiness&lt;br /&gt;
#       echo 0 &amp;gt; cat /proc/sys/vm/swappiness&lt;br /&gt;
#       sysctl -p&lt;br /&gt;
#   ktune&lt;br /&gt;
#   compcache&lt;br /&gt;
#   Dane tmpfs init&lt;br /&gt;
#   chef?!?&lt;br /&gt;
#   disable repos&lt;br /&gt;
#   gzip_vary on; https://developers.google.com/speed/docs/best-practices/caching?hl=sv#LeverageProxyCaching&lt;br /&gt;
#   sed '-' out of dbname&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
####                                                    ####&lt;br /&gt;
## Edit stuff below this point if you don't want defaults ##&lt;br /&gt;
####                                                    ####&lt;br /&gt;
&lt;br /&gt;
#Write your own domain in, just leave out the www&lt;br /&gt;
#Can be left blank to use example.com as a standin&lt;br /&gt;
DOMAIN=&amp;quot;&amp;quot;&lt;br /&gt;
#IP can be ext, int or write it in yourself&lt;br /&gt;
IP=&amp;quot;ext&amp;quot;&lt;br /&gt;
#Change SSL to &amp;quot;yes&amp;quot; if you want the nginx SSL section including&lt;br /&gt;
SSL=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
####                                                        ####&lt;br /&gt;
## Don't edit stuff below here if you want the script to work ##&lt;br /&gt;
####                                                        ####&lt;br /&gt;
&lt;br /&gt;
unset HISTFILE&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Quick bc install for some of the vars&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
yum install bc at -y&lt;br /&gt;
service atd start&lt;br /&gt;
chkconfig atd on&lt;br /&gt;
&lt;br /&gt;
# Other utils that don't come as default&lt;br /&gt;
yum install tcpdump lsof wget telnet -y&lt;br /&gt;
&lt;br /&gt;
####&lt;br /&gt;
# Also pwgen&lt;br /&gt;
####&lt;br /&gt;
yum install epel-release -y&lt;br /&gt;
yum install pwgen --enablerepo=epel -y&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Variables 'n' shit&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
if [ -z ${DOMAIN} ]&lt;br /&gt;
   then&lt;br /&gt;
        DOMAIN=&amp;quot;example.com&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$IP&amp;quot; = &amp;quot;int&amp;quot; ]&lt;br /&gt;
    then&lt;br /&gt;
# '-m1' to return first match only&lt;br /&gt;
        IP=`ip a|egrep -m1 '(172\.|192.168\.|10\.0\.)'|awk '{print $2}'|sed -e 's_/.*__'`&lt;br /&gt;
elif [ &amp;quot;$IP&amp;quot; = &amp;quot;ext&amp;quot; ]&lt;br /&gt;
    then&lt;br /&gt;
        IP=`curl -s icanhazip.com`&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
ARCH=`arch`&lt;br /&gt;
THREADCON=$(echo 2*$(grep -c &amp;quot;processor&amp;quot; /proc/cpuinfo)+2|bc)&lt;br /&gt;
NGINXWORKER=$(grep -c &amp;quot;processor&amp;quot; /proc/cpuinfo)&lt;br /&gt;
POOLSIZE=$(echo $(echo $(grep MemTot /proc/meminfo |awk '{print $2}')/2|bc)k)&lt;br /&gt;
DOMNODOT=`echo $DOMAIN| sed 's/\.//g'`&lt;br /&gt;
BACKEND=$(echo $(echo $DOMNODOT)backend)&lt;br /&gt;
USERPASS=`pwgen -cn1`&lt;br /&gt;
MYSQL=`echo $DOMNODOT|sed -n 's/^\(......\).*/\1/p'`&lt;br /&gt;
MYSQL=&amp;quot;${MYSQL}$(cat /dev/urandom | tr -dc '0-9a-zA-Z' | head -c 4)&amp;quot;&lt;br /&gt;
MYSQLPASS=`pwgen -cn1`&lt;br /&gt;
MYSQLROOTPASS=`pwgen -cn1`&lt;br /&gt;
USERNAME=$(echo $DOMNODOT|cut -c 1-15)&lt;br /&gt;
USERNAME=&amp;quot;${USERNAME}$(cat /dev/urandom|tr -dc '0-9a-z'| head -c 6)&amp;quot;&lt;br /&gt;
DBNAME=`echo $DOMNODOT|sed 's/-//g'`&lt;br /&gt;
&lt;br /&gt;
#install atomic&lt;br /&gt;
wget -q -O - http://www.atomicorp.com/installers/atomic | sed -e '/check_input &amp;quot;Enable repo/d' -e 's/query=$INPUTTEXT/query=&amp;quot;yes&amp;quot;/g'|NON_INT=1 sh&lt;br /&gt;
sed -i 's/gpgcheck = 1/gpgcheck = 0/g' /etc/yum.repos.d/atomic.repo&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;`grep &amp;quot;release 7&amp;quot; /etc/redhat-release`&amp;quot; =~ &amp;quot;release 7&amp;quot; ]]; then&lt;br /&gt;
	yum -y --disablerepo=atomic install php-fpm php-xml php-ldap php-mcrypt php-pdo php-gd php-pear php-soap php-common php-cli php php-pgsql php-mysql php-devel php-odbc php-mbstring&lt;br /&gt;
else&lt;br /&gt;
        yum -y install php-fpm php-xml php-ldap php-mcrypt php-pdo php-gd php-pear php-soap php-common php-cli php php-pgsql php-mysql php-devel php-odbc php-mbstring&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# todo install epel nicer? from their epel-release rpm?&lt;br /&gt;
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo&lt;br /&gt;
&lt;br /&gt;
#yum -y install php-mcrypt-5.3* --enablerepo=epel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Check httpd isn't going to mess stuff up&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
service httpd stop&lt;br /&gt;
chkconfig httpd off&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Same with cherokee&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
rpm -e --nodeps cherokee&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# misc atop vim screen install&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
yum install atop vim-enhanced screen -y&lt;br /&gt;
chkconfig atop on&lt;br /&gt;
service atop start&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Time to get memcached on&lt;br /&gt;
###&lt;br /&gt;
yum install memcached -y&lt;br /&gt;
service memcached start&lt;br /&gt;
chkconfig memcached on&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# And then redis...&lt;br /&gt;
###&lt;br /&gt;
yum -y install redis&lt;br /&gt;
service redis start&lt;br /&gt;
chkconfig redis on&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Now for nginx&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
[nginx]&lt;br /&gt;
name=nginx repo&lt;br /&gt;
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/yum.repos.d/nginx.repo&lt;br /&gt;
yum install nginx -y&lt;br /&gt;
chkconfig nginx on&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Install apc/memcache&lt;br /&gt;
# Also zlib-devel for memcache&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
yum install gcc make zlib-devel pcre-devel -y&lt;br /&gt;
printf &amp;quot;\n&amp;quot; |pecl install apc&lt;br /&gt;
# need to install memcache-beta to make sure its v3.0.6 for memcache&lt;br /&gt;
printf &amp;quot;\n&amp;quot; |pecl install memcache-beta&lt;br /&gt;
# redis module, just in case&lt;br /&gt;
printf &amp;quot;\n&amp;quot; |pecl install redis&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
extension=memcache.so&lt;br /&gt;
&amp;quot; &amp;gt; /etc/php.d/memcache.ini&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
extension=redis.so&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/php.d/redis.ini&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
extension=apc.so&lt;br /&gt;
[APC]&lt;br /&gt;
apc.enabled          = 1&lt;br /&gt;
apc.shm_segments     = 1&lt;br /&gt;
apc.shm_size         = 256M&lt;br /&gt;
apc.ttl              = 7200&lt;br /&gt;
apc.user_ttl         = 7200&lt;br /&gt;
apc.num_files_hint   = 1024&lt;br /&gt;
apc.mmap_file_mask   = /tmp/apc.XXXXXXX&lt;br /&gt;
apc.enable_cli       = 1&lt;br /&gt;
apc.cache_by_default = 1&lt;br /&gt;
apc.max_file_size    = 10M&lt;br /&gt;
apc.stat             = 1  ### 1 for dev, 0 for production&lt;br /&gt;
&amp;quot; &amp;gt; /etc/php.d/apc.ini&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# PHP tweaks&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
sed -e &amp;quot;s_;date.timezone =_date.timezone = \&amp;quot;Europe/London\&amp;quot;_g&amp;quot; \&lt;br /&gt;
-e &amp;quot;s/memory_limit = 128M/memory_limit = 512M/&amp;quot; \&lt;br /&gt;
-e &amp;quot;s/max_execution_time = 30/max_execution_time = 600/&amp;quot; \&lt;br /&gt;
-e &amp;quot;s/session.save_handler = files/session.save_handler = memcache/&amp;quot; \&lt;br /&gt;
-e '/session.save_path = &amp;quot;\//c\session.save_path = &amp;quot;tcp:\/\/127.0.0.1:11211&amp;quot;'  \&lt;br /&gt;
-e &amp;quot;s/short_open_tag = Off/short_open_tag = On/&amp;quot;\&lt;br /&gt;
 /etc/php.ini  &amp;gt; /etc/php.ini.new &amp;amp;&amp;amp; mv -f /etc/php.ini.new /etc/php.ini&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# For testing purposes, installing mysql first&lt;br /&gt;
# Believe UKFast image already has it&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
#yum install mysql mysql-server -y&lt;br /&gt;
#service mysqld start&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Percona Swap-out&lt;br /&gt;
###&lt;br /&gt;
 &lt;br /&gt;
yum -y remove mysql*&lt;br /&gt;
 &lt;br /&gt;
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm&lt;br /&gt;
service mysqld stop&lt;br /&gt;
rpm -e --nodeps mysql mysql-server&lt;br /&gt;
cp -rp /var/lib/mysql /var/lib/mysql.copy&lt;br /&gt;
rm -rf /var/lib/mysql&lt;br /&gt;
yum install Percona-Server-client-56 Percona-Server-server-56 Percona-Server-shared-compat -y --enablerepo=percona-release-x86_64&lt;br /&gt;
service mysql start&lt;br /&gt;
chkconfig mysql on&lt;br /&gt;
mysql_upgrade&lt;br /&gt;
service mysql stop&lt;br /&gt;
 &lt;br /&gt;
sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/percona-release.repo&lt;br /&gt;
yum install crontabs sysstat -y&lt;br /&gt;
service crond start&lt;br /&gt;
chkconfig crond on&lt;br /&gt;
service postfix start&lt;br /&gt;
chkconfig postfix on&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# MySQL optimisations&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
cat /dev/null &amp;gt; /etc/my.cnf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
[mysqld]&lt;br /&gt;
datadir=/var/lib/mysql&lt;br /&gt;
socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
user=mysql&lt;br /&gt;
&lt;br /&gt;
# Start of Base Magento Optimisation&lt;br /&gt;
skip-name-resolve &lt;br /&gt;
innodb_file_per_table&lt;br /&gt;
innodb_thread_concurrency = $THREADCON&lt;br /&gt;
query_cache_size = 128M&lt;br /&gt;
query_cache_limit = 8M&lt;br /&gt;
thread_cache_size = 64&lt;br /&gt;
key_buffer_size = 512M&lt;br /&gt;
max_allowed_packet = 64M&lt;br /&gt;
table_open_cache = 512&lt;br /&gt;
sort_buffer_size = 4M&lt;br /&gt;
read_buffer_size = 4M&lt;br /&gt;
read_rnd_buffer_size = 2M&lt;br /&gt;
myisam_sort_buffer_size = 64M&lt;br /&gt;
max_heap_table_size = 128M&lt;br /&gt;
tmp_table_size = 128M&lt;br /&gt;
query_cache_type = 1&lt;br /&gt;
wait_timeout = 300&lt;br /&gt;
max_connections = 200&lt;br /&gt;
innodb_buffer_pool_size = $POOLSIZE&lt;br /&gt;
# End of Base Magento Optimisation&lt;br /&gt;
&lt;br /&gt;
[mysqld_safe]&lt;br /&gt;
log-error=/var/log/mysqld.log&lt;br /&gt;
pid-file=/var/run/mysqld/mysqld.pid&lt;br /&gt;
&lt;br /&gt;
[client]&lt;br /&gt;
socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/my.cnf&lt;br /&gt;
&lt;br /&gt;
service mysql start&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# nginx shit&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
cat /dev/null &amp;gt; /etc/nginx/nginx.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
user              nginx;&lt;br /&gt;
worker_processes  $NGINXWORKER;&lt;br /&gt;
error_log         /var/log/nginx/error.log;&lt;br /&gt;
pid               /var/run/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections  1024;&lt;br /&gt;
    multi_accept        on;&lt;br /&gt;
    use                 epoll;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include       /etc/nginx/mime.types;&lt;br /&gt;
    default_type  application/octet-stream;&lt;br /&gt;
    server_tokens off;&lt;br /&gt;
&lt;br /&gt;
    log_format  main  '\$remote_addr - \$remote_user [\$time_local] \&amp;quot;\$request \&amp;quot;'&lt;br /&gt;
                      '\$status \$body_bytes_sent \&amp;quot;\$http_referer\&amp;quot; '&lt;br /&gt;
                      '\&amp;quot;\$http_user_agent\&amp;quot; \&amp;quot;\$http_x_forwarded_for\&amp;quot;'&lt;br /&gt;
                      '[RT:\$request_time] [C:\$connection]';&lt;br /&gt;
    access_log  /var/log/nginx/access.log main buffer=32k flush=300;&lt;br /&gt;
&lt;br /&gt;
    sendfile        on;&lt;br /&gt;
    tcp_nopush      on;&lt;br /&gt;
    tcp_nodelay     on;&lt;br /&gt;
    autoindex off;&lt;br /&gt;
    map \$scheme \$fastcgi_https { ## Detect when HTTPS is used&lt;br /&gt;
        default off;&lt;br /&gt;
        https on;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    # Dirty fix as some Magento scripts (admin) take up-to 10 minutes!&lt;br /&gt;
    fastcgi_read_timeout 600;&lt;br /&gt;
    fastcgi_send_timeout 600;&lt;br /&gt;
&lt;br /&gt;
    #big header fixes&lt;br /&gt;
    proxy_buffers 8 16k;&lt;br /&gt;
    proxy_buffer_size 32k;&lt;br /&gt;
    fastcgi_buffers 16 16k;&lt;br /&gt;
    fastcgi_buffer_size 32k;&lt;br /&gt;
&lt;br /&gt;
    client_body_buffer_size 16K;&lt;br /&gt;
    client_header_buffer_size 1k;&lt;br /&gt;
    client_max_body_size 15m;&lt;br /&gt;
    large_client_header_buffers 4 8k;&lt;br /&gt;
&lt;br /&gt;
    keepalive_timeout  60;&lt;br /&gt;
&lt;br /&gt;
    gzip  on;&lt;br /&gt;
    gzip_comp_level 9;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_types      text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;&lt;br /&gt;
    gzip_min_length 20;&lt;br /&gt;
    &lt;br /&gt;
    open_file_cache          max=10000 inactive=5m;&lt;br /&gt;
    open_file_cache_valid    2m;&lt;br /&gt;
    open_file_cache_min_uses 1;&lt;br /&gt;
    open_file_cache_errors   on;&lt;br /&gt;
&lt;br /&gt;
    # Load config files from the /etc/nginx/conf.d directory&lt;br /&gt;
    include /etc/nginx/conf.d/*.conf;&lt;br /&gt;
}&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/nginx/nginx.conf&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# SSL Offloading fix&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
if (\$http_x_forwarded_proto = \&amp;quot;https\&amp;quot;) { ## Safety net to catch SSL-Offloading&lt;br /&gt;
    set \$fastcgi_https \&amp;quot;on\&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/nginx/ssl_offloading.inc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Adding first domain&lt;br /&gt;
###&lt;br /&gt;
if [ &amp;quot;$SSL&amp;quot; = &amp;quot;no&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;&lt;br /&gt;
	# Uncomment the server definition below should you wish to&lt;br /&gt;
	# redirect from $DOMAIN to www.$DOMAIN&lt;br /&gt;
	#server {&lt;br /&gt;
	#    listen $IP;&lt;br /&gt;
	#    server_name $DOMAIN;&lt;br /&gt;
	#    #rewrite / \$scheme://www.\$host\$request_uri permanent;&lt;br /&gt;
	#}&lt;br /&gt;
&lt;br /&gt;
	#&lt;br /&gt;
	# Change this backend name (and the socket pointer)&lt;br /&gt;
	# as additional virtual hosts are added. This should&lt;br /&gt;
	# point to the spawn-fcgi wrapper running as the&lt;br /&gt;
	# appropriate user.&lt;br /&gt;
	#&lt;br /&gt;
	upstream $BACKEND {&lt;br /&gt;
		server unix:/var/run/php-fcgi-$DOMNODOT.sock;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	server {&lt;br /&gt;
	    listen $IP:80;&lt;br /&gt;
	    server_name $DOMAIN *.$DOMAIN;&lt;br /&gt;
	    root /var/www/vhosts/$DOMAIN/htdocs;&lt;br /&gt;
&lt;br /&gt;
	    location / {&lt;br /&gt;
		index index.html index.php;&lt;br /&gt;
		try_files \$uri \$uri/ @handler;&lt;br /&gt;
		expires 30d;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location /app/                { deny all; }&lt;br /&gt;
	    location /includes/           { deny all; }&lt;br /&gt;
	    location /lib/                { deny all; }&lt;br /&gt;
	    location /media/downloadable/ { deny all; }&lt;br /&gt;
	    location /pkginfo/            { deny all; }&lt;br /&gt;
	    location /report/config.xml   { deny all; }&lt;br /&gt;
	    location /var/                { deny all; }&lt;br /&gt;
&lt;br /&gt;
	    location  /. {&lt;br /&gt;
		return 404;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location @handler {&lt;br /&gt;
		rewrite / /index.php;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location ~ .php/ {&lt;br /&gt;
		rewrite ^(.*.php)/ \$1 last;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    include \&amp;quot;ssl_offloading.inc\&amp;quot;;&lt;br /&gt;
	    location ~ .php$ {&lt;br /&gt;
		if (!-e \$request_filename) { rewrite / /index.php last; }&lt;br /&gt;
&lt;br /&gt;
		expires        off;&lt;br /&gt;
		fastcgi_pass   $BACKEND;&lt;br /&gt;
		fastcgi_param  HTTPS \$fastcgi_https;&lt;br /&gt;
		fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;&lt;br /&gt;
	#       fastcgi_param  MAGE_RUN_CODE default;&lt;br /&gt;
	#       fastcgi_param  MAGE_RUN_TYPE store;&lt;br /&gt;
		include        fastcgi_params;&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
	&amp;quot; &amp;gt;&amp;gt; /etc/nginx/conf.d/$DOMAIN.conf&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;&lt;br /&gt;
	# Uncomment the server definition below should you wish to&lt;br /&gt;
	# redirect from $DOMAIN to www.$DOMAIN&lt;br /&gt;
	#server {&lt;br /&gt;
	#    listen $IP;&lt;br /&gt;
	#    server_name $DOMAIN;&lt;br /&gt;
	#    #rewrite / \$scheme://www.\$host\$request_uri permanent;&lt;br /&gt;
	#}&lt;br /&gt;
&lt;br /&gt;
	#&lt;br /&gt;
	# Change this backend name (and the socket pointer)&lt;br /&gt;
	# as additional virtual hosts are added. This should&lt;br /&gt;
	# point to the spawn-fcgi wrapper running as the&lt;br /&gt;
	# appropriate user.&lt;br /&gt;
	#&lt;br /&gt;
	upstream $BACKEND {&lt;br /&gt;
		server unix:/var/run/php-fcgi-$DOMNODOT.sock;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	server {&lt;br /&gt;
	    listen $IP:80;&lt;br /&gt;
	    listen $IP:443 ssl;&lt;br /&gt;
	    server_name $DOMAIN *.$DOMAIN;&lt;br /&gt;
	    root /var/www/vhosts/$DOMAIN/htdocs;&lt;br /&gt;
&lt;br /&gt;
            ssl_certificate      /etc/nginx/ssl/$DOMAIN.crt;&lt;br /&gt;
            ssl_certificate_key  /etc/nginx/ssl/$DOMAIN.key;&lt;br /&gt;
            ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
            ssl_ciphers          RC4-SHA:!HIGH:!ADH;&lt;br /&gt;
&lt;br /&gt;
	    location / {&lt;br /&gt;
		index index.html index.php;&lt;br /&gt;
		try_files \$uri \$uri/ @handler;&lt;br /&gt;
		expires 30d;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location /app/                { deny all; }&lt;br /&gt;
	    location /includes/           { deny all; }&lt;br /&gt;
	    location /lib/                { deny all; }&lt;br /&gt;
	    location /media/downloadable/ { deny all; }&lt;br /&gt;
	    location /pkginfo/            { deny all; }&lt;br /&gt;
	    location /report/config.xml   { deny all; }&lt;br /&gt;
	    location /var/                { deny all; }&lt;br /&gt;
&lt;br /&gt;
	    location  /. {&lt;br /&gt;
		return 404;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location @handler {&lt;br /&gt;
		rewrite / /index.php;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    location ~ .php/ {&lt;br /&gt;
		rewrite ^(.*.php)/ \$1 last;&lt;br /&gt;
	    }&lt;br /&gt;
&lt;br /&gt;
	    include \&amp;quot;ssl_offloading.inc\&amp;quot;;&lt;br /&gt;
	    location ~ .php$ {&lt;br /&gt;
		if (!-e \$request_filename) { rewrite / /index.php last; }&lt;br /&gt;
&lt;br /&gt;
		expires        off;&lt;br /&gt;
		fastcgi_pass   $BACKEND;&lt;br /&gt;
		fastcgi_param  HTTPS \$fastcgi_https;&lt;br /&gt;
		fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;&lt;br /&gt;
	#       fastcgi_param  MAGE_RUN_CODE default;&lt;br /&gt;
	#       fastcgi_param  MAGE_RUN_TYPE store;&lt;br /&gt;
		include        fastcgi_params;&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
	&amp;quot; &amp;gt;&amp;gt; /etc/nginx/conf.d/$DOMAIN.conf&lt;br /&gt;
&lt;br /&gt;
        mkdir -p /etc/nginx/ssl&lt;br /&gt;
&lt;br /&gt;
        #generate self signed for placeholder&lt;br /&gt;
        openssl genrsa 2048 &amp;gt; /etc/nginx/ssl/$DOMAIN.key&lt;br /&gt;
        openssl req -new -key /etc/nginx/ssl/$DOMAIN.key -x509 -days 365 -out /etc/nginx/ssl/$DOMAIN.crt -batch&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mkdir -p /var/www/vhosts/$DOMAIN/htdocs&lt;br /&gt;
useradd -d /var/www/vhosts/$DOMAIN -s /sbin/nologin $USERNAME&lt;br /&gt;
echo $USERPASS|passwd --stdin $USERNAME&lt;br /&gt;
touch /var/www/vhosts/$DOMAIN/phpfpm-slow.log&lt;br /&gt;
touch /var/www/vhosts/$DOMAIN/phpfpm-error.log&lt;br /&gt;
chown -R $USERNAME:$USERNAME /var/www/vhosts/$DOMAIN&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Clean up nginx&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
rm -f /etc/nginx/conf.d/default.conf&lt;br /&gt;
rm -f /etc/nginx/conf.d/example_ssl.conf&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# PHP time&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
rm -f /etc/php-fpm.d/*&lt;br /&gt;
chkconfig php-fpm on&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
[$DOMNODOT]&lt;br /&gt;
&lt;br /&gt;
listen = '/var/run/php-fcgi-$DOMNODOT.sock'&lt;br /&gt;
;listen.backlog = -1&lt;br /&gt;
listen.allowed_clients = 127.0.0.1&lt;br /&gt;
listen.owner = nginx&lt;br /&gt;
listen.group = nginx&lt;br /&gt;
;listen.mode = 0666&lt;br /&gt;
&lt;br /&gt;
user = $USERNAME&lt;br /&gt;
group = $USERNAME&lt;br /&gt;
&lt;br /&gt;
pm = dynamic&lt;br /&gt;
pm.max_children = 50&lt;br /&gt;
pm.start_servers = 5&lt;br /&gt;
pm.min_spare_servers = 5&lt;br /&gt;
pm.max_spare_servers = 20&lt;br /&gt;
pm.max_requests = 2000&lt;br /&gt;
;pm.status_path = /status&lt;br /&gt;
&lt;br /&gt;
;ping.path = /ping&lt;br /&gt;
;ping.response = pong&lt;br /&gt;
&lt;br /&gt;
;request_terminate_timeout = 0&lt;br /&gt;
;request_slowlog_timeout = 0&lt;br /&gt;
slowlog = /var/www/vhosts/$DOMAIN/phpfpm-slow.log&lt;br /&gt;
&lt;br /&gt;
;rlimit_files = 1024&lt;br /&gt;
;rlimit_core = 0&lt;br /&gt;
&lt;br /&gt;
;chroot =&lt;br /&gt;
&lt;br /&gt;
;chdir = /var/www&lt;br /&gt;
&lt;br /&gt;
;catch_workers_output = yes&lt;br /&gt;
&lt;br /&gt;
;env[HOSTNAME] = \$HOSTNAME&lt;br /&gt;
;env[PATH] = /usr/local/bin:/usr/bin:/bin&lt;br /&gt;
;env[TMP] = /tmp&lt;br /&gt;
;env[TMPDIR] = /tmp&lt;br /&gt;
;env[TEMP] = /tmp&lt;br /&gt;
&lt;br /&gt;
php_admin_value[error_log] =  /var/www/vhosts/$DOMAIN/phpfpm-error.log&lt;br /&gt;
php_admin_flag[log_errors] = on&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/php-fpm.d/$DOMNODOT.conf&lt;br /&gt;
&lt;br /&gt;
# Segfault fix&lt;br /&gt;
sed -i '/RETVAL=0/ i\export ZEND_DONT_UNLOAD_MODULES=1' /etc/init.d/php-fpm&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Create a default DB&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;CREATE DATABASE $DBNAME;&amp;quot; | mysql&lt;br /&gt;
echo &amp;quot;GRANT ALL PRIVILEGES ON $DBNAME.* TO '$MYSQL'@'localhost' IDENTIFIED BY '$MYSQLPASS';&amp;quot; | mysql&lt;br /&gt;
echo &amp;quot;FLUSH PRIVILEGES;&amp;quot; | mysql&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Set the root password for the database&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;SET PASSWORD FOR root@'localhost' = PASSWORD('$MYSQLROOTPASS');&amp;quot; | mysql&lt;br /&gt;
echo &amp;quot;FLUSH PRIVILEGES;&amp;quot; | mysql&lt;br /&gt;
&lt;br /&gt;
#Set .my.cnf for default login&lt;br /&gt;
&lt;br /&gt;
touch /root/.my.cnf&lt;br /&gt;
cat /dev/null &amp;gt; /root/.my.cnf&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
[client]&lt;br /&gt;
host = localhost&lt;br /&gt;
user = root&lt;br /&gt;
password = $MYSQLROOTPASS&lt;br /&gt;
&amp;quot; &amp;gt; /root/.my.cnf&lt;br /&gt;
mysql_upgrade&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# FTP stuff&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
yum install vsftpd -y&lt;br /&gt;
chkconfig vsftpd on&lt;br /&gt;
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf&lt;br /&gt;
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf&lt;br /&gt;
service vsftpd start&lt;br /&gt;
&lt;br /&gt;
#disable atomic&lt;br /&gt;
sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/atomic.repo&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Start it all up&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
service nginx start&lt;br /&gt;
service php-fpm start&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
#  $DOMAIN now set up&lt;br /&gt;
#  Their username is $USERNAME&lt;br /&gt;
#  Their password is $USERPASS&lt;br /&gt;
#&lt;br /&gt;
#  Their database name is $DBNAME&lt;br /&gt;
#  Their DB username is $MYSQL&lt;br /&gt;
#  Their DB password is $MYSQLPASS&lt;br /&gt;
#&lt;br /&gt;
#  Note: MySQL root password set to $MYSQLROOTPASS&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /root/finished$DOMAIN&lt;br /&gt;
&lt;br /&gt;
cat /root/finished$DOMAIN&lt;br /&gt;
echo &amp;quot;rm -f /root/finished$DOMAIN&amp;quot; | at now + 24 hours&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$SSL&amp;quot; = &amp;quot;yes&amp;quot; ]&lt;br /&gt;
    then&lt;br /&gt;
        echo &amp;quot;&lt;br /&gt;
        # Self signed SSL certificates generated in the following location:&lt;br /&gt;
        # /etc/nginx/ssl/$DOMNODOT.key&lt;br /&gt;
        # /etc/nginx/ssl/$DOMNODOT.crt&lt;br /&gt;
        # So don't forget to replace them with legit ones&lt;br /&gt;
        &amp;quot; &amp;gt;&amp;gt; /root/finished$DOMAIN&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#Delete self&lt;br /&gt;
history -c&lt;br /&gt;
rm -f $0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Magento 2 requires you to update PHP, change the Nginx Config File for it to work.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Magento]]&lt;br /&gt;
[[Category:Nginx]]&lt;br /&gt;
[[Category:PHP]]&lt;br /&gt;
[[Category:Bash Scripts]]&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Contents]]&lt;/div&gt;</summary>
		<author><name>Adam.birds</name></author>
		
	</entry>
</feed>