Apache

Revision as of 23:34, September 14, 2014 by Duncan.britton (Talk | contribs)

www-servers/apache


Current Maintainer(s):polynomial-c@gentoo.org
Source Repository:Repository:Gentoo Portage Tree

http://httpd.apache.org/

Summary: The Apache Web Server

Use Flags

alpn
Enable support for Application-Layer Protocol Negotiation (ALPN) in TLS. Needed by HTTP/2.0.
suexec
Install suexec with apache
static
Link in apache2 modules statically rather then plugins
apache2_modules_access_compat
Group authorizations based on host (name or IP address). Available as a compatibility module with previous versions.
apache2_modules_authn_core
Provides core authentication capabilities common to all authentication providers (functionality provided by authn_alias in previous versions).
apache2_modules_authz_core
Provides core authorization capabilities to various authorization/authorization modules, such as authn_file and authz_user.
apache2_modules_authz_dbd
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.
apache2_modules_cache_disk
Disk based storage module for the HTTP caching filter (similar to mem_cache in previous versions).
apache2_modules_lbmethod_byrequests
Request counting load balancer scheduler algorithm for proxy_balancer.
apache2_modules_lbmethod_bytraffic
Weighted traffic counting load balancer scheduler algorithm for proxy_balancer.
apache2_modules_lbmethod_bybusyness
Pending request counting load balancer scheduler algorithm for proxy_balancer.
apache2_modules_lbmethod_heartbeat
Heartbeat traffic counting load balancer scheduler algorithm for proxy_balancer.
apache2_modules_macro
Macros for the Apache config file.
apache2_modules_slotmem_shm
Slot-based shared memory provider.
apache2_modules_socache_shmcb
A shared object cache provider using a high-performance cyclic buffer inside a shared memory segment.
apache2_modules_unixd
Basic (required) security for Unix-family platforms.
apache2_modules_proxy_fcgi
FCGI support module for mod_proxy.
apache2_modules_proxy_wstunnel
Provides support for the tunnelling of web socket connections to a backend websockets server.
apache2_modules_ratelimit
Ratelimit module for transfer rate management
apache2_modules_remoteip
Remotip module for logging

News

Drobbins

ARM Rebuild

ARM systems will use new stage3's that are not compatible with earlier versions.
2015-06-27 by Drobbins
Drobbins

ABI X86 64 and 32

Funtoo Linux has new 32-bit compatibility libraries inherited from Gentoo. Learn about them here.
2015-06-18 by Drobbins
Drobbins

Pre-built kernels!

Funtoo stage3's are now starting to offer pre-built kernels for ease of install. read more....
2015-05-12 by Drobbins
More...

Apache

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

apache is a powerful web server. apache serves html/css/cgi/pl out of the box, and other languages/frameworks via extensions.

USE Flags

TODO

Install

# emerge apache

Configuration

System

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.

/etc/portage/make.conf - set system wide apache2 useflag
USE="apache2 ..........."

Package

Apache's configuration files are broken up and located in several spots.

  • /etc/conf.d/apache2
  • /etc/apache2/httpd.conf
  • /etc/apache2/modules.d/*
  • /etc/apache2/vhosts.d/*

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

Service

To start apache immediately:

# rc-service apache2 start

To start apache upon boot:

# rc-update add apache2

mod_rewrite

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.

Note

If you want to test this for web applications such as mediawiki adjust the path to /var/www/localhost/htdocs/mediawiki/.htaccess & so on

/var/www/localhost/htdocs/.htaccess - enable the rewrite engine
RewriteEngine on 
RewriteRule ^test.html$ rewrite.html
/var/www/localhost/htdocs/test.html - set system wide apache2 useflag
rewrite is not working
/var/www/localhost/htdocs/rewrite.html - set system wide apache2 useflag
rewrite is working

Then point your browser @ http://127.0.0.1/test.html the text from rewrite.html should be loaded.