-
Notifications
You must be signed in to change notification settings - Fork 170
Installation
######Git clone
git clone https://github.com/PeeHaa/OpCacheGUI.git
######Download a tagged release
Download the latest tagged release.
######Composer
php composer.phar require peehaa/opcachegui:1.0.0
###Setting up the project
######Setting up the environment
Copy the file init.example.php in the root of the project (i.e. init.production.php) and make the changes needed for the environment.
It is advised to change the error reporting to log errors instead of displaying them on the page in production environments.
ini_set('display_errors', 0);
ini_set('log_errors', 1);
Change the timezone to your timezone.
ini_set('date.timezone', 'Europe/Amsterdam');
Change the language if you want to have the application run in your localized language. Currently supported languages are: English (en), Dutch (nl), German (de), French (fr), Danish (da), Spanish (es), Italian (it) and Russian (su).
$translator = new FileTranslator(__DIR__ . '/texts', 'en');
Choose a URL scheme. Currently there is a choice between using URL paths (e.g. http://yourdomain.com/configuration) and querystrings (e.g. http://yourdomain.com?configuration).
When using URL paths the webserver must support URL rewriting and all requests has to be rewritten to go through the /public/index.php file.
$uriScheme = Router::URL_REWRITE;
It is possible (and in most cases advised) to require users to log in before granting them access to the GUI. In order to setup authentication a username and password need to added.
The password should be a password_hash compatible hash. To disable authentication (allowing users access without logging in) simply clear the username and password:
$login = [
'username' => '',
'password' => '',
'whitelist' => [
'localhost',
],
];
The whitelist key in the $login array contains a list of (IP) addresses which are allowed to log in. For more information about the supported IP addresses and ranges see the Whitelist chapter of the wiki.
Once the changes are made point the init.deployment.php file to the correct file:
require_once __DIR__ . '/init.production.php';
###Setting up the webserver
There are two ways to run the project.
- Under a dedicated (sub)domain
- In a subdirectory of another site
######Under a dedicated (sub)domain
When running the project under a dedicated (sub)domain the webserver need to be set up. Note that when you want to use URL paths (e.g. http://yourdomain.com/configuration) your webserver needs to support a way to rewrite URLs.
Example configuration for Apache:
<VirtualHost *:80>
ServerName opcache.yourdomain.com
DocumentRoot "/path/to/OpcacheGUI/public"
<Directory "/path/to/OpcacheGUI/public">
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
# This is only needed when using URL paths
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
</VirtualHost>
Example configuration for Nginx:
server {
listen 80;
server_name opcache.yourdomain.com;
root /path/to/OpcacheGUI/public;
# This is only needed when using URL paths
try_files $uri $uri/ /index.php;
location ~* \.php$ {
include fastcgi_params;
fastcgi_pass /var/run/php5-fpm.sock;
}
}
######In a subdirectory of another site
In order to run the project in a subdirectory of an existing site the configuration needs to be change to use querystring URLs.
$uriScheme = Router::QUERY_STRING;