Nginx install script, PHP 5.3.17 (php-fpm), MariaDB 5.2.12, Xcache v2.0.1, APC 3.1.13, Memcached server, CSF firewall, Siege Benchmark, Python 2.72
Centmin v1.2.0 – Nginx install script for CentOS servers by BTCentral has been updated and released incorporating alot of my modifications which were made to Centmin v1.1.0 base here. I’ve updated my modifications to use Centmin v1.2.0 and higher as a base. Centmin v1.2.0 has fixed my modifications to work with both CentOS 32bit and 64bit servers.
Update: 2013
Centmin Mod project FAQ, Change Log and other updates are now all listed on their own web site at centminmod.com. You’ll find latest stable version listed in Change Log and latest beta version being tested on Centmin Mod Google+ Community.
Update: October 8th, 2011
Centmin Mod project gets own domain name: centminmod.com (runs on 3x load balanced Centmin Mod Nginx based web servers :) ). Will eventually transition the download link to centminmod.com.
Update: October 5th, 2011
Centmin Mod get’s it’s own logo. I used Denmark font for the text :)
Update: September 24th, 2011
Menu based custom Centmin installer script has been officially released. Starting with Centmin 1.2.1-eva2000.14, you will be able to use a menu based Centmin installer. Just to clarify with the new menu version you DO NOT need to do a full reinstall again, you just download new centmin menu version and extract and run centmin.sh and DO NOT touch option #1, just run option #4 for nginx upgrade and #5 for php upgrade if need be.
As stated in comment replies below, I held off adding addition features to my custom Centmin version until I implemented a menu system. I finally got around to implementing a menu system and have started adding additional menu features to beta versions and then to final public release.
You can now recompile Xcache, APC and Memcached servers as well as upgrade Nginx, PHP, and MariaDB 5.2 MySQL. I’ve also added a menu option to add domain names to Nginx virtual host configuration and adding domain names to NSD name server – automatically creating the nsd.conf zone entry and NSD dns zone file. New installations also automatically setup log rotation for Nginx and PHP-FPM log files. If you are using older Centmin 1.2.1-eva2000.xx release there’s also menu options #14 and #15 which setup logrotate for you.
Centmin menu below:
-------------------------------------------------------- Centmin 1.2.2-eva2000.20 - http://centminmod.com -------------------------------------------------------- Centmin Menu -------------------------------------------------------- 1). Centmin Install 2). Add Nginx vhost domain 3). NSD setup domain name DNS 4). Nginx Upgrade 5). PHP Upgrade 6). XCache Re-install 7). APC Cache Re-install 8). XCache Install 9). APC Cache Install 10). Memcached Server Re-install 11). MariaDB 5.2 Upgrade 12). Install ioping.sh vbtechsupport.com/1239/ 13). SELinux disable 14). Setup Logrotate for Nginx 15). Setup Logrotate for PHP-FPM 16). Change SSHD Port Number 17). Multi-thread compression: pigz,pbzip2,lbzip2,p7zip etc 18). Suhosin PHP Extension install 19). Install FFMPEG and FFMPEG PHP Extension 20). NSD Re-install 21). Exit -------------------------------------------------------- Enter option [ 1 - 21 ] -------------------------------------------------------- |
SSH2 Telnet client tip
If your SSH2 Telnet client options allow for it you can increase the size of your scroll back buffer size to allow larger amounts of outputted text to be shown via scrolling back and forth. This is the option in VanDyke SecureCRT SSH2 telnet client I use. I set my scrollback buffer to maximum size of 128,000 lines.
Here’s my modified Centmin v1.2.1 below which automatically installs the following via bash shell script framework written by BTCentral folks. Updates to my modified version will be updated in this blog post, so bookmark it and check back regularly. Also if you like this post/Centmin mod, feel free to share/vote on social media site links at top of post i.e. facebook, reddit, twitter, google+ etc ;)
- Nginx v1.2.4
- PHP
5.3.65.3.75.3.17 php-fpm install - MariaDB 5.2.12 default MySQL server – you’ll want min 512MB of installed memory
- Memcached 1.4.15
- Memcache v3.0.5 (do not use v3.0.6 doesn’t seem to work properly)
- Xcache v1.3.2 / v2.0.1
- APC 3.1.13
- Python v2.72
- CSF firewall
- Siege benchmark and Sproxy.
[box type=”warning”] CentOS 5.7/5.8 32bit & 64bit tested only. CentOS 6.x only tested on Centmin v1.2.1-eva2000.04 and higher.[/box]
Change log:
(compared to official Centmin v1.2.1/v1.2.2)
v1.2.2-eva2000.20 -11/10/2012
- Updated Nginx from v1.2.3 to v1.2.4 stable release http://nginx.org/en/CHANGES
- Updated PHP from v5.3.16 to v5.3.17 http://php.net/ChangeLog-5.php
- Updated APC Cache from v3.1.12 beta to v3.1.13 beta http://pecl.php.net/package-changelog.php?package=APC
- Updated igbinary from 1.1.1 to 1.1.2 dev build https://github.com/igbinary/igbinary
- Updated Memcached server from v1.4.14 to v1.4.15 http://code.google.com/p/memcached/wiki/ReleaseNotes1415
- Updated libevent from v2.0.19 stable to v2.0.20 stable https://raw.github.com/libevent/libevent/release-2.0.20-stable/ChangeLog
- Updated wget command options
- Update staticfiles.conf adding mime types font support for eot, svg, ttf and woff
- Updated PHP download mirror URL, php.net folks changed the format of the URL breaking PHP downloads. Corrected PHP download mirror URL.
- Updated Nginx upgrade function to prompt for skipping OpenSSL recompile to speed up Nginx upgrades.
v1.2.2-eva2000.19 -25/08/2012
- Updated Nginx from v1.2.2 to v1.2.3 stable release http://nginx.org/en/CHANGES
- Updated PHP from v5.3.14 to v5.3.16 http://php.net/ChangeLog-5.php
- Updated Memcached server from v1.4.13 to v1.4.14
- Updated NSD v3.2.10 to v3.2.13
- Updated APC Cache from v3.1.10 beta to v3.1.12 beta http://pecl.php.net/package-changelog.php?package=APC
- Added igbinary support to APC Cache for apc.serializer=igbinary (improve APC cache performance)
- Updated nginx.conf with server_names_hash_bucket_size 64; setting
- Updated memcached server startup file configuration settings
v1.2.2-eva2000.18 -15/07/2012
- Updated Nginx from v1.1.20 to v1.2.2 stable release http://nginx.org/en/CHANGES
- Updated PHP from v5.3.13 to v5.3.14 http://php.net/ChangeLog-5.php
- Updated NSD config file with hide-version: yes option to prevent NSD from replying with the version string on CHAOS class queries
- Updated Xcache from v2.0.0. to v2.0.1 http://xcache.lighttpd.net/browser/tags/2.0.1/ChangeLog
- Updated pigz, lzip, plzip, lbzip2 and lzib versions
- Updated CentOS 6.x YUM EPEL Repo version download url from epel-release-6-6 to epel-release-6-7
- Added detection support during installation for CentOS 6.x updated /switched to Oracle Unbreakable Enterprise Kernel R2 – 2.6.32-300.25.1 and 2.6.39-100.7.1 (based on 3.0.16 Kernel). Full details here.
[root@]# uname -r 2.6.32-300.25.1.el6uek.x86_64 [root@]# uname -r 2.6.39-100.7.1.el6uek.x86_64 |
v1.2.2-eva2000.17 -19/05/2012
- Updated PHP from v5.3.11 to v5.3.13 http://php.net/ChangeLog-5.php
- Updated libevent from v2.0.18 stable to v2.0.19 stable
- Updated Xcache re-install routine to detect from 1.3.2 to 2.0.0 upgrade to update xcache admin directory. Manual instructions are provided during upgrade to properly update xcache admin directory
- Updated MariaDB 5.2 Upgrade menu option to detect for MariaDB 5.3 being the existing version on server and to abort when MariaDB 5.3 server already detected. The MariaDB 5.2 Upgrade menu option is for MariaDB 5.2.x based upgrades only. Centmin Mod will have an official MariaDB 5.3 Upgrade menu option added separately in future Centmin Mod versions.
- Updated EPEL release YUM install
- Updated Nginx and PHP upgrade routines to to allow skipping YUM checks, end user will be prompted if they want to skip YUM checks prior to upgrading Nginx or PHP to speed up upgrade times
- Updated CSF tweaks to raise both DENY_IP_LIMIT & DENY_TEMP_IP_LIMIT from 100 to 1000 entries in /etc/csf/csf.conf
- Updated MariaDB 5.2 upgrade routine’s download mirror to main MariaDB download mirror as it’s quickest to get new MariaDB MySQL updated versions uploaded to
- Added MariaDB 5.3 upgrade routine (not active right now), currently doing internal tests for probable release for Centmin Mod v1.2.3 series
- Added server memory installed check, to make sure you have at least 256MB of memory to run centmin.sh installation successfully
v1.2.2-eva2000.16 -29/04/2012
- Updated PHP from v5.3.10 to v5.3.11 http://php.net/ChangeLog-5.php
- Updated Nginx from v1.1.19 to v1.2.0 stable release http://nginx.org/en/CHANGES
- Updated Xcache from v1.3.2 to v2.0.0 for PHP 5.4 support http://xcache.lighttpd.net/wiki/Release-2.0.0
- Updated APC Cache from v3.1.9 to v3.1.10 beta for PHP 5.4 support http://pecl.php.net/package-changelog.php?package=APC (note: v3.1.10 beta retains v3.1.9 version name in PHPINFO so I modified the APC files to correct version number to v3.1.10 etc)
- Updated APC configuration template files with additional settings you will need to manually add these to your /usr/local/lib/php.ini. You can compare using download zip’s copy at config/apc/apc-min.ini or apc.ini
- Updated staticfiles.conf nginx includes file. You can find updated file in zip dowload config/nginx/staticfiles.conf which you can replace and overwrite the one on server at /usr/local/nginx/conf/staticfiles.conf
- Updated nginx.conf and vhost template to add a 32K buffer to access_log logging. Changes aren’t updated automatically, you will need to update the /usr/local/nginx/conf/nginx.conf manually to remove line log_format bytes_log “$msec $bytes_sent .”; and add the line access_log logs/access.log combined buffer=32k;. You can compare using download zip’s copy at config/nginx/nginx.conf to compare against your live servers copy
- Added optional Nginx modules from Agentzh’s Openresty bundle, memc-nginx-module and srcache-nginx-module. These modules are disabled by default but can be enabled by setting ‘y’ for new variable named NGINX_OPENRESTY=n. For more details read https://github.com/agentzh/memc-nginx-module and https://github.com/agentzh/srcache-nginx-module. No support is provided by me, optional modules are provided as is
v1.2.2-eva2000.15 -14/04/2012
- Updated Nginx from v1.1.18 to v1.1.19 http://nginx.org/en/CHANGES
- Updated MariaDB 5.2.11-115 MySQL to MariaDB 5.2.12-115 MySQL http://kb.askmonty.org/en/mariadb-5212-release-notes
- Updated APC Cache install and re-install routine including setting up password protected file using htpasswd.py tool
- Updated YUM Install routine to be smarter in checking each package whether it’s already installed and needs updating or whether it’s not installed and needs installing
- Updated php-fpm.conf files and vhost virtual.conf with pm.status and ping settings. PHP-FPM status/ping is disabled by default, uncomment setting #include /usr/local/nginx/conf/phpstatus.conf; in vhost virtual.conf and restart nginx and php-fpm services to enable. For folks upgrading Centmin Mod, ensure /usr/local/nginx/conf/phpstatus.conf exists, you can find a copy of it in v1.2.2-eva2000.15 zip file’s config/nginx/phpstatus.conf location.
- Fixed CentOS 6.x EPEL Repo link
- Fixed NSD v3.2.10 install/reinstall issue by moving NSD install routine further down the order for installation, seems v3.2.10 complains it can’t find the SSL libraries for some reason and fails to compile, so no /etc/nsd directory is created.
- Add logging support to menu options. Log directory defined by variable CENTMINLOGDIR=’/root/centminlogs’ in inc/centminlogs.inc. When run menu option, the entire process will be logged to a time stamped text log file named ${CENTMINLOGDIR}/centminmod_${SCRIPT_VERSION}_${DT}_*.log so you can review the logs for error messages etc.
Full change log here.
[box type=”warning”] Note: that Centmin script is meant for freshly installed virgin CentOS 5.x 32bit or 64bit based servers and has only been tested on such. If you try this script on existing server, it’s unknown what the effects are.
Please test the script on a test server before using on a live production server. There’s no support for the modified Centmin script. Script is provided as is.[/box]
Download:
- Centmin v1.2.0-eva2000.01
- Centmin v1.2.0-eva2000.03
- Centmin v1.2.0-eva2000.04
- Centmin v1.2.0-eva2000.05
- Centmin v1.2.1-eva2000.01
- Centmin v1.2.1-eva2000.02
- Centmin v1.2.1-eva2000.03
- Centmin v1.2.1-eva2000.04
- Centmin v1.2.1-eva2000.05
- Centmin v1.2.1-eva2000.06
- Centmin v1.2.1-eva2000.07
- Centmin v1.2.1-eva2000.08
- Centmin v1.2.1-eva2000.09
- Centmin v1.2.1-eva2000.10 (private beta version)
- Centmin v1.2.1-eva2000.11 (private beta version)
- Centmin v1.2.1-eva2000.12 (private beta version)
- Centmin v1.2.1-eva2000.13 (private beta version)
- Centmin v1.2.1-eva2000.14 (* new menu version * public release )
- Centmin v1.2.2-eva2000.01 (* new menu version * public release )
- Centmin v1.2.2-eva2000.02 (* new menu version * public release )
- Centmin v1.2.2-eva2000.03 (* new menu version * public release )
- Centmin v1.2.2-eva2000.04 (* new menu version * public release )
- Centmin v1.2.2-eva2000.05 (* new menu version * public release)
- Centmin v1.2.2-eva2000.06 (* new menu version * public release)
- Centmin v1.2.2-eva2000.07 (* new menu version * public release)
- Centmin v1.2.2-eva2000.08 (* new menu version * public release)
- Centmin v1.2.2-eva2000.09 (* new menu version * public release)
- Centmin v1.2.2-eva2000.10 (* new menu version * public release)
- Centmin v1.2.2-eva2000.11 (* new menu version * public release)
- Centmin v1.2.2-eva2000.12 (* new menu version * public release)
- Centmin v1.2.2-eva2000.13 (* new menu version * public release)
- Centmin v1.2.2-eva2000.14 (* new menu version * public release)
- Centmin v1.2.2-eva2000.15 (* new menu version * public release)
- Centmin v1.2.2-eva2000.16 (* new menu version * public release)
- Centmin v1.2.2-eva2000.17 (* new menu version * public release)
- Centmin v1.2.2-eva2000.18 (* new menu version * public release)
- Centmin v1.2.2-eva2000.19 (* new menu version * public release)
- Centmin v1.2.2-eva2000.20 (* new menu version * public release)
- Centmin v1.2.2-eva2000.21 (* new menu version * public release – latest) – Latest versions now listed and updated at http://centminmod.com/changelog.html