Difference between revisions of "Apache"
From Christoph's Personal Wiki
(→External links) |
|||
(One intermediate revision by the same user not shown) | |||
Line 14: | Line 14: | ||
*Force [[Perl|CPAN]] to produce a list of all the modules that have updates and update them: | *Force [[Perl|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)' | /usr/bin/perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)' | ||
+ | |||
+ | ==Example VirtualHost domain redirect== | ||
+ | :see: [[Rewrite engine]] for details. | ||
+ | <!-- PRE: Start --> | ||
+ | <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: <nowiki>http://xtof.ch/skills</nowiki> redirects to <nowiki>http://wiki.christophchamp.com/index.php/Technical_and_Specialized_Skills</nowiki> | ||
+ | RewriteEngine On | ||
+ | RewriteRule <font color=red>^/skills$</font> <font color=green><nowiki>http://wiki.christophchamp.com/index.php/Technical_and_Specialized_Skills</nowiki></font> [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> | ||
+ | <!-- PRE: End --> | ||
+ | |||
+ | ==Add custom headers== | ||
+ | |||
+ | Assuming you have [http://httpd.apache.org/docs/2.2/mod/mod_headers.html mod_headers] installed, configured, and enabled, you can add custom headers (e.g., "<code>X-My-Custom-Header</code>") to your HTTP HEAD responses. | ||
+ | |||
+ | * Set your customer headers to a <code>.conf</code> 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== | ==External links== |
Latest revision as of 21:59, 17 May 2015
see: LAMP for details on installing Apache.
Contents
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