@@ -60,14 +60,7 @@ EEUPDATE()
6060 if [ ! -L /usr/local/sbin/ee ]
6161 then
6262 ln -s /usr/local/sbin/easyengine /usr/local/sbin/ee
63- fi
64-
65- # Adjust FastCGI Cache Size 20% Of /var/run
66- VARRUNSIZE=$( df --block-size=M /var/run | awk ' {print $4}' | tail -n1 | cut -d' M' -f1)
67- FCSIZE=$( expr $VARRUNSIZE \* 25 / 100)
68-
69- # Change Size
70- sed -i " s/500m/$FCSIZE \m/" /usr/share/easyengine/nginx/conf.d/fastcgi.conf || OwnError " Unable To Change Fastcgi Cache Size"
63+ fi
7164
7265 # Git Config Settings
7366 EEGITNAME=$( git config user.name)
@@ -181,6 +174,248 @@ EE110()
181174 sed -i ' /allow ;/d' /etc/nginx/common/acl.conf
182175}
183176
177+ PHP_PACKAGES ()
178+ {
179+ # Opcache Settings
180+ if [ ! -d /var/www/22222/htdocs/php/opcache ]
181+ then
182+ # Create Directory
183+ mkdir -p /var/www/22222/htdocs/php/opcache || OwnError " Unable To Create Opcache Directory"
184+
185+ # Download Opcache Status Files
186+ echo -e " \033[34mInstalling Opcache Tool, Please Wait...\e[0m"
187+ wget -cqO /var/www/22222/htdocs/php/opcache/opcache.php https://raw.github.com/rlerdorf/opcache-status/master/opcache.php
188+ wget -cqO /var/www/22222/htdocs/php/opcache/opgui.php https://raw.github.com/amnuts/opcache-gui/master/index.php
189+ wget -cqO /var/www/22222/htdocs/php/opcache/ocp.php https://gist.github.com/ck-on/4959032/raw/0b871b345fd6cfcd6d2be030c1f33d1ad6a475cb/ocp.php
190+ fi
191+
192+ # Memcache Settings
193+ if [ ! -d /var/www/22222/htdocs/php/memcache ]
194+ then
195+ # Create Directory
196+ mkdir -p /var/www/22222/htdocs/php/memcache || OwnError " Unable To Create Memcache Directory"
197+
198+ # Download phpMemcachedAdmin
199+ echo -e " \033[34mInstalling Memcache Tool, Please Wait...\e[0m"
200+ wget -cqO /var/www/22222/htdocs/php/memcache/memcache.tar.gz http://phpmemcacheadmin.googlecode.com/files/phpMemcachedAdmin-1.2.2-r262.tar.gz
201+
202+ # Extract phpMemcachedAdmin
203+ tar -zxf /var/www/22222/htdocs/php/memcache/memcache.tar.gz -C /var/www/22222/htdocs/php/memcache
204+
205+ # Remove Unwanted Files
206+ rm -f /var/www/22222/htdocs/php/memcache/memcache.tar.gz
207+ fi
208+
209+ if [ ! -d /var/www/22222/htdocs/php/webgrind/ ]
210+ then
211+ # Download Opcache Status Files
212+ mkdir -p mkdir -p /var/www/22222/htdocs/php/webgrind/ || OwnError " Unable To Create webgrind Directory"
213+
214+ # Download Webgrind
215+ echo -e " \033[34mCloning Webgrind, Please Wait...\e[0m"
216+ git clone https://github.com/jokkedk/webgrind.git /var/www/22222/htdocs/php/webgrind/ & >> $INSTALLLOG || OwnError " Unable To Clone Webgrind"
217+ sed -i " s'/usr/local/bin/dot'/usr/bin/dot'" /var/www/22222/htdocs/php/webgrind/config.php
218+
219+ # Install Graphviz
220+ dpkg -l | grep graphviz & >> $INSTALLLOG
221+ if [ $? -ne 0 ]
222+ then
223+ echo -e " \033[34mInstalling Graphviz, Please Wait...\e[0m"
224+ apt-get -y install graphviz || OwnError " Unable To Install Graphviz"
225+ fi
226+ fi
227+
228+ # Create info.php File To Display The phpinfo Information
229+ echo -e " <?php \n\t phpinfo(); \n?>" & >> /var/www/22222/htdocs/php/info.php
230+
231+ # Fake PHP5-FPM Status Pages
232+ if [ ! -d /var/www/22222/htdocs/php/status/ ]
233+ then
234+ mkdir -p /var/www/22222/htdocs/php/status/ || OwnError " Unable To Create webgrind Directory"
235+ touch /var/www/22222/htdocs/php/status/{php,debug}
236+ fi
237+
238+ # Anemometer Setup
239+ if [ ! -d /var/www/22222/htdocs/db/anemometer/ ]
240+ then
241+ mkdir -p /var/www/22222/htdocs/db/anemometer/ || OwnError " Unable To Create Anemometer Directory"
242+
243+ # Download Anemometer
244+ git clone https://github.com/box/Anemometer.git /var/www/22222/htdocs/db/anemometer & >> $INSTALLLOG \
245+ || OwnError " Unable To Clone Anemometer"
246+
247+ # Setup Anemometer
248+ # Collect MySQL Login Details
249+ MYSQLROOT
250+
251+ # Setup Anemometer Database
252+ mysql -u $MYSQLUSER -p$MYSQLPASS < /var/www/22222/htdocs/db/anemometer/install.sql \
253+ || OwnError " Unable To Import Anemometer Database"
254+
255+ # Setup Anemometer Database Grants
256+ ANEMOMETERPASS=$( cat /dev/urandom | tr -dc ' a-zA-Z0-9' | fold -w 15 | head -n1)
257+ mysql -u $MYSQLUSER -p$MYSQLPASS -e " grant all on slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '$ANEMOMETERPASS ';"
258+
259+ # Put Data In Anemometer Database
260+ pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \
261+ --review D=slow_query_log,t=global_query_review \
262+ --review-history D=slow_query_log,t=global_query_review_history \
263+ --no-report --limit=0% --filter=" \$ event->{Bytes} = length(\$ event->{arg}) and \$ event->{hostname}=\" $HOSTNAME \" " /var/log/mysql/slow.log & >> $INSTALLLOG
264+
265+ # Execute On MySQL Logrotation
266+ sed -i " /endscript/,/}/d" /etc/logrotate.d/mysql-server
267+ echo -e " pt-query-digest --user=anemometer --password=$ANEMOMETERPASS \\ " >> /etc/logrotate.d/mysql-server
268+ echo -e " --review D=slow_query_log,t=global_query_review \\ " >> /etc/logrotate.d/mysql-server
269+ echo -e " --review-history D=slow_query_log,t=global_query_review_history \\ " >> /etc/logrotate.d/mysql-server
270+ echo -e " --no-report --limit=0% --filter=\" \\\$ event->{Bytes} = length(\\\$ event->{arg}) and \\\$ event->{hostname}=" \\\"\$ HOSTNAME\\\"\" /var/log/mysql/slow.log >> /etc/logrotate.d/mysql-server
271+ echo -e " \t\tendscript" >> /etc/logrotate.d/mysql-server
272+ echo -e " }" >> /etc/logrotate.d/mysql-server
273+
274+ # Copy Anemometer Configuration File
275+ cp /var/www/22222/htdocs/db/anemometer/conf/sample.config.inc.php /var/www/22222/htdocs/db/anemometer/conf/config.inc.php \
276+ || OwnError " Unable To Copy Anemometer Configuration File"
277+
278+ # Update Anemoneter Configuration File
279+ sed -i " s/root/anemometer/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
280+ sed -i " /password/ s/''/'$ANEMOMETERPASS '/g" /var/www/22222/htdocs/db/anemometer/conf/config.inc.php
281+
282+ fi
283+
284+ # Call PHPUSERINFO Function For PHP User Details
285+ PHPUSERINFO
286+
287+ # Change Ownership
288+ chown -R $PHPUSER :$PHPUSER /var/www/22222 || OwnError " Unable To Change Ownership For /var/www/22222"
289+ }
290+
291+ INSTALLPMA ()
292+ {
293+ # Install PMA/phpMyAdmin
294+ if [ ! -d /var/www/22222/htdocs/db/pma ] || [ ! -d /var/www/22222/htdocs/db/adminer ]
295+ then
296+ if [ ! -d /var/www/22222/htdocs/db/pma ]
297+ then
298+ echo -e " \033[34mDownloading phpMyAdmin, Please Wait...\e[0m"
299+
300+ # Setup PMA/phpMyAdmin
301+ mkdir -p /var/www/22222/htdocs/db/pma/ || OwnError " Unable To Create phpMyAdmin Directory: /var/www/22222/htdocs/db/pma/"
302+
303+ # Download PMA/phpMyAdmin
304+ wget -cqO /var/www/22222/htdocs/db/pma/pma.tar.gz http://dl.cihar.com/phpMyAdmin/master/phpMyAdmin-master-latest.tar.gz \
305+ || OwnError " Unable To Download phpMyAdmin"
306+
307+ # Extract PMA/phpMyAdmin
308+ tar --strip-components=1 -zxf /var/www/22222/htdocs/db/pma/pma.tar.gz -C /var/www/22222/htdocs/db/pma/ \
309+ || OwnError " Unable To Extract phpMyAdmin"
310+
311+ # Remove Unwanted Files
312+ rm -f /var/www/22222/htdocs/db/pma/pma.tar.gz
313+
314+ fi
315+
316+ if [ ! -d /var/www/22222/htdocs/db/adminer ]
317+ then
318+ echo -e " \033[34mDownloading Adminer, Please Wait...\e[0m"
319+ # Setup Adminer
320+ mkdir -p /var/www/22222/htdocs/db/adminer/ || OwnError " Unable To Create Adminer Directory: /var/www/22222/htdocs/db/adminer/"
321+
322+ # Download Adminer
323+ wget -cqO /var/www/22222/htdocs/db/adminer/index.php http://downloads.sourceforge.net/adminer/adminer-4.0.3.php \
324+ || OwnError " Unable To Download Adminer"
325+
326+ fi
327+
328+ else
329+ echo -e " \033[34mAlready Installed phpMyAdmin (/var/www/22222/htdocs/db/pma)...\e[0m"
330+ fi
331+ }
332+ EE122 ()
333+ {
334+ # Install Packages:
335+ apt-get -y install php5-xdebug percona-toolkit graphviz
336+
337+
338+ # EasyEngine Config File
339+ sed -i " /# WordPress Defaults/i # Comma Separated Whitelist/Debugging IP Address\nip_address = \n" /etc/easyengine/ee.conf
340+
341+ # Nginx File Copy
342+ cp /usr/share/easyengine/nginx/conf.d/upstream.conf /etc/nginx/conf.d/ || OwnError " Unable To Copy Nginx Upstream File"
343+ cp /usr/share/easyengine/nginx/common/locations.conf /etc/nginx/common/ || OwnError " Unable To Copy Nginx Common Location File"
344+ cp /usr/share/easyengine/nginx/common/wpcommon.conf /etc/nginx/common/ || OwnError " Unable To Copy Nginx Common WordPress File"
345+
346+ # Nginx Changes
347+ sed -i " /worker_processes/a \worker_rlimit_nofile 100000;" /etc/nginx/nginx.conf
348+ sed -i " s/# multi_accept/multi_accept/" /etc/nginx/nginx.conf
349+ sed -i " s/keepalive_timeout.*/keepalive_timeout 30;/" /etc/nginx/nginx.conf
350+
351+ # EasyEngine Admin Setup
352+ cp /usr/share/easyengine/nginx/22222 /etc/nginx/sites-available/ || OwnError " Unable To Copy 22222 Nginx Configuration File"
353+ ln -s /etc/nginx/sites-available/22222 /etc/nginx/sites-enabled/ || OwnError " Unable To Create Symbolic Link For 22222 Nginx Configuration"
354+
355+ # EasyEngine Admin Logs Setup
356+ if [ ! -d /var/www/22222/logs ]
357+ then
358+ mkdir -p /var/www/22222/logs || OwnError " Unable To Create /var/www/22222/logs"
359+ fi
360+
361+ # Symbolic Links
362+ ln -s /var/log/nginx/eeadmin.access.log /var/www/22222/logs/access.log
363+ ln -s /var/log/nginx/eeadmin.error.log /var/www/22222/logs/error.log
364+
365+ # EasyEngine Admin SSL Setup
366+ if [ ! -d /var/www/22222/cert ]
367+ then
368+ mkdir -p /var/www/22222/cert || OwnError " Unable To Create /var/www/22222/cert"
369+ fi
370+
371+ # Generate SSL Key
372+ echo -e " \033[34mGenerating SSL Private Key, Please Wait...\e[0m"
373+ openssl genrsa -out /var/www/22222/cert/22222.key 2048 & >> $INSTALLLOG \
374+ || OwnError " Unable To Generate SSL Private Key"
375+
376+ echo -e " \033[34mGenerating a Certificate Signing Request (CSR), Please Wait...\e[0m"
377+ openssl req -new -batch -subj /commonName=127.0.0.1/ -key /var/www/22222/cert/22222.key -out /var/www/22222/cert/22222.csr & >> $INSTALLLOG \
378+ || OwnError " Unable To Generate Certificate Signing Request (CSR)"
379+
380+ echo -e " \033[34mRemoving Passphrase From SSL Private Key, Please Wait...\e[0m"
381+ mv /var/www/22222/cert/22222.key /var/www/22222/cert/22222.key.org
382+ openssl rsa -in /var/www/22222/cert/22222.key.org -out /var/www/22222/cert/22222.key & >> $INSTALLLOG \
383+ || OwnError " Unable To Remove Passphrase From SSL Private Key"
384+
385+ echo -e " \033[34mGenerating SSL Certificate, Please Wait...\e[0m"
386+ openssl x509 -req -days 3652 -in /var/www/22222/cert/22222.csr -signkey /var/www/22222/cert/22222.key -out /var/www/22222/cert/22222.crt & >> $INSTALLLOG \
387+ || OwnError " Unable To Generate SSL Certificate"
388+
389+ # Personal Settings For PHP
390+ echo -e " \033[34mUpdating PHP Configuration Files, Please Wait...\e[0m"
391+
392+ # Needed For Custome PHP5 Logs
393+ if [ ! -d /var/log/php5/ ]
394+ then
395+ mkdir -p /var/log/php5/ || OwnError " Unable To Create PHP5 Log Directory: /var/log/php5/"
396+ fi
397+
398+ TIME_ZONE=$( cat /etc/timezone | sed " s'/'\\ \/'" )
399+ sed -i " s/;date.timezone.*/date.timezone = $TIME_ZONE /" /etc/php5/fpm/php.ini
400+
401+ # Change PHP5-FPM Error Logs Location
402+ sed -i " s'error_log.*'error_log = /var/log/php5/fpm.log'" /etc/php5/fpm/php-fpm.conf
403+
404+ # Separate PHP POOL For Slow Logs
405+ cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/debug.conf
406+ sed -i " s'\[www\]'[debug]'" /etc/php5/fpm/pool.d/debug.conf || OwnError " Unable To Change PHP Pool Name"
407+ sed -i " s'listen = 127.0.0.1:9000'listen = 127.0.0.1:9001'" /etc/php5/fpm/pool.d/debug.conf || OwnError " Unable To Change PHP Fastcgi Listen Port"
408+ sed -i " s/pm = dynamic/pm = ondemand/" /etc/php5/fpm/pool.d/debug.conf || OwnError " Unable To Chnage Process Manager From Dynamic To Ondemand"
409+ sed -i " s';slowlog.*'slowlog = /var/log/php5/slow.log'" /etc/php5/fpm/pool.d/debug.conf || OwnError " Unable To Change PHP Slowlog"
410+ sed -i " s';request_slowlog_timeout.*'request_slowlog_timeout = 10s'" /etc/php5/fpm/pool.d/debug.conf || OwnError " Unable To Change PHP Request Slowlog Timeout"
411+ echo -e " php_admin_value[xdebug.profiler_output_dir] = /tmp/ \nphp_admin_value[xdebug.profiler_output_name] = cachegrind.out.%p-%H-%R \nphp_admin_flag[xdebug.profiler_enable_trigger] = on \nphp_admin_flag[xdebug.profiler_enable] = off" | tee -ai /etc/php5/fpm/pool.d/debug.conf & >> $INSTALLLOG \
412+ || OwnError " Unable To Add Xdebug Settings"
413+
414+ # Install PHP Packages
415+ PHP_PACKAGES
416+ INSTALLPMA
417+ }
418+
184419HTTPAUTH ()
185420{
186421 # Get The htpasswd Details
@@ -220,7 +455,7 @@ HTTPAUTH()
220455RESTARTSERVICE ()
221456{
222457 echo -e " \033[34mRestarting Nginx & PHP5-FPM Configuration, Please Wait...\e[0m"
223- service php5-fpm restart & >> $INSTALLLOG || OwnError " Unable To Restart PHP5-FPM After Update"
458+ (php5-fpm -t && service php5-fpm restart) & >> $INSTALLLOG || OwnError " Unable To Restart PHP5-FPM After Update"
224459 (nginx -t && service nginx restart) & >> $INSTALLLOG || OwnError " Unable To Restart Nginx After Update"
225460}
226461
@@ -264,12 +499,18 @@ then
264499 EE101
265500 HTTPAUTH
266501 MYCNFCHECK
267- EE110
502+ EECURRENTVERSION= " 1.1.0 "
268503 fi
269504
270505 if [[ $EECURRENTVERSION = 1.1.0 ]]
271506 then
272507 EE110
508+ EECURRENTVERSION=" 1.2.2"
509+ fi
510+
511+ if [[ $EECURRENTVERSION = 1.2.2 ]]
512+ then
513+ EE122
273514 fi
274515 fi
275516
0 commit comments