php-censor/docs/en/virtual_host.md

99 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2016-07-19 11:12:28 +02:00
Adding a Virtual Host
2017-01-04 13:22:20 +01:00
=====================
2016-07-19 11:12:28 +02:00
2016-07-19 13:05:02 +02:00
In order to access the PHP Censor web interface, you need to set up a virtual host in your web server.
2016-07-17 16:20:35 +02:00
Below are a few examples of how to do this for various different web servers.
2016-07-19 11:12:28 +02:00
Nginx Example
2017-01-04 13:22:20 +01:00
-------------
2016-07-17 16:20:35 +02:00
```
server {
charset utf-8;
client_max_body_size 128M;
listen *:80;
server_name php-censor.local www.php-censor.local;
root /var/www/php-censor.local/public;
#access_log /var/www/php-censor.local/runtime/nginx_access.log;
error_log /var/www/php-censor.local/runtime/nginx_errors.log warn;
location ~* \.(htm|html|xhtml|jpg|jpeg|gif|png|css|zip|tar|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
try_files $uri @fpm;
expires 30d;
}
location / {
try_files $uri @fpm;
}
location @fpm {
fastcgi_pass unix:/var/run/php/php-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param SCRIPT_NAME index.php;
}
2016-07-17 16:20:35 +02:00
}
```
2016-07-19 11:12:28 +02:00
Apache Example
2017-01-04 13:22:20 +01:00
--------------
2016-07-17 16:20:35 +02:00
2017-07-18 15:54:24 +02:00
For Apache, you can use a standard virtual host, as long as your server supports PHP. All you need to do is add the
following to a `.htaccess` file in your PHP Censor `/public` directory.
2016-07-17 16:20:35 +02:00
```
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
```
- Edit virtual host in apache2.
```
<VirtualHost *:80>
ServerAdmin admin@php-censor.local
DocumentRoot /var/www/php-censor.local/public
ServerName php-censor.local
ServerAlias www.php-censor.local
2016-07-17 16:20:35 +02:00
<Directory /var/www/php-censor.local/public/ >
2016-07-17 16:20:35 +02:00
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/php-censor-error_log
CustomLog ${APACHE_LOG_DIR}/php-censor-access_log combined
2016-07-17 16:20:35 +02:00
</VirtualHost>
```
2016-07-19 11:12:28 +02:00
- Add in /etc/hosts
2016-07-17 16:20:35 +02:00
```
127.0.0.1 php-censor.local www.php-censor.local
2016-07-17 16:20:35 +02:00
```
2016-07-19 11:12:28 +02:00
Built-in PHP Server Example
2017-01-04 13:22:20 +01:00
---------------------------
2016-07-17 16:20:35 +02:00
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';
}
```