mirror of
https://github.com/cytopia/devilbox.git
synced 2025-02-21 09:51:49 +00:00
commit
c04fa23578
@ -1,3 +0,0 @@
|
||||
<?php
|
||||
// Fix DocumentRoot for VirtualDocumentRoot Hosts
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);
|
@ -1,3 +0,0 @@
|
||||
<?php
|
||||
// Fix DocumentRoot for VirtualDocumentRoot Hosts
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);
|
@ -1,23 +0,0 @@
|
||||
CustomLog "/var/log/apache-2.2/access_log" combined
|
||||
ErrorLog "/var/log/apache-2.2/error_log"
|
||||
LogLevel warn
|
||||
|
||||
AddDefaultCharset UTF-8
|
||||
|
||||
# No DNS
|
||||
HostnameLookups Off
|
||||
#
|
||||
Timeout 60
|
||||
KeepAlive On
|
||||
KeepAliveTimeout 10
|
||||
MaxKeepAliveRequests 100
|
||||
#
|
||||
#
|
||||
EnableMMAP Off
|
||||
EnableSendfile Off
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
XSendFile On
|
||||
XSendFilePath /shared/httpd
|
@ -1,6 +0,0 @@
|
||||
#### PHP-FPM config ####
|
||||
|
||||
AddType application/x-httpd-fastphp5 .php
|
||||
Action application/x-httpd-fastphp5 /php5-fcgi
|
||||
Alias /php5-fcgi /usr/local/bin/php-fcgi
|
||||
FastCgiExternalServer /usr/local/bin/php-fcgi -host php:9000 -pass-header Authorization
|
@ -1,40 +0,0 @@
|
||||
##
|
||||
## Default Host for http://localhost
|
||||
##
|
||||
NameVirtualHost *:80
|
||||
|
||||
<VirtualHost _default_:80>
|
||||
ServerName localhost
|
||||
ServerAlias 127.0.0.1
|
||||
ServerAlias 172.16.238.*
|
||||
ServerAlias httpd
|
||||
|
||||
ServerAdmin root@localhost
|
||||
|
||||
ErrorLog /var/log/apache-2.2/devilbox-error.log
|
||||
CustomLog /var/log/apache-2.2/devilbox-access.log combined
|
||||
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
DocumentRoot "/var/www/default/htdocs"
|
||||
<Directory "/var/www/default/htdocs">
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
AllowOverride All
|
||||
Options All
|
||||
|
||||
RewriteEngine on
|
||||
RewriteBase /
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
<Location /devilbox-httpd-status>
|
||||
SetHandler server-status
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Location>
|
||||
|
||||
</VirtualHost>
|
@ -1,44 +0,0 @@
|
||||
##
|
||||
## Default Mass Virtual Host
|
||||
##
|
||||
|
||||
<VirtualHost *:80>
|
||||
|
||||
# Get the server name from the Host: header
|
||||
UseCanonicalName Off
|
||||
|
||||
ServerName localhost
|
||||
ServerAlias *.*
|
||||
ServerAdmin root@localhost
|
||||
|
||||
# Required for DNS checking
|
||||
SetEnvIf Origin "http(s)?://(domain1.org|localhost|127.0.0.1|httpd)$" AccessControlAllowOrigin=$0$1
|
||||
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
|
||||
|
||||
LogFormat "%V;%h;%l;%u;%t;\"%r\";%>s;%b;\"%{Referer}i\";\"%{User-agent}i\"" vcommon
|
||||
CustomLog "/var/log/apache-2.2/projects-access.log" vcommon
|
||||
ErrorLog /var/log/apache-2.2/projects-error.log
|
||||
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
# When using VirtualDocumentRoot the PHP Env var DOCUMENT_ROOT
|
||||
# is not filled, so we need to do that manually with a custom script.
|
||||
VirtualDocumentRoot /shared/httpd/%-2+/htdocs/
|
||||
php_admin_value auto_prepend_file /opt/bin/fix-virtual-docroot.php
|
||||
|
||||
# Devilbox API endpoint
|
||||
Alias "/devilbox-api" "/var/www/default/api/devilbox-api"
|
||||
|
||||
<Directory "/shared/httpd/*/htdocs/">
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
AllowOverride All
|
||||
Options All
|
||||
|
||||
RewriteEngine on
|
||||
RewriteBase /
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
</VirtualHost>
|
@ -1,23 +0,0 @@
|
||||
CustomLog "/var/log/apache-2.4/access_log" combined
|
||||
ErrorLog "/var/log/apache-2.4/error_log"
|
||||
LogLevel warn
|
||||
|
||||
AddDefaultCharset UTF-8
|
||||
|
||||
# No DNS
|
||||
HostnameLookups Off
|
||||
#
|
||||
Timeout 60
|
||||
KeepAlive On
|
||||
KeepAliveTimeout 10
|
||||
MaxKeepAliveRequests 100
|
||||
#
|
||||
#
|
||||
EnableMMAP Off
|
||||
EnableSendfile Off
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
XSendFile On
|
||||
XSendFilePath /shared/httpd
|
@ -1,17 +0,0 @@
|
||||
#### PHP-FPM config ####
|
||||
|
||||
# enablereuse
|
||||
# Defining a worker will improve performance
|
||||
# And in this case, re-use the worker (dependent on support from the fcgi application)
|
||||
# If you have enough idle workers, this would only improve the performance marginally
|
||||
#
|
||||
# enablereuse requires Apache 2.4.11 or later
|
||||
#<Proxy "fcgi://php:9000/" enablereuse=on max=10></Proxy>
|
||||
<FilesMatch "\.php$">
|
||||
Require all granted
|
||||
# Pick one of the following approaches
|
||||
# Use the standard TCP socket
|
||||
SetHandler "proxy:fcgi://php:9000"
|
||||
# If your version of httpd is 2.4.9 or newer (or has the back-ported feature), you can use the unix domain socket
|
||||
#SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/:9000"
|
||||
</FilesMatch>
|
@ -1,42 +0,0 @@
|
||||
##
|
||||
## Default Host for http://localhost
|
||||
##
|
||||
|
||||
|
||||
<VirtualHost _default_:80>
|
||||
ServerName localhost
|
||||
ServerAlias 127.0.0.1
|
||||
ServerAlias 172.16.238.*
|
||||
ServerAlias httpd
|
||||
|
||||
ServerAdmin root@localhost
|
||||
|
||||
ErrorLog /var/log/apache-2.4/devilbox-error.log
|
||||
CustomLog /var/log/apache-2.4/devilbox-access.log combined
|
||||
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
DocumentRoot "/var/www/default/htdocs"
|
||||
<Directory "/var/www/default/htdocs">
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
AllowOverride All
|
||||
Options All
|
||||
|
||||
RewriteEngine on
|
||||
RewriteBase /
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<Location /devilbox-httpd-status>
|
||||
SetHandler server-status
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Location>
|
||||
|
||||
</VirtualHost>
|
@ -1,45 +0,0 @@
|
||||
##
|
||||
## Default Mass Virtual Host
|
||||
##
|
||||
|
||||
<VirtualHost *:80>
|
||||
|
||||
# Get the server name from the Host: header
|
||||
UseCanonicalName Off
|
||||
|
||||
ServerName localhost
|
||||
ServerAlias *.*
|
||||
ServerAdmin root@localhost
|
||||
|
||||
# Required for DNS checking
|
||||
SetEnvIf Origin "http(s)?://(domain1.org|localhost|127.0.0.1|httpd)$" AccessControlAllowOrigin=$0$1
|
||||
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
|
||||
|
||||
LogFormat "%V;%h;%l;%u;%t;\"%r\";%>s;%b;\"%{Referer}i\";\"%{User-agent}i\"" vcommon
|
||||
CustomLog "/var/log/apache-2.4/projects-access.log" vcommon
|
||||
ErrorLog /var/log/apache-2.4/projects-error.log
|
||||
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
# When using VirtualDocumentRoot the PHP Env var DOCUMENT_ROOT
|
||||
# is not filled, so we need to do that manually with a custom script.
|
||||
VirtualDocumentRoot /shared/httpd/%-2+/htdocs/
|
||||
php_admin_value auto_prepend_file /opt/bin/fix-virtual-docroot.php
|
||||
|
||||
# Devilbox API endpoint
|
||||
Alias "/devilbox-api" "/var/www/default/api/devilbox-api"
|
||||
|
||||
<Directory "/shared/httpd/*/htdocs/">
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
AllowOverride All
|
||||
Options All
|
||||
|
||||
RewriteEngine on
|
||||
RewriteBase /
|
||||
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
@ -1,8 +0,0 @@
|
||||
charset utf-8;
|
||||
|
||||
send_timeout 60;
|
||||
keepalive_timeout 10;
|
||||
|
||||
sendfile off;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
@ -1,77 +0,0 @@
|
||||
##
|
||||
## Default Host for http://localhost
|
||||
##
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
server_name _;
|
||||
server_name localhost;
|
||||
server_name 127.0.0.1;
|
||||
server_name httpd;
|
||||
server_name 172.16.238.*;
|
||||
|
||||
# Root directive
|
||||
root /var/www/default/htdocs;
|
||||
index index.php;
|
||||
|
||||
access_log /var/log/nginx-mainline/devilbox-access.log main;
|
||||
error_log /var/log/nginx-mainline/devilbox-error.log warn;
|
||||
|
||||
# Devilbox httpd info/status
|
||||
location /devilbox-httpd-status {
|
||||
stub_status on;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Devilbox API endpoint
|
||||
location ~ /devilbox-api/ {
|
||||
root /var/www/default/api/;
|
||||
index status.json;
|
||||
|
||||
# Allow cross-domain requests to this domain
|
||||
# Used to validate if client DNS is setup correctly
|
||||
if ( $http_origin ~* (https?://(localhost|127\.0\.0\.1|httpd)$) ) {
|
||||
add_header "Access-Control-Allow-Origin" "$http_origin";
|
||||
}
|
||||
}
|
||||
|
||||
# Front-controller pattern as recommended by the nginx docs
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php;
|
||||
}
|
||||
|
||||
# PHP FPM
|
||||
location ~ \.php?$ {
|
||||
# PHP.INI:
|
||||
# ---------------------------
|
||||
# // Find this:
|
||||
# cgi.fix_pathinfo=1
|
||||
# // Replace with:
|
||||
# cgi.fix_pathinfo=0
|
||||
|
||||
try_files $uri = 404;
|
||||
include fastcgi_params;
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
|
||||
#### FPM Server
|
||||
fastcgi_pass php:9000;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_intercept_errors on;
|
||||
}
|
||||
|
||||
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# disallow access to git configs path
|
||||
location ~ /\.git {
|
||||
deny all;
|
||||
}
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
##
|
||||
## Default Mass Virtual Host
|
||||
##
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name ~^(?<domain>.+)\.[a-zA-Z]+$;
|
||||
|
||||
# Root directive
|
||||
root /shared/httpd/$domain/htdocs/;
|
||||
index index.php;
|
||||
|
||||
access_log /var/log/nginx-mainline/projects-access.log main;
|
||||
error_log /var/log/nginx-mainline/projects-error.log warn;
|
||||
|
||||
# Devilbox API endpoint
|
||||
location ~ /devilbox-api/ {
|
||||
root /var/www/default/api/;
|
||||
index status.json;
|
||||
access_log off;
|
||||
|
||||
# Allow cross-domain requests to this domain
|
||||
# Used to validate if client DNS is setup correctly
|
||||
if ( $http_origin ~* (https?://(localhost|127\.0\.0\.1|httpd)$) ) {
|
||||
add_header "Access-Control-Allow-Origin" "$http_origin";
|
||||
}
|
||||
}
|
||||
|
||||
# Front-controller pattern as recommended by the nginx docs
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$is_args$args;
|
||||
}
|
||||
|
||||
# PHP FPM
|
||||
location ~ \.php?$ {
|
||||
|
||||
# PHP.INI:
|
||||
# ---------------------------
|
||||
# // Find this:
|
||||
# cgi.fix_pathinfo=1
|
||||
# // Replace with:
|
||||
# cgi.fix_pathinfo=0
|
||||
|
||||
try_files $uri = 404;
|
||||
include fastcgi_params;
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
|
||||
#### SOCKET
|
||||
fastcgi_pass php:9000;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_intercept_errors on;
|
||||
}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# disallow access to git configs path
|
||||
location ~ /\.git {
|
||||
deny all;
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
charset utf-8;
|
||||
|
||||
send_timeout 60;
|
||||
keepalive_timeout 10;
|
||||
|
||||
sendfile off;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
@ -1,75 +0,0 @@
|
||||
##
|
||||
## Default Host for http://localhost
|
||||
##
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
server_name _;
|
||||
server_name localhost;
|
||||
server_name 127.0.0.1;
|
||||
server_name httpd;
|
||||
server_name 172.16.238.*;
|
||||
|
||||
# Root directive
|
||||
root /var/www/default/htdocs;
|
||||
index index.php;
|
||||
|
||||
access_log /var/log/nginx-stable/devilbox-access.log main;
|
||||
error_log /var/log/nginx-stable/devilbox-error.log warn;
|
||||
|
||||
# Devilbox httpd info/status
|
||||
location /devilbox-httpd-status {
|
||||
stub_status on;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Devilbox API endpoint
|
||||
location ~ /devilbox-api/ {
|
||||
root /var/www/default/api/;
|
||||
index status.json;
|
||||
|
||||
# Allow cross-domain requests to this domain
|
||||
# Used to validate if client DNS is setup correctly
|
||||
if ( $http_origin ~* (https?://(localhost|127\.0\.0\.1|httpd)$) ) {
|
||||
add_header "Access-Control-Allow-Origin" "$http_origin";
|
||||
}
|
||||
}
|
||||
|
||||
# Front-controller pattern as recommended by the nginx docs
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php;
|
||||
}
|
||||
|
||||
# PHP FPM
|
||||
location ~ \.php?$ {
|
||||
# PHP.INI:
|
||||
# ---------------------------
|
||||
# // Find this:
|
||||
# cgi.fix_pathinfo=1
|
||||
# // Replace with:
|
||||
# cgi.fix_pathinfo=0
|
||||
|
||||
try_files $uri = 404;
|
||||
include fastcgi_params;
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
|
||||
#### FPM Server
|
||||
fastcgi_pass php:9000;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_intercept_errors on;
|
||||
}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# disallow access to git configs path
|
||||
location ~ /\.git {
|
||||
deny all;
|
||||
}
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
##
|
||||
## Default Mass Virtual Host
|
||||
##
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name ~^(?<domain>.+)\.[a-zA-Z]+$;
|
||||
|
||||
# Root directive
|
||||
root /shared/httpd/$domain/htdocs/;
|
||||
index index.php;
|
||||
|
||||
access_log /var/log/nginx-stable/projects-access.log main;
|
||||
error_log /var/log/nginx-stable/projects-error.log warn;
|
||||
|
||||
# Devilbox API endpoint
|
||||
location ~ /devilbox-api/ {
|
||||
root /var/www/default/api/;
|
||||
index status.json;
|
||||
access_log off;
|
||||
|
||||
# Allow cross-domain requests to this domain
|
||||
# Used to validate if client DNS is setup correctly
|
||||
if ( $http_origin ~* (https?://(localhost|127\.0\.0\.1|httpd)$) ) {
|
||||
add_header "Access-Control-Allow-Origin" "$http_origin";
|
||||
}
|
||||
}
|
||||
|
||||
# Front-controller pattern as recommended by the nginx docs
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$is_args$args;
|
||||
}
|
||||
|
||||
# PHP FPM
|
||||
location ~ \.php?$ {
|
||||
|
||||
# PHP.INI:
|
||||
# ---------------------------
|
||||
# // Find this:
|
||||
# cgi.fix_pathinfo=1
|
||||
# // Replace with:
|
||||
# cgi.fix_pathinfo=0
|
||||
|
||||
try_files $uri = 404;
|
||||
include fastcgi_params;
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
|
||||
#### SOCKET
|
||||
fastcgi_pass php:9000;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_intercept_errors on;
|
||||
}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# disallow access to git configs path
|
||||
location ~ /\.git {
|
||||
deny all;
|
||||
}
|
||||
}
|
@ -13,8 +13,8 @@ error_reporting(-1);
|
||||
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||
|
||||
|
||||
$DEVILBOX_VERSION = 'v0.11';
|
||||
$DEVILBOX_DATE = '2017-08-16';
|
||||
$DEVILBOX_VERSION = 'v0.12';
|
||||
$DEVILBOX_DATE = '2017-10-10';
|
||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||
|
||||
//
|
||||
|
@ -3,12 +3,17 @@ require '../config.php';
|
||||
|
||||
if (loadClass('Helper')->isLoggedIn()) {
|
||||
|
||||
//
|
||||
// ?database=
|
||||
//
|
||||
if (isset($_GET['database'])) {
|
||||
// &type=mysql
|
||||
if (isset($_GET['type']) && $_GET['type'] == 'mysql') {
|
||||
echo json_encode(array(
|
||||
'size' => (string)loadClass('Mysql')->getDBSize($_GET['database']),
|
||||
'table' => (string)loadClass('Mysql')->getTableCount($_GET['database'])
|
||||
));
|
||||
// &type=postgres
|
||||
} else if (isset($_GET['type']) && $_GET['type'] == 'postgres') {
|
||||
$schema = isset($_GET['schema']) ? $_GET['schema'] : '';
|
||||
echo json_encode(array(
|
||||
@ -16,12 +21,93 @@ if (loadClass('Helper')->isLoggedIn()) {
|
||||
'table' => (string)loadClass('Pgsql')->getTableCount($_GET['database'], $schema)
|
||||
));
|
||||
}
|
||||
} else if (isset($_GET['vhost'])) {
|
||||
echo loadClass('Httpd')->checkVirtualHost($_GET['vhost']);
|
||||
} else {
|
||||
loadClass('Helper')->redirect('/');
|
||||
}
|
||||
|
||||
} else {
|
||||
//
|
||||
// ?vhost=
|
||||
//
|
||||
else if (isset($_GET['vhost'])) {
|
||||
echo loadClass('Httpd')->checkVirtualHost($_GET['vhost']);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// ?software=
|
||||
//
|
||||
else if (isset($_GET['software'])) {
|
||||
$no = '<span class="text-danger">not installed</span>';
|
||||
$software = array();
|
||||
|
||||
if ($_GET['software'] == 'composer') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getComposerVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'drupalc') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getDrupalConsoleVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'drush') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getDrushVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'git') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getGitVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'laravel') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getLaravelVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'mds') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getMdsVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'node') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getNodeVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'npm') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getNpmVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'phalcon') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getPhalconVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'symfony') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getSymfonyVersion()) !== false) ? $version : $no
|
||||
));
|
||||
}
|
||||
else if ($_GET['software'] == 'wpcli') {
|
||||
echo json_encode(array(
|
||||
$_GET['software'] => (($version = loadClass('Php')->getWpcliVersion()) !== false) ? $version : $no
|
||||
));
|
||||
} else {
|
||||
echo json_encode(array($_GET['software'] => 'unknown software'));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// WRONG REQUEST
|
||||
//
|
||||
else {
|
||||
loadClass('Helper')->redirect('/');
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Not logged in
|
||||
//
|
||||
else {
|
||||
loadClass('Helper')->redirect('/');
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ $connection = array();
|
||||
$error = null;
|
||||
|
||||
// ---- HTTPD (required) ----
|
||||
|
||||
$host = $GLOBALS['HTTPD_HOST_NAME'];
|
||||
$succ = loadClass('Httpd')->canConnect($error, $host);
|
||||
$connection['Httpd'][$host] = array(
|
||||
@ -51,7 +52,6 @@ $connection['Httpd'][$host] = array(
|
||||
'host' => $host,
|
||||
'succ' => $succ
|
||||
);
|
||||
|
||||
// ---- MYSQL ----
|
||||
if ($avail_mysql) {
|
||||
$host = $GLOBALS['MYSQL_HOST_NAME'];
|
||||
@ -127,6 +127,7 @@ if ($avail_redis) {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// ---- MEMCACHED ----
|
||||
if ($avail_memcd) {
|
||||
$host = $GLOBALS['MEMCD_HOST_NAME'];
|
||||
@ -351,6 +352,14 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
<th>gid</th>
|
||||
<td><?php echo loadClass('Php')->getGid(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>vHost docroot dir</th>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HTTPD_DOCROOT_DIR'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>vHost config dir</th>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HTTPD_TEMPLATE_DIR'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>vHost TLD</th>
|
||||
<td>*.<?php echo loadClass('Httpd')->getTldSuffix(); ?></td>
|
||||
@ -409,47 +418,47 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>composer</th>
|
||||
<td><?php if (($version = loadClass('Php')->getComposerVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_composer"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>drupal-console</th>
|
||||
<td><?php if (($version = loadClass('Php')->getDrushConsoleVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_drupalc"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>drush</th>
|
||||
<td><?php if (($version = loadClass('Php')->getDrushVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_drush"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>git</th>
|
||||
<td><?php if (($version = loadClass('Php')->getGitVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_git"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Laravell installer</th>
|
||||
<td><?php if (($version = loadClass('Php')->getLaravelVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<th>Laravel installer</th>
|
||||
<td id="app_laravel"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>mysqldump-secure</th>
|
||||
<td><?php if (($version = loadClass('Php')->getMdsVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_mds"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>node</th>
|
||||
<td><?php if (($version = loadClass('Php')->getNodeVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_node"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>npm</th>
|
||||
<td><?php if (($version = loadClass('Php')->getNpmVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_npm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Phalcon devtools</th>
|
||||
<td><?php if (($version = loadClass('Php')->getPhalconVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_phalcon"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Symfony installer</th>
|
||||
<td><?php if (($version = loadClass('Php')->getSymfonyVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_symfony"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Wordpress cli</th>
|
||||
<td><?php if (($version = loadClass('Php')->getWpcliVersion()) === false) {echo '<span class="text-danger">not installed</span>';}else{echo $version;}; ?></td>
|
||||
<td id="app_wpcli"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -762,8 +771,8 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
</tr>
|
||||
<tr>
|
||||
<th>httpd</th>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td>./cfg/<?php echo loadClass('Helper')->getEnv('HTTPD_SERVER'); ?></td>
|
||||
<td>/etc/httpd-custom.d</td>
|
||||
</tr>
|
||||
<?php if ($avail_mysql): ?>
|
||||
<tr>
|
||||
@ -902,6 +911,37 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
(function() {
|
||||
// your page initialization code here
|
||||
// the DOM will be available here
|
||||
|
||||
/**
|
||||
* Update installed tool versions.
|
||||
* Ajax method is faster for loading the front page
|
||||
* @param string app Name of the tool
|
||||
*/
|
||||
function updateVersions(app) {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
|
||||
xhttp.onreadystatechange = function() {
|
||||
var elem = document.getElementById('app_'+app);
|
||||
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
json = JSON.parse(this.responseText);
|
||||
elem.innerHTML = json[app];
|
||||
}
|
||||
};
|
||||
xhttp.open('GET', '_ajax_callback.php?software='+app, true);
|
||||
xhttp.send();
|
||||
}
|
||||
updateVersions('composer');
|
||||
updateVersions('drupalc');
|
||||
updateVersions('drush');
|
||||
updateVersions('git');
|
||||
updateVersions('laravel');
|
||||
updateVersions('mds');
|
||||
updateVersions('node');
|
||||
updateVersions('npm');
|
||||
updateVersions('phalcon');
|
||||
updateVersions('symfony');
|
||||
updateVersions('wpcli');
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
@ -39,7 +39,7 @@
|
||||
<?php foreach ($vHosts as $vHost): ?>
|
||||
<tr>
|
||||
<td><?php echo $vHost['name'];?></td>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HOST_PATH_HTTPD_DATADIR');?>/<?php echo $vHost['name'];?>/htdocs</td>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HOST_PATH_HTTPD_DATADIR');?>/<?php echo $vHost['name'];?>/<?php echo loadClass('Helper')->getEnv('HTTPD_DOCROOT_DIR');?></td>
|
||||
<td class="text-xs-center text-xs-small" id="valid-<?php echo $vHost['name'];?>"> </td>
|
||||
<td id="href-<?php echo $vHost['name'];?>"><?php echo $filler;?></td>
|
||||
</tr>
|
||||
@ -80,12 +80,10 @@
|
||||
error = this.responseText;
|
||||
|
||||
if (error.length && error.match(/^error/)) {
|
||||
console.log(error);
|
||||
el_valid.className += ' bg-danger';
|
||||
el_valid.innerHTML = 'ERR';
|
||||
el_href.innerHTML = error;
|
||||
} else if (error.length && error.match(/^warning/)) {
|
||||
console.log(error);
|
||||
el_valid.className += ' bg-warning';
|
||||
el_valid.innerHTML = 'WARN';
|
||||
el_href.innerHTML = error.replace('warning', '');
|
||||
@ -125,7 +123,7 @@
|
||||
//console.log(vhost);
|
||||
}
|
||||
}
|
||||
xhttp.open('GET', 'http://'+vhost+'.<?php echo loadClass('Httpd')->getTldSuffix();?>/devilbox-api/status.json', true);
|
||||
xhttp.open('POST', 'http://'+vhost+'.<?php echo loadClass('Httpd')->getTldSuffix();?>/devilbox-api/status.json', true);
|
||||
xhttp.send();
|
||||
|
||||
// Timeout to abort in 1 second
|
||||
|
@ -23,15 +23,16 @@ class Httpd extends BaseClass implements BaseInterface
|
||||
*/
|
||||
public function checkVirtualHost($vhost)
|
||||
{
|
||||
$htdocs = $this->_docRoot . DIRECTORY_SEPARATOR . $vhost . DIRECTORY_SEPARATOR . 'htdocs';
|
||||
$htdocs = loadClass('Helper')->getEnv('HTTPD_DOCROOT_DIR');
|
||||
$docroot = $this->_docRoot . DIRECTORY_SEPARATOR . $vhost . DIRECTORY_SEPARATOR . $htdocs;
|
||||
$domain = $vhost . '.' . $this->getTldSuffix();
|
||||
$url = 'http://'.$domain;
|
||||
$error = array();
|
||||
|
||||
// 1. Check htdocs folder
|
||||
if (!$this->_is_valid_dir($htdocs)) {
|
||||
if (!$this->_is_valid_dir($docroot)) {
|
||||
$error[] = 'error';
|
||||
$error[] = 'Missing <strong>htdocs</strong> directory in: <strong>'.loadClass('Helper')->getEnv('HOST_PATH_HTTPD_DATADIR').'/'.$vhost.'/</strong>';
|
||||
$error[] = 'Missing <strong>'.$htdocs.'</strong> directory in: <strong>'.loadClass('Helper')->getEnv('HOST_PATH_HTTPD_DATADIR').'/'.$vhost.'/</strong>';
|
||||
}
|
||||
|
||||
// 2. Check internal DNS server
|
||||
|
@ -50,7 +50,7 @@ class Php extends BaseClass implements BaseInterface
|
||||
$output = loadClass('Helper')->exec('drush --version', $output);
|
||||
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
|
||||
}
|
||||
public function getDrushConsoleVersion()
|
||||
public function getDrupalConsoleVersion()
|
||||
{
|
||||
$output = loadClass('Helper')->exec('drupal --version | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"', $output);
|
||||
return loadClass('Helper')->egrep('/[0-9.]+[-rc0-9.]*/', $output);
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -22,6 +22,12 @@
|
||||
/data/
|
||||
/backups/
|
||||
|
||||
# Ignore custom HTTPD configs
|
||||
/cfg/apache-2.2/*.conf
|
||||
/cfg/apache-2.4/*.conf
|
||||
/cfg/nginx-stable/*.conf
|
||||
/cfg/nginx-mainline/*.conf
|
||||
|
||||
# Ignore custom MySQL configs
|
||||
/cfg/mysql-5.5/*.cnf
|
||||
/cfg/mysql-5.6/*.cnf
|
||||
|
16
.travis.yml
16
.travis.yml
@ -200,15 +200,23 @@ env:
|
||||
- S1=PHP V1=php-fpm-7.1 S2=PGSQL V2=9.6
|
||||
- S1=PHP V1=php-fpm-7.2 S2=PGSQL V2=9.6
|
||||
- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.6
|
||||
# PHP vs PgSQL 10.0
|
||||
- S1=PHP V1=php-fpm-5.4 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=php-fpm-5.5 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=php-fpm-5.6 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=php-fpm-7.0 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=php-fpm-7.1 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=php-fpm-7.2 S2=PGSQL V2=10.0
|
||||
- S1=PHP V1=hhvm-latest S2=PGSQL V2=10.0
|
||||
|
||||
|
||||
###
|
||||
### Build Matrix definition
|
||||
###
|
||||
matrix:
|
||||
allow_failures:
|
||||
- env: S1=PHP V1=hhvm-latest S2=HTTPD V2=apache-2.2
|
||||
|
||||
#matrix:
|
||||
# allow_failures:
|
||||
# - env: S1=PHP V1=hhvm-latest S2=HTTPD V2=apache-2.2
|
||||
#
|
||||
|
||||
###
|
||||
### Berfore Install
|
||||
|
46
README.md
46
README.md
@ -77,8 +77,8 @@ Every single attachable container comes with many different versions. In order t
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a target="_blank" title="Apache 2.2" href="https://github.com/cytopia/docker-apache-2.2">2.2</a></td>
|
||||
<td><a target="_blank" title="Nginx stable" href="https://github.com/cytopia/docker-nginx-stable">stable</a></td>
|
||||
<td><a target="_blank" title="Apache 2.2" href="https://github.com/devilbox/docker-apache-2.2">2.2</a></td>
|
||||
<td><a target="_blank" title="Nginx stable" href="https://github.com/devilbox/docker-nginx-stable">stable</a></td>
|
||||
<td><a target="_blank" title="PHP 5.4" href="https://github.com/cytopia/docker-php-fpm-5.4">5.4</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.5" href="https://github.com/cytopia/docker-mysql-5.5">5.5</a></td>
|
||||
<td><a target="_blank" title="MariaDB 5.5" href="https://github.com/cytopia/docker-mariadb-5.5">5.5</a></td>
|
||||
@ -89,8 +89,8 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="MongoDB 2.8" href="https://github.com/docker-library/mongo">2.8</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" title="Apache 2.4" href="https://github.com/cytopia/docker-apache-2.4">2.4</a></td>
|
||||
<td><a target="_blank" title="Nginx mainline" href="https://github.com/cytopia/docker-nginx-mainline">mainline</a></td>
|
||||
<td><a target="_blank" title="Apache 2.4" href="https://github.com/devilbox/docker-apache-2.4">2.4</a></td>
|
||||
<td><a target="_blank" title="Nginx mainline" href="https://github.com/devilbox/docker-nginx-mainline">mainline</a></td>
|
||||
<td><a target="_blank" title="PHP 5.5" href="https://github.com/cytopia/docker-php-fpm-5.5">5.5</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.6" href="https://github.com/cytopia/docker-mysql-5.6">5.6</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.0" href="https://github.com/cytopia/docker-mariadb-10.0">10.0</a></td>
|
||||
@ -120,7 +120,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="MariaDB 10.2" href="https://github.com/cytopia/docker-mariadb-10.2">10.2</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 9.4" href="https://github.com/docker-library/postgres">9.4</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="Redis 4.0" href="https://github.com/docker-library/redis">4.0</a></td>
|
||||
<td><a target="_blank" title="Memcached 1.4.23" href="https://github.com/docker-library/memcached">1.4.24</a></td>
|
||||
<td><a target="_blank" title="MongoDB 3.4" href="https://github.com/docker-library/mongo">3.4</a></td>
|
||||
</tr>
|
||||
@ -145,7 +145,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 9.6" href="https://github.com/docker-library/postgres">9.6</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="Memcached latest" href="https://github.com/docker-library/memcached">1.4.36</a></td>
|
||||
<td><a target="_blank" title="Memcached 1.5.2" href="https://github.com/docker-library/memcached">1.5.2</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -155,7 +155,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 10.0" href="https://github.com/docker-library/postgres">10.0</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="Memcached latest" href="https://github.com/docker-library/memcached">latest</a></td>
|
||||
<td></td>
|
||||
@ -188,12 +188,12 @@ The devilbox has everything setup for you. The only thing you will have to insta
|
||||
#### Features
|
||||
|
||||
* **Mass virtual host**
|
||||
* **Custom domains** (`*.loc`, `*.local`, `*.dev`, `*.sub.loc`, ...)
|
||||
* **Custom domains** (`*.loc`, `*.local`, `*.dev`, `*.example.com`, ...)
|
||||
* **Auto-DNS** (Internal Bind server running)
|
||||
* **Email catch-all** (Internal postfix with catch-all)
|
||||
* **Log files** (available on host computer)
|
||||
* **Config overwrites** (`my.cnf`, `nginx.conf`, `httpd.conf` or `php.ini`)
|
||||
* **Custom PHP modules**
|
||||
* **Custom PHP modules** (can be loaded on the fly)
|
||||
* **Self-validation** (projects and configured options are validated and marked in the intranet)
|
||||
* **Xdebug**
|
||||
|
||||
@ -229,7 +229,7 @@ The devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
|
||||
> *apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib*
|
||||
|
||||
** Custom PHP Modules**
|
||||
**Custom PHP Modules**
|
||||
|
||||
You can also copy any custom modules into `mod/(php-fpm|hhvm)-<VERSION>` and add a custom `*.ini` file to load them. See [Custom PHP Modules](docs/Configure.md#425-custom-php-modules) in the Configuration documentation for how to do that in two simple steps.
|
||||
|
||||
@ -239,6 +239,7 @@ As far as tested there are no limitations and you can use any Framework or CMS j
|
||||
|
||||
[](https://cakephp.org)
|
||||
[](https://www.drupal.org)
|
||||
[](https://www.joomla.org)
|
||||
[](https://laravel.com)
|
||||
[](https://phalconphp.com)
|
||||
[](https://symfony.com)
|
||||
@ -351,12 +352,13 @@ The devilbox documentation consists of the following main sections.
|
||||
2. [Project setup](docs/Examples.md#2-project-setup)
|
||||
1. [Setup CakePHP](docs/Examples.md#21-setup-cakephp)
|
||||
2. [Setup Drupal](docs/Examples.md#22-setup-drupal)
|
||||
3. [Setup Laravel](docs/Examples.md#23-setup-laravel)
|
||||
4. [Setup Phalcon](docs/Examples.md#24-setup-phalcon)
|
||||
5. [Setup Symfony](docs/Examples.md#25-setup-symfony)
|
||||
6. [Setup Wordpress](docs/Examples.md#26-setup-wordpress)
|
||||
7. [Setup Yii](docs/Examples.md#27-setup-yii)
|
||||
8. [Setup Zend](docs/Examples.md#28-setup-zend)
|
||||
3. [Setup Joomla](docs/Examples.md#23-setup-joomla)
|
||||
4. [Setup Laravel](docs/Examples.md#24-setup-laravel)
|
||||
5. [Setup Phalcon](docs/Examples.md#25-setup-phalcon)
|
||||
6. [Setup Symfony](docs/Examples.md#26-setup-symfony)
|
||||
7. [Setup Wordpress](docs/Examples.md#27-setup-wordpress)
|
||||
8. [Setup Yii](docs/Examples.md#28-setup-yii)
|
||||
9. [Setup Zend](docs/Examples.md#29-setup-zend)
|
||||
3. [Code analysis](docs/Examples.md#3-code-analysis)
|
||||
1. [awesome-ci](docs/Examples.md#31-awesome-ci)
|
||||
2. [phpcs](docs/Examples.md#32-phpcs)
|
||||
@ -384,10 +386,10 @@ In order to make sure every combination works with each other, the devilbox inte
|
||||
|
||||
| DNS | Webserver | PHP |
|
||||
|-----|-----------|-----|
|
||||
| [](https://travis-ci.org/cytopia/docker-bind) [Bind](https://github.com/cytopia/docker-bind) | [](https://travis-ci.org/cytopia/docker-apache-2.2) [Apache 2.2](https://github.com/cytopia/docker-apache-2.2) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.4) [PHP 5.4](https://github.com/cytopia/docker-php-fpm-5.4) |
|
||||
| | [](https://travis-ci.org/cytopia/docker-apache-2.4) [Apache 2.4](https://github.com/cytopia/docker-apache-2.4) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.5) [PHP 5.5](https://github.com/cytopia/docker-php-fpm-5.5) |
|
||||
| | [](https://travis-ci.org/cytopia/docker-nginx-stable) [Nginx stable](https://github.com/cytopia/docker-nginx-stable) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.6) [PHP 5.6](https://github.com/cytopia/docker-php-fpm-5.6) |
|
||||
| | [](https://travis-ci.org/cytopia/docker-nginx-mainline) [Nginx mainline](https://github.com/cytopia/docker-nginx-mainline) | [](https://travis-ci.org/cytopia/docker-php-fpm-7.0) [PHP 7.0](https://github.com/cytopia/docker-php-fpm-7.0) |
|
||||
| [](https://travis-ci.org/cytopia/docker-bind) [Bind](https://github.com/cytopia/docker-bind) | [](https://travis-ci.org/devilbox/docker-apache-2.2) [Apache 2.2](https://github.com/devilbox/docker-apache-2.2) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.4) [PHP 5.4](https://github.com/cytopia/docker-php-fpm-5.4) |
|
||||
| | [](https://travis-ci.org/devilbox/docker-apache-2.4) [Apache 2.4](https://github.com/devilbox/docker-apache-2.4) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.5) [PHP 5.5](https://github.com/cytopia/docker-php-fpm-5.5) |
|
||||
| | [](https://travis-ci.org/devilbox/docker-nginx-stable) [Nginx stable](https://github.com/devilbox/docker-nginx-stable) | [](https://travis-ci.org/cytopia/docker-php-fpm-5.6) [PHP 5.6](https://github.com/cytopia/docker-php-fpm-5.6) |
|
||||
| | [](https://travis-ci.org/devilbox/docker-nginx-mainline) [Nginx mainline](https://github.com/devilbox/docker-nginx-mainline) | [](https://travis-ci.org/cytopia/docker-php-fpm-7.0) [PHP 7.0](https://github.com/cytopia/docker-php-fpm-7.0) |
|
||||
| | | [](https://travis-ci.org/cytopia/docker-php-fpm-7.1) [PHP 7.1](https://github.com/cytopia/docker-php-fpm-7.1) |
|
||||
| | | [](https://travis-ci.org/cytopia/docker-php-fpm-7.2) [PHP 7.2](https://github.com/cytopia/docker-php-fpm-7.2)
|
||||
| | | [](https://travis-ci.org/cytopia/docker-hhvm-latest) [HHVM latest](https://github.com/cytopia/docker-hhvm-latest)
|
||||
@ -402,7 +404,7 @@ In order to make sure every combination works with each other, the devilbox inte
|
||||
| [](https://travis-ci.org/cytopia/docker-mysql-8.0) [MySQL 8.0](https://github.com/cytopia/docker-mysql-8.0) | [](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.4](https://hub.docker.com/_/postgres/) | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-5.5) [MariaDB 5.5](https://github.com/cytopia/docker-mariadb-5.5) | [](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.5](https://hub.docker.com/_/postgres/) | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-10.0) [MariaDB 10.0](https://github.com/cytopia/docker-mariadb-10.0) | [](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.6](https://hub.docker.com/_/postgres/) | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-10.1) [MariaDB 10.1](https://github.com/cytopia/docker-mariadb-10.1) | | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-10.1) [MariaDB 10.1](https://github.com/cytopia/docker-mariadb-10.1) | [](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 10.0](https://hub.docker.com/_/postgres/) | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-10.2) [MariaDB 10.2](https://github.com/cytopia/docker-mariadb-10.2) | | |
|
||||
| [](https://travis-ci.org/cytopia/docker-mariadb-10.3) [MariaDB 10.3](https://github.com/cytopia/docker-mariadb-10.3) | | |
|
||||
| [](https://travis-ci.org/cytopia/docker-percona-5.5) [PerconaDB 5.5](https://github.com/cytopia/docker-percona-5.5) | | |
|
||||
@ -416,7 +418,7 @@ In order to make sure every combination works with each other, the devilbox inte
|
||||
| Cassandra 2.1 | CouchDB 1.6 | [](https://travis-ci.org/docker-library/memcached) [latest](https://github.com/docker-library/memcached) | [](https://travis-ci.org/docker-library/mongo) [2.8](https://github.com/docker-library/mongo) | [](https://travis-ci.org/docker-library/redis) [2.8](https://github.com/docker-library/redis) |
|
||||
| Cassandra 2.2 | CouchDB 2.0 | | [](https://travis-ci.org/docker-library/mongo) [3.0](https://github.com/docker-library/mongo) | [](https://travis-ci.org/docker-library/redis) [3.0](https://github.com/docker-library/redis) |
|
||||
| Cassandra 3.0 | | | [](https://travis-ci.org/docker-library/mongo) [3.2](https://github.com/docker-library/mongo) | [](https://travis-ci.org/docker-library/redis) [3.2](https://github.com/docker-library/redis) |
|
||||
| | | | [](https://travis-ci.org/docker-library/mongo) [3.4](https://github.com/docker-library/mongo) | |
|
||||
| | | | [](https://travis-ci.org/docker-library/mongo) [3.4](https://github.com/docker-library/mongo) | [](https://travis-ci.org/docker-library/redis) [4.0](https://github.com/docker-library/redis) |
|
||||
| | | | [](https://travis-ci.org/docker-library/mongo) [3.5](https://github.com/docker-library/mongo) | |
|
||||
|
||||
<!--
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Devilbox user-defined settings
|
||||
|
||||
Use this folders to add your custom configuration.
|
||||
Use this folders to add general custom configuration.
|
||||
|
0
cfg/apache-2.2/.keepme
Normal file
0
cfg/apache-2.2/.keepme
Normal file
25
cfg/apache-2.2/devilbox-custom.conf-example
Normal file
25
cfg/apache-2.2/devilbox-custom.conf-example
Normal file
@ -0,0 +1,25 @@
|
||||
#
|
||||
# Apache 2.2 configuration overwrites
|
||||
#
|
||||
# Make sure this file ends by *.conf, otherwise
|
||||
# the configuration is not sourced by nginx.
|
||||
#
|
||||
# The below settings are just examples.
|
||||
# Copy them, remove them or reset them.
|
||||
#
|
||||
|
||||
AddDefaultCharset UTF-8
|
||||
|
||||
# No DNS
|
||||
HostnameLookups Off
|
||||
|
||||
Timeout 60
|
||||
KeepAlive On
|
||||
KeepAliveTimeout 10
|
||||
MaxKeepAliveRequests 100
|
||||
|
||||
EnableMMAP Off
|
||||
EnableSendfile Off
|
||||
|
||||
XSendFile On
|
||||
XSendFilePath /shared/httpd
|
0
cfg/apache-2.4/.keepme
Normal file
0
cfg/apache-2.4/.keepme
Normal file
25
cfg/apache-2.4/devilbox-custom.conf-example
Normal file
25
cfg/apache-2.4/devilbox-custom.conf-example
Normal file
@ -0,0 +1,25 @@
|
||||
#
|
||||
# Apache 2.4 configuration overwrites
|
||||
#
|
||||
# Make sure this file ends by *.conf, otherwise
|
||||
# the configuration is not sourced by nginx.
|
||||
#
|
||||
# The below settings are just examples.
|
||||
# Copy them, remove them or reset them.
|
||||
#
|
||||
|
||||
AddDefaultCharset UTF-8
|
||||
|
||||
# No DNS
|
||||
HostnameLookups Off
|
||||
|
||||
Timeout 60
|
||||
KeepAlive On
|
||||
KeepAliveTimeout 10
|
||||
MaxKeepAliveRequests 100
|
||||
|
||||
EnableMMAP Off
|
||||
EnableSendfile Off
|
||||
|
||||
XSendFile On
|
||||
XSendFilePath /shared/httpd
|
0
cfg/nginx-mainline/.keepme
Normal file
0
cfg/nginx-mainline/.keepme
Normal file
18
cfg/nginx-mainline/devilbox-custom.conf-example
Normal file
18
cfg/nginx-mainline/devilbox-custom.conf-example
Normal file
@ -0,0 +1,18 @@
|
||||
#
|
||||
# Nginx (mainline) configuration overwrites
|
||||
#
|
||||
# Make sure this file ends by *.conf, otherwise
|
||||
# the configuration is not sourced by nginx.
|
||||
#
|
||||
# The below settings are just examples.
|
||||
# Copy them, remove them or reset them.
|
||||
#
|
||||
|
||||
charset utf-8;
|
||||
|
||||
send_timeout 60;
|
||||
keepalive_timeout 10;
|
||||
|
||||
sendfile off;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
0
cfg/nginx-stable/.keepme
Normal file
0
cfg/nginx-stable/.keepme
Normal file
18
cfg/nginx-stable/devilbox-custom.conf-example
Normal file
18
cfg/nginx-stable/devilbox-custom.conf-example
Normal file
@ -0,0 +1,18 @@
|
||||
#
|
||||
# Nginx (stable) configuration overwrites
|
||||
#
|
||||
# Make sure this file ends by *.conf, otherwise
|
||||
# the configuration is not sourced by nginx.
|
||||
#
|
||||
# The below settings are just examples.
|
||||
# Copy them, remove them or reset them.
|
||||
#
|
||||
|
||||
charset utf-8;
|
||||
|
||||
send_timeout 60;
|
||||
keepalive_timeout 10;
|
||||
|
||||
sendfile off;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
@ -27,12 +27,11 @@ version: '2.1'
|
||||
################################################################################
|
||||
services:
|
||||
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# Bind (DNS Server)
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
bind:
|
||||
image: cytopia/bind:latest
|
||||
#image: cytopia/bind:0.10
|
||||
restart: always
|
||||
ports:
|
||||
# [local-machine:]local-port:docker-port
|
||||
@ -60,21 +59,23 @@ services:
|
||||
ipv4_address: 172.16.238.100
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# PHP-FPM
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# PHP / HHVM
|
||||
# ------------------------------------------------------------
|
||||
php:
|
||||
image: cytopia/${PHP_SERVER:-php-fpm-7.0}:latest
|
||||
#image: cytopia/${PHP_SERVER:-php-fpm-7.0}:0.11
|
||||
restart: always
|
||||
|
||||
# Manually build via `docker-compose build`
|
||||
#build:
|
||||
#context: https://github.com/cytopia/docker-${PHP_SERVER}.git#1
|
||||
# context: https://github.com/cytopia/docker-${PHP_SERVER}.git
|
||||
##
|
||||
## All .env variables
|
||||
##
|
||||
## Source all variables defined in .env
|
||||
## This also makes any custom variable available in each PHP/HHVM container
|
||||
##
|
||||
env_file:
|
||||
- ./.env
|
||||
|
||||
environment:
|
||||
|
||||
##
|
||||
## Debug?
|
||||
##
|
||||
@ -91,18 +92,6 @@ services:
|
||||
##
|
||||
- TIMEZONE
|
||||
|
||||
##
|
||||
## TLD SUffix
|
||||
##
|
||||
- TLD_SUFFIX=${TLD_SUFFIX:-loc}
|
||||
- DNS_CHECK_TIMEOUT=${DNS_CHECK_TIMEOUT:-1}
|
||||
|
||||
##
|
||||
## Password protect the devilbox Intranet
|
||||
##
|
||||
- DEVILBOX_UI_PROTECT=${DEVILBOX_UI_PROTECT:-0}
|
||||
- DEVILBOX_UI_PASSWORD=${DEVILBOX_UI_PASSWORD}
|
||||
|
||||
##
|
||||
## PHP Xdebug
|
||||
##
|
||||
@ -127,36 +116,6 @@ services:
|
||||
- MYSQL_BACKUP_PASS=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_BACKUP_HOST=mysql
|
||||
|
||||
##
|
||||
## Additional variables to announce to intranet/php-container
|
||||
##
|
||||
# Ports
|
||||
- LOCAL_LISTEN_ADDR
|
||||
- HOST_PORT_BIND
|
||||
- HOST_PORT_HTTPD
|
||||
- HOST_PORT_MYSQL
|
||||
- HOST_PORT_PGSQL
|
||||
- HOST_PORT_REDIS
|
||||
- HOST_PORT_MEMCD
|
||||
- HOST_PORT_MONGO
|
||||
# Data dir paths
|
||||
- HOST_PATH_HTTPD_DATADIR
|
||||
- HOST_PATH_MYSQL_DATADIR
|
||||
- HOST_PATH_PGSQL_DATADIR
|
||||
- HOST_PATH_MONGO_DATADIR
|
||||
# Database credentials
|
||||
- PGSQL_ROOT_USER
|
||||
- PGSQL_ROOT_PASSWORD
|
||||
- MYSQL_ROOT_PASSWORD
|
||||
# Selected Server versions
|
||||
- PHP_SERVER
|
||||
- HTTPD_SERVER
|
||||
- PGSQL_SERVER
|
||||
- MYSQL_SERVER
|
||||
- REDIS_SERVER
|
||||
- MEMCD_SERVER
|
||||
- MONGO_SERVER
|
||||
|
||||
networks:
|
||||
app_net:
|
||||
ipv4_address: 172.16.238.10
|
||||
@ -171,9 +130,11 @@ services:
|
||||
# HOST-DIRECTORY : DOCKER-DIRECTORY
|
||||
|
||||
# Mount custom intranet
|
||||
# (configured in /etc/${HTTPD_SERVER}/01-vhost-default.conf)
|
||||
- ${DEVILBOX_PATH}/.devilbox/www:/var/www/default:ro
|
||||
|
||||
# Mount custom mass virtual hosting
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd
|
||||
|
||||
# Mount logs
|
||||
- ${DEVILBOX_PATH}/log/${PHP_SERVER}:/var/log/php
|
||||
|
||||
@ -194,38 +155,51 @@ services:
|
||||
# Mount devilbox user-defined bash config
|
||||
- ${DEVILBOX_PATH}/bash:/etc/bashrc-devilbox.d
|
||||
|
||||
# Mount custom mass virtual hosting
|
||||
# (configured in /etc/${HTTPD_SERVER}/02-vhost-mass.conf)
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
|
||||
# ----------------------------------------
|
||||
# HTTPD
|
||||
# ----------------------------------------
|
||||
httpd:
|
||||
image: cytopia/${HTTPD_SERVER:-nginx-stable}:latest
|
||||
#image: cytopia/${HTTPD_SERVER:-nginx-stable}:0.9
|
||||
restart: always
|
||||
|
||||
# Manually build via `docker-compose build`
|
||||
#build:
|
||||
#context: https://github.com/cytopia/docker-${HTTPD_SERVER}.git#1
|
||||
# context: https://github.com/cytopia/docker-${HTTPD_SERVER}.git
|
||||
# ------------------------------------------------------------
|
||||
# Web Server
|
||||
# ------------------------------------------------------------
|
||||
httpd:
|
||||
image: devilbox/${HTTPD_SERVER:-nginx-stable}:0.12
|
||||
restart: always
|
||||
|
||||
environment:
|
||||
|
||||
##
|
||||
## Debug?
|
||||
##
|
||||
- DEBUG_COMPOSE_ENTRYPOINT
|
||||
- DEBUG_ENTRYPOINT=${DEBUG_COMPOSE_ENTRYPOINT}
|
||||
- DEBUG_RUNTIME=${DEBUG_COMPOSE_ENTRYPOINT}
|
||||
|
||||
##
|
||||
## Adjust timezone
|
||||
##
|
||||
- TIMEZONE
|
||||
|
||||
##
|
||||
## UserID and GroupID
|
||||
##
|
||||
- NEW_UID
|
||||
- NEW_GID
|
||||
|
||||
##
|
||||
## Disable default vhost?
|
||||
##
|
||||
- MAIN_VHOST_DISABLE=${DEVILBOX_UI_DISABLE}
|
||||
- MAIN_VHOST_STATUS_ENABLE=1
|
||||
- MAIN_VHOST_STATUS_ALIAS=/devilbox-httpd-status
|
||||
|
||||
##
|
||||
## Enable Mass Vhosts
|
||||
##
|
||||
- MASS_VHOST_ENABLE=1
|
||||
- MASS_VHOST_TLD=.${TLD_SUFFIX}
|
||||
- MASS_VHOST_DOCROOT=${HTTPD_DOCROOT_DIR}
|
||||
- MASS_VHOST_TPL=${HTTPD_TEMPLATE_DIR}
|
||||
|
||||
##
|
||||
## PHP-FPM Remote Server
|
||||
##
|
||||
@ -233,12 +207,6 @@ services:
|
||||
- PHP_FPM_SERVER_ADDR=php
|
||||
- PHP_FPM_SERVER_PORT=9000
|
||||
|
||||
## Tell the webserver to look into this directory
|
||||
## for additional configuration files.
|
||||
##
|
||||
## @see volumes:: - ./etc/${HTTPD_SERVER}:/etc/${HTTPD_SERVER}
|
||||
- CUSTOM_HTTPD_CONF_DIR=/etc/${HTTPD_SERVER}
|
||||
|
||||
ports:
|
||||
# ---- Format: ----
|
||||
# [HOST-ADDR : ] HOST-PORT : DOCKER-PORT
|
||||
@ -252,44 +220,28 @@ services:
|
||||
# ---- Format: ----
|
||||
# HOST-DIRECTORY : DOCKER-DIRECTORY
|
||||
|
||||
# Custom scripts/binaries required for httpd server vhost
|
||||
# configuration to work.
|
||||
# (configured in /etc/${HTTPD_SERVER}/02-vhost-mass.conf)
|
||||
- ${DEVILBOX_PATH}/.devilbox/bin/${HTTPD_SERVER}:/opt/bin:ro
|
||||
|
||||
# Mount user-defined httpd configuration files
|
||||
# @see environment::CUSTOM_HTTPD_CONF_DIR for how this
|
||||
# is added in httpd server
|
||||
- ${DEVILBOX_PATH}/.devilbox/etc/${HTTPD_SERVER}:/etc/${HTTPD_SERVER}:ro
|
||||
|
||||
# Mount custom intranet
|
||||
# (configured in /etc/${HTTPD_SERVER}/01-vhost-default.conf)
|
||||
- ${DEVILBOX_PATH}/.devilbox/www:/var/www/default:ro
|
||||
|
||||
# Mount user-defined httpd log
|
||||
# @see ./etc/${HTTPD_SERVER}/*.conf for log defines
|
||||
- ${DEVILBOX_PATH}/log/${HTTPD_SERVER}:/var/log/${HTTPD_SERVER}
|
||||
|
||||
# Mount custom mass virtual hosting
|
||||
# (configured in /etc/${HTTPD_SERVER}/02-vhost-mass.conf)
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd:ro
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd
|
||||
|
||||
# Mount custom web server config directory
|
||||
- ${DEVILBOX_PATH}/cfg/${HTTPD_SERVER}:/etc/httpd-custom.d
|
||||
|
||||
# Mount logs
|
||||
- ${DEVILBOX_PATH}/log/${HTTPD_SERVER}:/var/log/${HTTPD_SERVER}
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
- php
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# DATABASE
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# MySQL Database
|
||||
# ------------------------------------------------------------
|
||||
mysql:
|
||||
image: cytopia/${MYSQL_SERVER:-mariadb-10.1}:latest
|
||||
#image: cytopia/${MYSQL_SERVER:-mariadb-10.1}:0.9
|
||||
|
||||
# Manually build via `docker-compose build`
|
||||
#build:
|
||||
#context: https://github.com/cytopia/docker-${MYSQL_SERVER}.git#1
|
||||
# context: https://github.com/cytopia/docker-${MYSQL_SERVER}.git
|
||||
|
||||
environment:
|
||||
|
||||
@ -349,17 +301,12 @@ services:
|
||||
- httpd
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# POSTGRESQL
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# PostgreSQL
|
||||
# ------------------------------------------------------------
|
||||
pgsql:
|
||||
image: postgres:${PGSQL_SERVER:-9.6}
|
||||
|
||||
# Manually build via `docker-compose build`
|
||||
#build:
|
||||
#context: https://github.com/cytopia/docker-${MYSQL_SERVER}.git#1
|
||||
# context: https://github.com/cytopia/docker-${MYSQL_SERVER}.git
|
||||
|
||||
environment:
|
||||
|
||||
- POSTGRES_USER=${PGSQL_ROOT_USER}
|
||||
@ -390,9 +337,9 @@ services:
|
||||
- httpd
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# Redis
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
redis:
|
||||
image: redis:${REDIS_SERVER:-3.2}
|
||||
|
||||
@ -417,9 +364,9 @@ services:
|
||||
- httpd
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# Memcached
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
memcd:
|
||||
image: memcached:${MEMCD_SERVER:-latest}
|
||||
|
||||
@ -444,9 +391,9 @@ services:
|
||||
- httpd
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
# Mongo
|
||||
# ----------------------------------------
|
||||
# ------------------------------------------------------------
|
||||
# MongoDB
|
||||
# ------------------------------------------------------------
|
||||
mongo:
|
||||
image: mongo:${MONGO_SERVER:-latest}
|
||||
|
||||
|
@ -33,6 +33,7 @@ Configure |
|
||||
3. [Project settings](#3-project-settings)
|
||||
1. [Project domain](#31-project-domain)
|
||||
2. [Project path](#32-project-path)
|
||||
3. [Project htdocs directory](#33-project-htdocs directory)
|
||||
4. [Container settings](#4-container-settings)
|
||||
1. [General](#41-general)
|
||||
1. [Timezone](#411-timezone)
|
||||
@ -45,9 +46,11 @@ Configure |
|
||||
4. [HHVM](#424-hhvm)
|
||||
5. [Custom PHP modules](#425-custom-php-modules)
|
||||
6. [Customize bash and other tools](#426-customize-bash-and-other-tools)
|
||||
7. [Custom environment variables](#427-custom-environment-variables)
|
||||
3. [Apache / Nginx](#43-apache--nginx)
|
||||
1. [Select Httpd version](#431-select-httpd-version)
|
||||
2. [Host port](#432-host-port)
|
||||
3. [Customize the vhost configuration](#433-customize-the-vhost-configuration)
|
||||
4. [MySQL](#44-mysql)
|
||||
1. [Select MySQL version](#441-select-mysql-version)
|
||||
2. [Root password](#442-root-password)
|
||||
@ -77,6 +80,7 @@ Configure |
|
||||
5. [Intranet settings](#5-intranet-settings)
|
||||
1. [DNS check timeout](#51-dns-check-timeout)
|
||||
2. [Password protection](#52-password-protection)
|
||||
3. [Disable Intranet](#53-disable-intranet)
|
||||
6. [Host computer](#6-host-computer)
|
||||
1. [/etc/hosts](#61-etchosts)
|
||||
2. [Auto-DNS](#62-auto-dns)
|
||||
@ -111,30 +115,38 @@ You can get more information here:
|
||||
|
||||
Inside the devilbox root directory you will find a folder called `cfg/`. This will contain subdirectories in the form of `<SERVICE>-<VERSION>`. Those folders will be mounted into the appropriate location into the respective docker container in order to overwrite service configuration.
|
||||
|
||||
Currently only MySQL/MariaDB and PHP/HHVM overrides are supported.
|
||||
Currently only MySQL/MariaDB, PHP/HHVM and Apache/Nginx overrides are supported.
|
||||
|
||||
The folder structure looks like this:
|
||||
```
|
||||
cfg/
|
||||
apache-2.2/
|
||||
apache-2.4/
|
||||
nginx-mainline/
|
||||
nginx-stable/
|
||||
|
||||
hhvm-latest/
|
||||
mariadb-10.0/
|
||||
mariadb-10.1/
|
||||
mariadb-10.2/
|
||||
mariadb-10.3/
|
||||
mariadb-5.5/
|
||||
mysql-5.5/
|
||||
mysql-5.6/
|
||||
mysql-5.7/
|
||||
mysql-8.0/
|
||||
percona-5.5/
|
||||
percona-5.6/
|
||||
percona-5.7/
|
||||
php-fpm-5.4/
|
||||
php-fpm-5.5/
|
||||
php-fpm-5.6/
|
||||
php-fpm-7.0/
|
||||
php-fpm-7.1/
|
||||
php-fpm-7.2/
|
||||
|
||||
mariadb-5.5/
|
||||
mariadb-10.0/
|
||||
mariadb-10.1/
|
||||
mariadb-10.2/
|
||||
mariadb-10.3/
|
||||
|
||||
mysql-5.5/
|
||||
mysql-5.6/
|
||||
mysql-5.7/
|
||||
mysql-8.0/
|
||||
|
||||
percona-5.5/
|
||||
percona-5.6/
|
||||
percona-5.7/
|
||||
```
|
||||
|
||||
Each of the folders will contain an example file in the following format:
|
||||
@ -146,6 +158,7 @@ Only files which have the correct file extensions will be read, all others such
|
||||
|
||||
* Valid PHP config extension: `.ini`
|
||||
* Valid MySQL config extension: `.cnf`
|
||||
* Valid Httpd config extension: `.conf`
|
||||
|
||||
#### 1.3 The devilbox `mod/` directory
|
||||
|
||||
@ -292,6 +305,23 @@ $ docker-compose rm -f
|
||||
$ docker-compose up -d
|
||||
```
|
||||
|
||||
#### 3.3 Project htdocs directory
|
||||
|
||||
| `.env` file variable name | Default | Note |
|
||||
|---------------------------|---------|------|
|
||||
| HTTPD_DOCROOT_DIR | `htdocs` | A sub directory inside your project directory from which the web server will serve your files.<br/>The full path to the docuement root would be: `${HOST_PATH_HTTPD_DATADIR}/<project-name>/${HTTPD_DOCROOT_DIR}` |
|
||||
|
||||
If you rather would use a directory called `www`, just change it to this. Be aware that this will affect all your projects.
|
||||
|
||||
**Note:** When changing this value, you must restart the devilbox.
|
||||
|
||||
```shell
|
||||
# Stop the container
|
||||
$ docker-compose stop
|
||||
|
||||
# Start your stack
|
||||
$ docker-compose up -d
|
||||
```
|
||||
|
||||
## 4. Container settings
|
||||
|
||||
@ -329,7 +359,6 @@ $ id
|
||||
|
||||
**Note:** If your Host computers user id and the containers user id do not match, files will have different access rights inside and outside which might result in permission errors like `access denied`. So make sure to set this value.
|
||||
|
||||
**Note:** Files created by the webserver such as uploads, tmp and cache files are still created by the webservers user id and you will probably have to `chmod` them. This issues will be addressed shortly and you will also be able to change the uid/gid of the webserver in the next devilbox release.
|
||||
|
||||
##### 4.1.2 Group id
|
||||
|
||||
@ -499,6 +528,20 @@ alias vim='vim -u /etc/bashrc-devilbox.d/my-vimrc'
|
||||
|
||||
The next time you open `vim` within the PHP/HHVM docker container, it will automatically source your `my-vimrc`.
|
||||
|
||||
##### 4.2.7 Custom environment variables
|
||||
|
||||
If you projects require custom environment variables to be available to PHP or HHVM, you can simply add any variable to the `.env` file. All of them are automatically available to the container.
|
||||
|
||||
If your application requires are variable to determine if it is run under development or production, for example: `APPLICATION_ENV`, you can just add this to the `.env` file:
|
||||
|
||||
```
|
||||
$ cat .env
|
||||
|
||||
...
|
||||
APPLICATION_ENV=1
|
||||
```
|
||||
|
||||
|
||||
#### 4.3 Apache / Nginx
|
||||
|
||||
##### 4.3.1 Select Httpd version
|
||||
@ -522,6 +565,17 @@ By default the webserver will listen on port 80 (on your Host computer). You can
|
||||
|
||||
If you also want to change the listening address (default: 127.0.0.1) to something else, see above or search this document for `LOCAL_LISTEN_ADDRESS`.
|
||||
|
||||
##### 4.3.3 Customize the vhost configuration
|
||||
|
||||
| `.env` file variable name | Default | Note |
|
||||
|---------------------------|---------|------|
|
||||
| HTTPD_TEMPLATE_DIR | `.devilbox`| A sub directory inside your project directory where the web server will look for web server templates in order to load a custom configuration for this specific project. |
|
||||
|
||||
If no such directory exists or no templates are available, the chosen web server will use the standard configuration for this virtual host. You can however overwrite each virtual host with custom settings by adding **[vhost-gen](https://github.com/devilbox/vhost-gen)** templates.
|
||||
|
||||
Copy all available templates from [vhost-gen templates directory](https://github.com/devilbox/vhost-gen/tree/master/etc/templates) to a a sub directory in your projects dir (By default `.devilbox/`) and adjust those template files to your needs.
|
||||
|
||||
|
||||
#### 4.4 MySQL
|
||||
|
||||
##### 4.4.1 Select MySQL version
|
||||
@ -873,6 +927,14 @@ If you wish, you can password-protect the devilbox intranet (not the vhost proje
|
||||
> However, the devilbox intranet might give away too much information, what other people should not see, such as databases or others.
|
||||
> In that case, you should enable password protection.
|
||||
|
||||
#### 5.3 Disable Intranet
|
||||
|
||||
| `.env` file variable name | Default | Note |
|
||||
|---------------------------|---------|------|
|
||||
| DEVILBOX_UI_DISABLE | `0` | Enable or disable devilbox's Intranet completely. |
|
||||
|
||||
If you wish, you can disable the built-in intranet completely. Set this variable to `1` which will remove the vhost that servers the Intranet. All that will be left are your custom project based virtual hosts.
|
||||
|
||||
|
||||
## 6. Host computer
|
||||
|
||||
|
128
docs/Examples.md
128
docs/Examples.md
@ -24,12 +24,13 @@ Examples |
|
||||
2. [Project setup](#2-project-setup)
|
||||
1. [Setup CakePHP](#21-setup-cakephp)
|
||||
2. [Setup Drupal](#22-setup-drupal)
|
||||
3. [Setup Laravel](#23-setup-laravel)
|
||||
4. [Setup Phalcon](#24-setup-phalcon)
|
||||
5. [Setup Symfony](#25-setup-symfony)
|
||||
6. [Setup Wordpress](#26-setup-wordpress)
|
||||
7. [Setup Yii](#27-setup-yii)
|
||||
8. [Setup Zend](#28-setup-zend)
|
||||
3. [Setup Joomla](#23-setup-joomla)
|
||||
4. [Setup Laravel](#24-setup-laravel)
|
||||
5. [Setup Phalcon](#25-setup-phalcon)
|
||||
6. [Setup Symfony](#26-setup-symfony)
|
||||
7. [Setup Wordpress](#27-setup-wordpress)
|
||||
8. [Setup Yii](#28-setup-yii)
|
||||
9. [Setup Zend](#29-setup-zend)
|
||||
3. [Code analysis](#3-code-analysis)
|
||||
1. [awesome-ci](#31-awesome-ci)
|
||||
2. [phpcs](#32-phpcs)
|
||||
@ -96,19 +97,19 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-cake
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-cake
|
||||
|
||||
# 3. Install CakePHP via composer
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-cake
|
||||
devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist cakephp/app cakephp
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-cake $ composer create-project --prefer-dist cakephp/app cakephp
|
||||
|
||||
# 4. Symlink webroot directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s cakephp/webroot/ htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-cake $ ln -s cakephp/webroot/ htdocs
|
||||
|
||||
# 5. Add MySQL datbase
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_cake;'
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-cake $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_cake;'
|
||||
|
||||
# 6. Configure datbase connection
|
||||
devilbox@php-7.0.20 in /shared/httpd $ vi cakephp/config/app.php
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-cake $ vi cakephp/config/app.php
|
||||
```
|
||||
```php
|
||||
<?php
|
||||
@ -169,13 +170,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-drupal
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-drupal
|
||||
|
||||
# 3. Install Drupal via drush
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-drupal
|
||||
devilbox@php-7.0.20 in /shared/httpd $ drush dl drupal
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-drupal $ drush dl drupal
|
||||
|
||||
# 4. Symlink Drupal directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s drupal-8.3.3 htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-drupal $ ln -s drupal-8.3.3 htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
@ -191,8 +192,55 @@ Open your browser at http://my-drupal.loc and follow the Drupal installation ste
|
||||
|
||||
**Note:** For MySQL host choose `127.0.0.1`.
|
||||
|
||||
#### 2.3 Setup Joomla
|
||||
|
||||
#### 2.3 Setup Laravel
|
||||
> **[Official Joomla Documentation](https://docs.joomla.org/J3.x:Installing_Joomla)**
|
||||
|
||||
The following configuration will be used:
|
||||
|
||||
| Project name | VirtualHost directory | Database | TLD_SUFFIX | Url |
|
||||
|--------------|-----------------------|------------|------------|-----|
|
||||
| my-joomla | /shared/httpd/my-joomla | - | loc | http://my-joomla.loc |
|
||||
|
||||
It will be ready in six simple steps:
|
||||
|
||||
1. Enter the PHP container
|
||||
2. Create a new VirtualHost directory
|
||||
3. Download and extract Joomla
|
||||
4. Symlink public directory
|
||||
5. Setup DNS record
|
||||
6. Visit http://my-joomla.loc in your browser
|
||||
|
||||
```shell
|
||||
# 1. Enter the PHP container
|
||||
host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-joomla
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-joomla
|
||||
|
||||
# 3. Download and extract Joomla
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-joomla $ wget -O joomla.tar.gz https://downloads.joomla.org/cms/joomla3/3-8-0/joomla_3-8-0-stable-full_package-tar-gz?format=gz
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-joomla $ mkdir joomla/
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-joomla $ tar xvfz joomla.tar.gz -C joomla/
|
||||
|
||||
|
||||
# 4. Symlink Joomla directory
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-joomla $ ln -s joomla htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
|
||||
If you do not have auto-DNS configured, you will need to add the following line to your Host computer's `/etc/hosts`:
|
||||
```shell
|
||||
127.0.0.1 my-joomla.loc
|
||||
```
|
||||
|
||||
**6. Open your browser**
|
||||
|
||||
Open your browser at http://my-joomla.loc
|
||||
|
||||
#### 2.4 Setup Laravel
|
||||
|
||||
> **[Official Laravel Documentation](https://laravel.com/docs/5.4/installation)**
|
||||
|
||||
@ -217,13 +265,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-laravel
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-laravel
|
||||
|
||||
# 3. Install Laravel via laravel
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-laravel
|
||||
devilbox@php-7.0.20 in /shared/httpd $ laravel new laravel-project
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ laravel new laravel-project
|
||||
|
||||
# 4. Symlink public directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s laravel-project/public htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ ln -s laravel-project/public htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
@ -238,7 +286,7 @@ If you do not have auto-DNS configured, you will need to add the following line
|
||||
Open your browser at http://my-laravel.loc
|
||||
|
||||
|
||||
#### 2.4 Setup Phalcon
|
||||
#### 2.5 Setup Phalcon
|
||||
|
||||
> **[Official Phalcon Documentation](https://docs.phalconphp.com/en/3.2/devtools-usage)**
|
||||
|
||||
@ -263,13 +311,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-phalcon
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-phalcon
|
||||
|
||||
# 3. Install Phalcon via phalcon
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-phalcon
|
||||
devilbox@php-7.0.20 in /shared/httpd $ phalcon project phalconphp
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-phalcon $ phalcon project phalconphp
|
||||
|
||||
# 4. Symlink public directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s phalconphp/public htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-phalcon $ ln -s phalconphp/public htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
@ -284,7 +332,7 @@ If you do not have auto-DNS configured, you will need to add the following line
|
||||
Open your browser at http://my-phalcon.loc
|
||||
|
||||
|
||||
#### 2.5 Setup Symfony
|
||||
#### 2.6 Setup Symfony
|
||||
|
||||
> **[Official Symfony Documentation](https://symfony.com/doc/current/setup.html)**
|
||||
|
||||
@ -310,17 +358,17 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-symfony
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-symfony
|
||||
|
||||
# 3. Install Symfony via symfony
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-symfony
|
||||
devilbox@php-7.0.20 in /shared/httpd $ symfony new symfony
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-symfony $ symfony new symfony
|
||||
|
||||
# 4. Symlink web directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s symfony/web htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-symfony $ ln -s symfony/web htdocs
|
||||
|
||||
# 5. Enable Symfony production (app.php)
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd symfony/web
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s app.php index.php
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-symfony $ cd symfony/web
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-symfony/symfony/web $ ln -s app.php index.php
|
||||
```
|
||||
|
||||
**6. DNS record**
|
||||
@ -335,7 +383,7 @@ If you do not have auto-DNS configured, you will need to add the following line
|
||||
Open your browser at http://my-symfony.loc
|
||||
|
||||
|
||||
#### 2.6 Setup Wordpress
|
||||
#### 2.7 Setup Wordpress
|
||||
|
||||
> **[Official Wordpress Documentation](https://codex.wordpress.org/Installing_WordPress)**
|
||||
|
||||
@ -360,13 +408,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-wp
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-wp
|
||||
|
||||
# 3. Download Wordpress via git
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-wp
|
||||
devilbox@php-7.0.20 in /shared/httpd $ git clone https://github.com/WordPress/WordPress wordpress.git
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-wp $ git clone https://github.com/WordPress/WordPress wordpress.git
|
||||
|
||||
# 4. Symlink wordpress git directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s wordpress.git htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-wp $ ln -s wordpress.git htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
@ -381,7 +429,7 @@ If you do not have auto-DNS configured, you will need to add the following line
|
||||
Open your browser at http://my-wp.loc
|
||||
|
||||
|
||||
#### 2.7 Setup Yii
|
||||
#### 2.8 Setup Yii
|
||||
|
||||
> **[Official Yii Documentation](http://www.yiiframework.com/doc-2.0/guide-start-installation.html)**
|
||||
|
||||
@ -406,13 +454,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-yii
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-yii
|
||||
|
||||
# 3. Install Yii2 via composer
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-yii
|
||||
devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic yii2-dev
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-yii $ composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic yii2-dev
|
||||
|
||||
# 4. Symlink web directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s yii2-dev/web htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-yii $ ln -s yii2-dev/web htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
@ -427,7 +475,7 @@ If you do not have auto-DNS configured, you will need to add the following line
|
||||
Open your browser at http://my-yii.loc
|
||||
|
||||
|
||||
#### 2.8 Setup Zend
|
||||
#### 2.9 Setup Zend
|
||||
|
||||
> **[Official Zend Documentation](https://docs.zendframework.com/tutorials/getting-started/skeleton-application/)**
|
||||
|
||||
@ -452,13 +500,13 @@ host> ./shell.sh
|
||||
|
||||
# 2. Create a new VirtualHost directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-zend
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-zend
|
||||
|
||||
# 3. Install Zendframework via composer
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-zend
|
||||
devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist zendframework/skeleton-application zend
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-zend $ composer create-project --prefer-dist zendframework/skeleton-application zend
|
||||
|
||||
# 4. Symlink public directory
|
||||
devilbox@php-7.0.20 in /shared/httpd $ ln -s zend/public htdocs
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-zend $ ln -s zend/public htdocs
|
||||
```
|
||||
|
||||
**5. DNS record**
|
||||
|
17
docs/FAQ.md
17
docs/FAQ.md
@ -40,6 +40,7 @@ FAQ
|
||||
3. **[Usage](#3-usage)**
|
||||
- [Does it work with CakePHP?](#does-it-work-with-cakephp)
|
||||
- [Does it work with Drupal?](#does-it-work-with-drupal)
|
||||
- [Does it work with Joomla?](#does-it-work-with-joomla)
|
||||
- [Does it work with Laravel?](#does-it-work-with-laravel)
|
||||
- [Does it work with PhalconPHP?](#does-it-work-with-phalconphp)
|
||||
- [Does it work with Symfony?](#does-it-work-with-symfony)
|
||||
@ -160,29 +161,33 @@ Yes, see **[How to setup CakePHP](Examples.md#21-setup-cakephp)**.
|
||||
|
||||
Yes, see **[How to setup Drupal](Examples.md#22-setup-drupal)**.
|
||||
|
||||
#### Does it work with Joomla?
|
||||
|
||||
Yes, see **[How to setup Joomla](Examples.md#23-setup-joomla)**.
|
||||
|
||||
#### Does it work with Laravel?
|
||||
|
||||
Yes, see **[How to setup Laravel](Examples.md#23-setup-laravel)**.
|
||||
Yes, see **[How to setup Laravel](Examples.md#24-setup-laravel)**.
|
||||
|
||||
#### Does it work with PhalconPHP?
|
||||
|
||||
Yes, see **[How to setup Phalcon](Examples.md#24-setup-phalcon)**.
|
||||
Yes, see **[How to setup Phalcon](Examples.md#25-setup-phalcon)**.
|
||||
|
||||
#### Does it work with Symfony?
|
||||
|
||||
Yes, see **[How to setup Symfony](Examples.md#25-setup-symfony)**.
|
||||
Yes, see **[How to setup Symfony](Examples.md#26-setup-symfony)**.
|
||||
|
||||
#### Does it work with Wordpress?
|
||||
|
||||
Yes, see **[How to setup Wordpress](Examples.md#26-setup-wordpress)**.
|
||||
Yes, see **[How to setup Wordpress](Examples.md#27-setup-wordpress)**.
|
||||
|
||||
#### Does it work with Yii?
|
||||
|
||||
Yes, see **[How to setup Yii](Examples.md#27-setup-yii)**.
|
||||
Yes, see **[How to setup Yii](Examples.md#28-setup-yii)**.
|
||||
|
||||
#### Does it work with Zend Framework?
|
||||
|
||||
Yes, see **[How to setup Zend](Examples.md#28-setup-zend)**.
|
||||
Yes, see **[How to setup Zend](Examples.md#29-setup-zend)**.
|
||||
|
||||
|
||||
## 4. Troubleshooting
|
||||
|
@ -191,12 +191,13 @@ To quickly find setup instructions for your framework of choice head over to **[
|
||||
> 2. [Project setup](Examples.md#2-project-setup)
|
||||
> 1. [Setup CakePHP](Examples.md#21-setup-cakephp)
|
||||
> 2. [Setup Drupal](Examples.md#22-setup-drupal)
|
||||
> 3. [Setup Laravel](Examples.md#23-setup-laravel)
|
||||
> 4. [Setup Phalcon](Examples.md#24-setup-phalcon)
|
||||
> 5. [Setup Symfony](Examples.md#25-setup-symfony)
|
||||
> 6. [Setup Wordpress](Examples.md#26-setup-wordpress)
|
||||
> 7. [Setup Yii](Examples.md#27-setup-yii)
|
||||
> 8. [Setup Zend](Examples.md#28-setup-zend)
|
||||
> 3. [Setup Joomla](Examples.md#23-setup-joomla)
|
||||
> 4. [Setup Laravel](Examples.md#24-setup-laravel)
|
||||
> 5. [Setup Phalcon](Examples.md#25-setup-phalcon)
|
||||
> 6. [Setup Symfony](Examples.md#26-setup-symfony)
|
||||
> 7. [Setup Wordpress](Examples.md#27-setup-wordpress)
|
||||
> 8. [Setup Yii](Examples.md#28-setup-yii)
|
||||
> 9. [Setup Zend](Examples.md#29-setup-zend)
|
||||
|
||||
|
||||
## 6. Enter the PHP Docker container
|
||||
|
BIN
docs/img/logos/joomla.png
Normal file
BIN
docs/img/logos/joomla.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.9 KiB |
106
env-example
106
env-example
@ -8,6 +8,8 @@
|
||||
###
|
||||
### No need to rebuild any dockers!
|
||||
###
|
||||
### For custom variables, scroll to the bottom
|
||||
###
|
||||
|
||||
|
||||
###
|
||||
@ -16,7 +18,7 @@
|
||||
###
|
||||
### 1: Yes
|
||||
### 0: No
|
||||
DEBUG_COMPOSE_ENTRYPOINT=0
|
||||
DEBUG_COMPOSE_ENTRYPOINT=1
|
||||
|
||||
|
||||
###
|
||||
@ -49,7 +51,7 @@ DEVILBOX_PATH=.
|
||||
### b.) If an IP is specified, note the trailing colon ':'
|
||||
### LOCAL_LISTEN_ADDR=127.0.0.1:
|
||||
###
|
||||
LOCAL_LISTEN_ADDR=127.0.0.1:
|
||||
LOCAL_LISTEN_ADDR=
|
||||
|
||||
|
||||
###
|
||||
@ -70,20 +72,6 @@ LOCAL_LISTEN_ADDR=127.0.0.1:
|
||||
TLD_SUFFIX=loc
|
||||
|
||||
|
||||
###
|
||||
### TLD_SUFFIX domains are checked if they are set in the
|
||||
### host computer /etc/hosts or available via attached DNS server.
|
||||
### Timeout is done on vhosts.php (intranet) via ajax calls.
|
||||
### In order to keep performance, set this to a low value.
|
||||
### DNS checks might not succeed in time on slow machines.
|
||||
### If DNS is valid, but timeout is expired, set this to a higher value.
|
||||
###
|
||||
### DNS_CHECK_TIMEOUT value is how many seconds to time out
|
||||
### Default is to timeout after 1 second (DNS_CHECK_TIMEOUT=1)
|
||||
###
|
||||
DNS_CHECK_TIMEOUT=1
|
||||
|
||||
|
||||
###
|
||||
### Set your user id and group id
|
||||
###
|
||||
@ -102,6 +90,28 @@ NEW_GID=1000
|
||||
TIMEZONE=Europe/Berlin
|
||||
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
###
|
||||
### INTRANET SETTINGS
|
||||
###
|
||||
################################################################################
|
||||
|
||||
###
|
||||
### TLD_SUFFIX domains are checked if they are set in the
|
||||
### host computer /etc/hosts or available via attached DNS server.
|
||||
### Timeout is done on vhosts.php (intranet) via ajax calls.
|
||||
### In order to keep performance, set this to a low value.
|
||||
### DNS checks might not succeed in time on slow machines.
|
||||
### If DNS is valid, but timeout is expired, set this to a higher value.
|
||||
###
|
||||
### DNS_CHECK_TIMEOUT value is how many seconds to time out
|
||||
### Default is to timeout after 1 second (DNS_CHECK_TIMEOUT=1)
|
||||
###
|
||||
DNS_CHECK_TIMEOUT=1
|
||||
|
||||
|
||||
###
|
||||
### Devilbox UI Password protection enable/disable (1/0)
|
||||
###
|
||||
@ -132,6 +142,16 @@ DEVILBOX_UI_PROTECT=0
|
||||
DEVILBOX_UI_PASSWORD=password
|
||||
|
||||
|
||||
###
|
||||
### Disable the Devilbox Intranet?
|
||||
###
|
||||
### Example:
|
||||
### DEVILBOX_UI_PROTECT=1
|
||||
### DEVILBOX_UI_PROTECT=0
|
||||
###
|
||||
DEVILBOX_UI_DISABLE=0
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
###
|
||||
@ -192,6 +212,7 @@ MYSQL_SERVER=mariadb-10.1
|
||||
#PGSQL_SERVER=9.4
|
||||
#PGSQL_SERVER=9.5
|
||||
PGSQL_SERVER=9.6
|
||||
#PGSQL_SERVER=10.0
|
||||
|
||||
|
||||
###
|
||||
@ -199,13 +220,14 @@ PGSQL_SERVER=9.6
|
||||
###
|
||||
#REDIS_SERVER=2.8
|
||||
#REDIS_SERVER=3.0
|
||||
REDIS_SERVER=3.2
|
||||
#REDIS_SERVER=3.2
|
||||
REDIS_SERVER=4.0
|
||||
|
||||
|
||||
###
|
||||
### 1.6 Choose Memcached Server Image
|
||||
###
|
||||
MEMCD_SERVER=1.4.21
|
||||
#MEMCD_SERVER=1.4.21
|
||||
#MEMCD_SERVER=1.4.22
|
||||
#MEMCD_SERVER=1.4.23
|
||||
#MEMCD_SERVER=1.4.24
|
||||
@ -221,6 +243,12 @@ MEMCD_SERVER=1.4.21
|
||||
#MEMCD_SERVER=1.4.34
|
||||
#MEMCD_SERVER=1.4.35
|
||||
#MEMCD_SERVER=1.4.36
|
||||
#MEMCD_SERVER=1.4.37
|
||||
#MEMCD_SERVER=1.4.38
|
||||
#MEMCD_SERVER=1.4.39
|
||||
#MEMCD_SERVER=1.5.0
|
||||
#MEMCD_SERVER=1.5.1
|
||||
MEMCD_SERVER=1.5.2
|
||||
#MEMCD_SERVER=latest
|
||||
|
||||
|
||||
@ -351,6 +379,26 @@ PHP_XDEBUG_REMOTE_HOST=192.168.0.215
|
||||
###
|
||||
HOST_PORT_HTTPD=80
|
||||
|
||||
###
|
||||
### Document Root Subdirectory
|
||||
###
|
||||
### In your project directory, which subfolder should
|
||||
### serve your files?
|
||||
###
|
||||
### When changing this value, restart the devilbox.
|
||||
###
|
||||
HTTPD_DOCROOT_DIR=htdocs
|
||||
|
||||
###
|
||||
### Per vHost Config Subdirectory
|
||||
###
|
||||
### In your project directory, which subfolder should
|
||||
### hold apache, nginx templates for a customized vhost?
|
||||
###
|
||||
### When changing this value, restart the devilbox.
|
||||
###
|
||||
HTTPD_TEMPLATE_DIR=.devilbox
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
@ -460,3 +508,25 @@ HOST_PORT_BIND=1053
|
||||
### You can also add DNS servers from your LAN (if any are available)
|
||||
###
|
||||
BIND_DNS_RESOLVER=8.8.8.8,8.8.4.4
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
###
|
||||
### 11. Custom variables
|
||||
###
|
||||
################################################################################
|
||||
|
||||
###
|
||||
### Any variable defined in this file will be available
|
||||
### as environment variables to your PHP/HHV Docker container.
|
||||
###
|
||||
### This might be useful to set application environment and retriev
|
||||
### them via: <?php getenv('MY_APPLICATION_ENV'); ?>
|
||||
###
|
||||
|
||||
###
|
||||
### Example:
|
||||
### <?php echo getenv('Foo');?> would produce: 'some value'
|
||||
###
|
||||
#Foo=some value
|
||||
|
@ -33,10 +33,10 @@ docker pull cytopia/hhvm-latest:${TAG}
|
||||
### HTTPD
|
||||
###
|
||||
TAG="$( grep '^[[:space:]]*image:.*\${HTTPD_SERVER' "${CWD}/docker-compose.yml" | sed 's/^.*://g' )"
|
||||
docker pull cytopia/nginx-stable:${TAG}
|
||||
docker pull cytopia/nginx-mainline:${TAG}
|
||||
docker pull cytopia/apache-2.2:${TAG}
|
||||
docker pull cytopia/apache-2.4:${TAG}
|
||||
docker pull devilbox/nginx-stable:${TAG}
|
||||
docker pull devilbox/nginx-mainline:${TAG}
|
||||
docker pull devilbox/apache-2.2:${TAG}
|
||||
docker pull devilbox/apache-2.4:${TAG}
|
||||
|
||||
###
|
||||
### MYSQL
|
||||
|
Loading…
x
Reference in New Issue
Block a user