- Configuring SSL site in Ubuntu Server
- Enable SSL in Apache VirtualHost
- php-fpm
- Blocking Traffic With Apache GeoIP Module
- CentOS 7 Apache Error AH01630: client denied by server configuration
- Enable htaccess (Rewrite Module) in Apache
Apache Configuration
To optimize Apache, you can use perl script available at
https://github.com/richardforth/apache2buddy/
Download and run
wget https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl perl apache2buddy.pl
You will see detailed analysis of your Apache web server installation with recommendations.
[root@server12 ~]# perl apache2buddy.pl | ___ \ | | | | _` | __ \ _` | __| __ \ _ \ ) | __ \ | | _` | _` | | | __ \ | ( | | | ( | ( | | | __/ __/ | | | | ( | ( | | | | | | \__,_| .__/ \__,_| \___| _| |_| \___| _____| _.__/ \__,_| \__,_| \__,_| \__, | _) .__/ _| _| Apache Tuning and Advisories for Professional Administrators. ____/ _| About... [ INFO ] apache2buddy.pl is a fork of apachebuddy.pl. [ INFO ] MD5SUMs now availiable at https://raw.githubusercontent.com/richardforth/apache2buddy/master/md5sums.txt [ INFO ] SHA256SUMs now availiable at https://raw.githubusercontent.com/richardforth/apache2buddy/master/sha256sums.txt [ INFO ] apache2buddy.pl is now released under the Apache 2.0 License. See https://raw.githubusercontent.com/richardforth/apache2buddy/master/LICENSE [ INFO ] apache2buddy.pl is now hosted from github. See https://github.com/richardforth/apache2buddy [ INFO ] Changelogs and updates in github. See https://raw.githubusercontent.com/richardforth/apache2buddy/master/changelog Performing Auto-Discovery, and Pre-Flight Checks... [ OK ] This script is being run as root. [ OK ] The utility 'pmap' exists and is available for use: /usr/bin/pmap [ OK ] The utility 'netstat' exists and is available for use: /bin/netstat [ OK ] 'php' exists and is available for use: /usr/bin/php [ OK ] The utility 'apachectl' exists and is available for use: /usr/sbin/apachectl [ OK ] The port (port 80) is a valid port. [ INFO ] We are attempting to discover the operating system type and version number ... [ INFO ] OS Name: CentOS [ INFO ] OS Release: 6.8 [ OK ] Apache2buddy supports this OS Release/Version. [ INFO ] Hostname: server12 [ INFO ] Primary IP: 188.40.131.92 [ INFO ] We are checking the service running on port 80... [ INFO ] The process listening on port 80 is nginx: [ INFO ] The process running on port 80 is not Apache. Falling back to process list... [ INFO ] Apache is actually listening on port 8080 [ INFO ] The process running on port 8080 is Apache/2.2.15 (Unix). [ INFO ] Apache has been running 12d 22h 59m 07s. [ INFO ] The full path to the Apache config file is: /etc/httpd/conf/httpd.conf [ INFO ] Apache is using prefork model. [ INFO ] pidfile setting is run/httpd.pid. [ INFO ] Actual pidfile is /var/run/httpd/httpd.pid. [ INFO ] Parent PID: 20357. [ OK ] Memory usage of parent PID is less than 50MB: 6392 Kilobytes. [ INFO ] Your server has 31970 MB of PHYSICAL memory. [ INFO ] Your ServerLimit setting is 256. [ INFO ] Your MaxClients setting is 256. [ OK ] Current Apache Process Count is 9, including the parent PID. [ INFO ] Number of vhosts detected: 11. [ OK ] Current Apache vHost Count is less than maxclients. [ INFO ] Your MaxRequestsPerChild setting is 4000. Detecting Control Panels... [ INFO ] This server is NOT running Plesk. [ INFO ] This server is NOT running cPanel. Detecting PHP Memory Limits... [ INFO ] Your PHP Memory Limit (Per-Process) is 128 MB. Detecting additional services for consideration... [ INFO ] Mysql Detected => Using 358.58 MB of memory. [ INFO ] Redis Detected => Using 15.56 MB of memory. Detecting Large Log Files... PRO TIP: This is a precursor to the following 2 checks that may appear to hang if there are very large error logs. PRO TIP: If those process do appear to hang, press CTRL + c to exit the program, and then go check the logs we report below, if any. [ OK ] No large logs files were found in /var/log/httpd. Detecting If Maxclients or MaxRequestWorkers has been hit recently.... [ OK ] MaxClients has not been hit recently. Detecting PHP Fatal Errors.... [ WARNING ] PHP Fatal errors were found, see the most recent entries below (CHECK THE DATESTAMPS!) [ ADVISORY ] Check the logs manually, there may be much more. Apache Logs (LAST 5 ENTRIES): /var/log/httpd/error_log-20170122:[Thu Jan 19 21:15:58 2017] [error] [client 138.197.202.197] PHP Fatal error: Call to undefined function imagecreate() in /home/bizhat_s4/signup/captcha.php on line 11, referer: http://www.absba.org/showthread.php /var/log/httpd/error_log-20170122:[Thu Jan 19 21:16:04 2017] [error] [client 88.201.58.40] PHP Fatal error: Call to undefined function imagecreate() in /home/bizhat_s4/signup/captcha.php on line 11, referer: http://www.absba.org/showthread.php?t=945510 /var/log/httpd/error_log-20170122:[Thu Jan 19 23:29:59 2017] [error] [client 108.59.8.70] PHP Fatal error: Class 'sql_db' not found in /home/bizhat_s2/includes/db.php on line 60 /var/log/httpd/error_log-20170122:[Fri Jan 20 11:08:46 2017] [error] [client 141.8.142.72] PHP Fatal error: Class 'sql_db' not found in /home/bizhat_s2/includes/db.php on line 60 /var/log/httpd/error_log-20170122:[Sat Jan 21 14:52:46 2017] [error] [client 141.8.142.165] PHP Fatal error: Class 'sql_db' not found in /home/bizhat_s2/includes/db.php on line 60 Detecting Package Updates for Apache or PHP... [ OK ] No package updates found. [ ADVISORY ] I only checked for "apache specific" package updates (eg php, httpd, httpd24u, or apache2 packages only). Analyzing apache memory use... [ INFO ] httpd is currently using 286.89 MB of memory. [ INFO ] The smallest apache process is using 9.80 MB of memory [ INFO ] The average apache process is using 30.40 MB of memory [ INFO ] The largest apache process is using 38.68 MB of memory Results... [ OK ] Going by the average Apache process, Apache can potentially use 7782.40 MB RAM: Without considering services: 24.35 % of total installed RAM Considering extra services: 24.64 % of remaining RAM [ OK ] Going by the largest Apache process, Apache can potentially use 9902.08 MB RAM: Without considering services: 30.98 % of total installed RAM Considering extra services: 31.34 % of remaining RAM Generating reports... ### GENERAL FINDINGS & RECOMMENDATIONS ### -------------------------------------------------------------------------------- Apache2buddy.pl report for server: server12 (188.40.131.92): Settings considered for this report: Your server's physical RAM: 31970 MB Remaining Memory after other services considered: 31595 MB Apache's MaxClients directive: 256 <--------- Current Setting Apache MPM Model: prefork Largest Apache process (by memory): 38 MB [ !! ] Your MaxClients setting is too low. Your recommended MaxClients setting is between 734 and 816. <------- Acceptable Range (10% of MAX) Max potential memory usage: 9902 MB Percentage of TOTAL RAM allocated to Apache: 30.98 % Percentage of REMAINING RAM allocated to Apache: 31.34 % -------------------------------------------------------------------------------- A log file entry has been made in: /var/log/apache2buddy.log for future reference. Last 5 entries: 2017/01/26 02:51:04 Model: "Prefork" Memory: "31970 MB" Maxclients: "256" Recommended: "816" Smallest: "9.80 MB" Avg: "30.40 MB" Largest: "38.68 MB" Highest Pct Remaining RAM: "31.34%" (30.98% TOTAL RAM) [root@server12 ~]#