|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Zulip||17,478||2 hours ago||2,895||apache-2.0||Python|
|Zulip server and web application. Open-source team chat that helps teams stay productive and focused.|
|Heimdall||5,678||10 days ago||23||mit||PHP|
|An Application dashboard and launcher|
|Server Configs Apache||3,081||5,781||35||a day ago||17||May 09, 2022||2||mit||Shell|
|Apache HTTP server boilerplate configs|
|Minicron||2,344||1||2 years ago||21||September 19, 2015||45||gpl-3.0||Ruby|
|🕰️ Monitor your cron jobs|
|Cloudbeaver||2,135||2 hours ago||73||apache-2.0||TypeScript|
|Cloud Database Manager|
|Trafficserver||1,576||2 hours ago||356||apache-2.0||C++|
|Apache Traffic Server™ is a fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server.|
|Web Server Bundle||1,290||3,353||412||9 months ago||174||January 02, 2022||mit||PHP|
|WebServerBundle provides commands for running applications using the PHP built-in web server. It simplifies your local development setup because you don't have to configure a proper web server such as Apache or Nginx to run your application.|
|Tika Python||1,230||83||29||2 months ago||33||March 21, 2020||2||apache-2.0||Python|
|Tika-Python is a Python binding to the Apache Tika™ REST services allowing Tika to be called natively in the Python community.|
|Loklak_heroku_ant_buildpack||1,020||6 years ago||Shell|
|heroku buildpack for Apache Ant to run Loklak|
|Ushahidi_web||884||3 years ago||254||other||PHP|
|Ushahidi v2. A platform that allows information collection, visualization and interactive mapping, allowing anyone to submit information through text messaging using a mobile phone, email or web form.|
Apache Server Configs is a collection of configuration snippets that can help your server improve the website's performance and security, while also ensuring that resources are served with the correct content-type and are accessible, if needed, even cross-domain.
There are two options for getting the Apache server configs:
httpd.conf), you should configure Apache this way. This is usually the recommended way, as using
.htaccessfiles slows down Apache!
Using the Apache server configs repo directly has a few required steps to be able to work.
See also the Apache Getting Started.
The first thing to check is that the
httpd.conf file contains appropriate values for
your specific install.
Most specific variables are:
TypesConfig(ensure that the path for the
mime.typesfile is valid)
To verify Apache config
To verify Apache config with a custom file
apache2 -t -f httpd.conf
To reload Apache and apply the new config
Some configurations won't have any effect if the appropriate modules aren't enabled. So, in order for everything to work as intended, you need to ensure you have the following Apache modules enabled:
For more detailed information on configuration files and how to use them, please check the appropriate Apache documentation:
These instructions should work on any distribution where
apt-get has been
used to install Apache.
Open up a terminal and type the following command. Enter your password when prompted.
sudo a2enmod setenvif headers deflate filter expires rewrite include
Restart apache by using the following command, so the new configuration takes effect.
sudo /etc/init.d/apache2 restart
MAMP PRO. On the main screen, click the
Apache tab and ensure that all
the required modules are 'checked', indicating they are enabled.
WampServer. If you have installed WampServer just click on the icon in the task bar then Apache section then modules section. You will be presented with a list of modules. Simply click on a module name to enable it. WampServer will automatically restart the Apache service after you enable a module.
Others. Locate the
httpd.conf file, which is typically found in:
Open the file in a text editor and uncomment all the required modules. Once you have done so, reset MAMP/WAMP/XAMPP.
This repository has the following structure:
./ vhosts/ 000-default.conf templates/ h5bp/ basic.conf .../ httpd.conf
This directory should contain all the server definitions.
Except if they are dot prefixed or non
.conf extension, all files in this
folder are loaded automatically.
Files in this folder contain a
<VirtualHost/> template for secure and non-secure hosts.
They are intended to be copied in the
vhosts folder with all
occurrences changed to the target host.
This directory contains config snippets (mixins) to be included as desired.
There are two types of config files provided, individual config snippets and combined config files which provide convenient defaults.
This file loads a small subset of the rules provided by this repository to add
expires headers, allow cross-domain fonts and protect system files from web
basic.conf file includes the rules which are recommended to always be
The main Apache config file.
The default location of the configuration files is
/usr/local/apache2/, but these files may be located any of a variety of places, depending on how exactly you installed the server.
Common locations for these files may be found in the httpd wiki.
To use as reference requires no special installation steps, download/checkout the repository to a convenient location and adapt your existing httpd configuration incorporating the desired functionality from this repository.
Download the latest release archive.
To use directly, add httpd config files from this repository.
apache2ctl stop git clone https://github.com/h5bp/server-configs-apache.git /tmp/h5bp-apache cd /usr/local cp -r apache2 apache2-previous cp -r /tmp/h5bp-apache/* apache2 # install-specific edits apache2ctl start
Creating a new site
cp templates/example.com.conf .actual-hostname.conf sed -i 's/example.com/actual-hostname/g' .actual-hostname.conf
Enabling a site
mv .actual-hostname.conf actual-hostname.conf
Disabling a site
mv actual-hostname.conf .actual-hostname.conf
Just copy the
.htaccess file in the root of the website.
h5bp.htaccesson the latest release and rename the file to
npm install --save-dev apache-server-configsInside the
dist/folder, you'll find a ready-to-use
Security, mime-type, and caching best practices evolve, and so should do your
.htaccess file. In the past, with each new Apache Server Configs release
it was quite tedious to find out which
.htaccess trick was just new or only
had changes in certain nuances.
The build script with its re-usable and customizable
build configuration lets you easily
.htaccess file. Each new
.htaccess build will contain the
updated Apache Server Configs source files, enabled or commented-out according
to your settings in the
htaccess.conf of your project root.
It allows you to define which module to enable or
disable for your project. Just copy the default
from this repo into your project directory. Adjust to your needs, and/or
add custom code snippets you need for your project.
Its syntax is straight and pretty much self-explanatory:
# Example Module title "example module" enable "src/example-module/images.conf" enable "src/example-module/web_fonts.conf" disable "src/example-module/not-needed.conf" omit "src/example-module/not-needed-at-all.conf" #... more modules ...
For example, the Cross-origin web fonts snippet is always included in
.htaccess file and enabled. If your project does not deal
with web fonts, you can
omit this section:
This will comment out the section:
and this will exclude the section, saving lines in output:
For example, the Forcing
https:// snippet is disabled by default,
although being included in our pre-built
.htaccess. To enable this
snippet, change the
disable keyword to
The default partials contain significant numbers of comment lines, which
contain valuable guidance about how and why to use the setting as well
as web references. However, some may feel that the size of the resulting
.htaccess file is too large.
The special keyword
no-partials-comments can be used to prevent
comment lines from being copied out of the partials into
Note This keyword does not control comments created by the build script (such as
disableddirectives), only those that are in the source partials files.
Imagine you're passing all requests to non-existing files to your favorite web framework. The according mod_dir snippet would go like this:
Store this snippet in a file, e.g.
config/framework_rewrites.conf, and add
a reference in your
# PROJECT MODULES enable "config/framework_rewrites.conf"
Dive into your project root and call the build script from wherever you cloned the repo. Here are three examples:
Create a default
.htaccess in the current work directory. An existing
htaccess.conf in this directory will be used; if none is present, the
$ path/to/server-configs-apache/bin/build.sh # Output looks like:  Build .htaccess  Moved in place: './.htaccess'
Just add an output path and filename as a parameter. By the way, if there's an
.htaccess file, the build script will create a backup.
$ path/to/server-configs-apache/bin/build.sh htdocs/.htaccess  Build .htaccess  Create backup: 'htdocs/.htaccess~'  Moved in place: 'htdocs/.htaccess'
Why not maintain your personal
~/htaccess.conf? This example creates a
.htaccess in the current work directory, according to your favorite settings
you may have stored in your
path/to/server-configs-apache/bin/build.sh ./.htaccess ~/htaccess.conf
Anyone is welcome to contribute, however, if you decide to get involved, please take a moment to review the guidelines:
Apache Server Configs is only possible thanks to all the awesome contributors!
The code is available under the MIT license.