Apache

From Christoph's Personal Wiki
Revision as of 21:59, 17 May 2015 by Christoph (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
see: LAMP for details on installing Apache.

Error log report

  • Below is a very simple, quick way to check for (the last 100) errors in your httpd setup:
tail -100 /var/log/httpd/error_log |cut -d']' -f 4-99 |sed -e "s/, referer.*//g"|sort|uniq
  • Search for all errors:
cat /var/log/httpd/error_log |cut -d']' -f 4-99 |sed -e "s/, referer.*//g"|sort|uniq

Note: To monitor the significance, add '-c' to the uniq command, which will find you a count of the number of each error.

Configuration management

apachectl configtest

Updating modules

  • Force CPAN to produce a list of all the modules that have updates and update them:
/usr/bin/perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

Example VirtualHost domain redirect

see: Rewrite engine for details.
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<VirtualHost *:80>

  ServerAdmin admin@example.com
  ServerName  example.com
  ServerAlias www.example.com

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /var/www/html/example.com

  # Rewrite rules
  # Example: http://xtof.ch/skills redirects to http://wiki.christophchamp.com/index.php/Technical_and_Specialized_Skills
  RewriteEngine On
  RewriteRule ^/skills$ http://wiki.christophchamp.com/index.php/Technical_and_Specialized_Skills [R=301,L]

  # Custom log file locations
  LogLevel warn
  ErrorLog  /var/log/httpd/example.com-error.log
  CustomLog /var/log/httpd/example.com-access.log combined

</VirtualHost>

Add custom headers

Assuming you have mod_headers installed, configured, and enabled, you can add custom headers (e.g., "X-My-Custom-Header") to your HTTP HEAD responses.

  • Set your customer headers to a .conf file (call that file whatever you like):
$ cat << EOF > /etc/httpd/conf.d/custom_headers.conf 
Header set X-CLI "This is the tinyURL website for Christoph Champ"
Header set X-Owner-URL "www.christophchamp.com"
EOF
  • Reload the Apache service:
$ service httpd reload
  • Now, check your custom headers (e.g., using curl):
$ curl -I xtof.ch
...
X-CLI: This is the tinyURL website for Christoph Champ
X-Owner-URL: www.christophchamp.com

External links