Created Add a Virtual Host (markdown)

Dan Cryer 2015-02-24 15:48:16 +00:00
commit 25625fa706

84
Add-a-Virtual-Host.md Normal file

@ -0,0 +1,84 @@
In order to access the PHPCI web interface, you need to set up a virtual host in your web server.
Below are a few examples of how to do this for various different web servers.
## Nginx Example:
```
server {
... standard virtual host ...
location / {
try_files $uri @phpci;
}
location @phpci {
# Pass to FastCGI:
fastcgi_pass unix:/path/to/phpfpm.sock;
fastcgi_index index.php;
fastcgi_buffers 256 4k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
}
```
## Apache Example:
```
<VirtualHost *:80>
... standard virtual host ...
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</VirtualHost>
```
## Other Servers
### Lighttpd Example (lighttpd >= `1.4.24`):
This example uses the `$HTTP["host"]` conditional block because `$HTTP["url"]` blocks aren't supported with url rewriting in lighttpd <= `1.4.33` (source: [lighttpd docs for mod_rewrite](http://redmine.lighttpd.net/projects/1/wiki/Docs_ModRewrite)). In lighttpd >= `1.4.34` however, [this has been fixed](http://redmine.lighttpd.net/issues/2526).
### lighttpd <= `1.4.33`
```
$HTTP["host"] =~ "^phpci\.example\.com$" {
# Rewrite all requests to non-physical files
url.rewrite-if-not-file =
(
"^(.*)$" => "index.php/$1"
)
}
```
### lighttpd >= `1.4.34`
```
$HTTP["url"] =~ "^\/PHPCI/$" {
# Rewrite all requests to non-physical files
url.rewrite-if-not-file =
(
"^(.*)$" => "index.php/$1"
)
}
```
If you ~~would like~~ are forced to use lighttpd <= `1.4.24`, [you can use mod_magnet and Lua instead] (http://redmine.lighttpd.net/projects/1/wiki/AbsoLUAtion).
### Built-in PHP Server Example:
You can use the built-in PHP server `php -S localhost:8080` by adding `public/routing.php`.
```php
<?php
if (file_exists(__DIR__ . '/' . $_SERVER['REQUEST_URI'])) {
return false; // serve the requested resource as-is.
} else {
include_once 'index.php';
}
```