JamesRezo/WebHelper

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# WebHelper
A Generic Httpd Configuration Helper

[![Build Status](https://api.travis-ci.org/JamesRezo/WebHelper.svg?branch=master)](https://travis-ci.org/JamesRezo/WebHelper)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/57e3dc27-e915-42d4-9bde-863a8f3bf5f8/mini.png)](https://insight.sensiolabs.com/projects/57e3dc27-e915-42d4-9bde-863a8f3bf5f8)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/JamesRezo/WebHelper/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/JamesRezo/WebHelper/?branch=master)
[![Code Coverage](https://scrutinizer-ci.com/g/JamesRezo/WebHelper/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/JamesRezo/WebHelper/?branch=master)
[![Dependency Status](https://www.versioneye.com/user/projects/57aacb57f27cc2003f24752d/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/57aacb57f27cc2003f24752d)
[![Code Climate](https://codeclimate.com/github/JamesRezo/WebHelper/badges/gpa.svg)](https://codeclimate.com/github/JamesRezo/WebHelper)

## Installation

For a global installation via Composer, run:

```composer global require jamesrezo/webhelper=dev-master```

Then, copy ```app/config/parameters.yml.dist``` into ```~/.config/webhelper/parameters.yml```

Make sure you have `~/.composer/vendor/bin/` or `~/.config/composer/vendor/bin/` in your path. 

## Usage

```wh generate <webserver> <directive1>..<directiveN>```

* `<webserver>` means actually **apache** and an optional version (see below)
* `<directive>` can be a list of any configuration directive known by the webserver (for now *alias*, *vhost* and *directory*)

> Well, <webserver> syntax is weird... 
> There is the webserver *name* and optionally the webserver *version*, separated with a colon (`:`).
> * name is required, could be apache, nginx, lighttpd, openlightspeed or whatever this helper can find in its repository.
> * version is optional but useful when configuration syntax changes as the webserver evolves.
> * apache means the lowest version of Apache webserver
> * apache:2 means any 2.x version of Apache webserver
> * apache:2.2.16 means... Yes! Apache/2.2.16 precisely.
> * apache:2.4 means any 2.4.x version of Apache webserver...

This will output some text that you'll put into a httpd server configuration file.

## Contributions

...are welcome, of course ;-)