|Source Repository:||Repository:Gentoo Portage Tree|
Summary: The Apache Web Server
- Install suexec with apache
- Link in apache2 modules statically rather then plugins
- Group authorizations based on host (name or IP address). Available as a compatibility module with previous versions.
- Provides core authentication capabilities common to all authentication providers (functionality provided by authn_alias in previous versions).
- Provides core authorization capabilities to various authorization/authorization modules, such as authn_file and authz_user.
- Provides authorization capabilities via SQL database so that authenticated users can be allowed or denied access to portions of the web site by group membership.
- Disk based storage module for the HTTP caching filter (similar to mem_cache in previous versions).
- Module to rewrite links in html pages behind a reverse proxy
- Enable http2/alpn module
- Request counting load balancer scheduler algorithm for proxy_balancer.
- Weighted traffic counting load balancer scheduler algorithm for proxy_balancer.
- Pending request counting load balancer scheduler algorithm for proxy_balancer.
- Heartbeat traffic counting load balancer scheduler algorithm for proxy_balancer.
- Macros for the Apache config file.
- Slot-based shared memory provider.
- A shared object cache provider using a high-performance cyclic buffer inside a shared memory segment.
- Basic (required) security for Unix-family platforms.
- FCGI support module for mod_proxy.
- Provides support for the tunnelling of web socket connections to a backend websockets server.
- Ratelimit module for transfer rate management
- Remotip module for logging
apache is a powerful web server. apache serves html/css/cgi/pl out of the box, and other languages/frameworks via extensions.
# emerge apache
Many packages have apache2 use flags, and require them to be supported by apache. Setting a system wide apache2 use flag is a good idea.
Apache's configuration files are broken up and located in several spots.
conf.d controls the init script, adding things to it such as -D SECURITY & -D PHP5 will enable web application fire-walling & the php scripting language.
httpd.conf controls how the server behaves, at the bottom of the file it has directives to include configuration files ending in .conf in /etc/apache2/modules.d & /etc/apache2/vhosts.d
To start apache immediately:
# rc-service apache2 start
To start apache upon boot:
# rc-update add apache2
mod_rewrite has a reputation of being difficult to set up. mod_rewrite requires following symlinks & Order allow,deny (apache 2.2) or Require all granted (apache 2.4) is set. To test functionality of mod_rewrite we will need to make a few files.
If you want to test this for web applications such as mediawiki adjust the path to /var/www/localhost/htdocs/mediawiki/.htaccess & so on
RewriteEngine on RewriteRule ^test.html$ rewrite.html
rewrite is not working
rewrite is working
Then point your browser @ http://127.0.0.1/test.html the text from rewrite.html should be loaded.