django-orchestra/orchestra/contrib/webapps/settings.py

218 lines
6.5 KiB
Python
Raw Normal View History

2014-05-08 16:59:35 +00:00
from django.conf import settings
from orchestra.settings import ORCHESTRA_BASE_DOMAIN
2014-05-08 16:59:35 +00:00
2015-04-16 13:15:21 +00:00
WEBAPPS_BASE_DIR = getattr(settings, 'WEBAPPS_BASE_DIR',
'%(home)s/webapps/%(app_name)s'
)
2014-05-08 16:59:35 +00:00
WEBAPPS_FPM_LISTEN = getattr(settings, 'WEBAPPS_FPM_LISTEN',
# '127.0.0.1:9%(app_id)03d
'/opt/php/5.4/socks/%(user)s-%(app_name)s.sock'
)
2015-04-16 13:15:21 +00:00
2015-04-09 14:32:10 +00:00
WEBAPPS_FPM_DEFAULT_MAX_CHILDREN = getattr(settings, 'WEBAPPS_FPM_DEFAULT_MAX_CHILDREN',
3
)
WEBAPPS_PHPFPM_POOL_PATH = getattr(settings, 'WEBAPPS_PHPFPM_POOL_PATH',
2015-04-16 13:15:21 +00:00
'/etc/php5/fpm/pool.d/%(user)s-%(app_name)s.conf'
)
WEBAPPS_FCGID_WRAPPER_PATH = getattr(settings, 'WEBAPPS_FCGID_WRAPPER_PATH',
# Inside SuExec Document root
2015-04-14 14:29:22 +00:00
# Make sure all account wrappers are in the same DIR
'/home/httpd/fcgi-bin.d/%(user)s/%(app_name)s-wrapper'
)
2014-05-08 16:59:35 +00:00
WEBAPPS_FCGID_CMD_OPTIONS_PATH = getattr(settings, 'WEBAPPS_FCGID_CMD_OPTIONS_PATH',
# Loaded by Apache
'/etc/apache2/fcgid-conf/%(user)s-%(app_name)s.conf'
)
2015-04-02 16:14:55 +00:00
# Greater or equal to your FcgidMaxRequestsPerProcess
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#examples
WEBAPPS_PHP_MAX_REQUESTS = getattr(settings, 'WEBAPPS_PHP_MAX_REQUESTS',
400
)
WEBAPPS_PHP_ERROR_LOG_PATH = getattr(settings, 'WEBAPPS_PHP_ERROR_LOG_PATH',
''
)
2015-03-12 14:05:23 +00:00
WEBAPPS_MERGE_PHP_WEBAPPS = getattr(settings, 'WEBAPPS_MERGE_PHP_WEBAPPS',
# Combine all fcgid-wrappers/fpm-pools into one per account-php_version
# to better control num processes per account and save memory
False)
2015-03-04 21:06:16 +00:00
WEBAPPS_TYPES = getattr(settings, 'WEBAPPS_TYPES', (
2015-04-05 10:46:24 +00:00
'orchestra.contrib.webapps.types.php.PHPApp',
'orchestra.contrib.webapps.types.misc.StaticApp',
'orchestra.contrib.webapps.types.misc.WebalizerApp',
'orchestra.contrib.webapps.types.misc.SymbolicLinkApp',
'orchestra.contrib.webapps.types.wordpress.WordPressApp',
2015-04-16 13:15:21 +00:00
'orchestra.contrib.webapps.types.python.PythonApp',
))
2015-03-12 14:05:23 +00:00
WEBAPPS_PHP_VERSIONS = getattr(settings, 'WEBAPPS_PHP_VERSIONS', (
# Execution modle choose by ending -fpm or -cgi
('5.4-fpm', 'PHP 5.4 FPM'),
('5.4-cgi', 'PHP 5.4 FCGID'),
('5.3-cgi', 'PHP 5.3 FCGID'),
('5.2-cgi', 'PHP 5.2 FCGID'),
('4-cgi', 'PHP 4 FCGID'),
2015-03-04 21:06:16 +00:00
))
2015-03-12 14:05:23 +00:00
WEBAPPS_DEFAULT_PHP_VERSION = getattr(settings, 'WEBAPPS_DEFAULT_PHP_VERSION',
'5.4-cgi'
)
WEBAPPS_PHP_CGI_BINARY_PATH = getattr(settings, 'WEBAPPS_PHP_CGI_BINARY_PATH',
# Path of the cgi binary used by fcgid
'/usr/bin/php%(php_version_number)s-cgi'
)
2015-03-12 14:05:23 +00:00
WEBAPPS_PHP_CGI_RC_DIR = getattr(settings, 'WEBAPPS_PHP_CGI_RC_DIR',
# Path to php.ini
'/etc/php%(php_version_number)s/cgi/'
)
2015-03-12 14:05:23 +00:00
WEBAPPS_PHP_CGI_INI_SCAN_DIR = getattr(settings, 'WEBAPPS_PHP_CGI_INI_SCAN_DIR',
# Path to php.ini
'/etc/php%(php_version_number)s/cgi/conf.d'
)
2015-04-16 13:15:21 +00:00
WEBAPPS_PYTHON_VERSIONS = getattr(settings, 'WEBAPPS_PYTHON_VERSIONS', (
('3.4-uwsgi', 'Python 3.4 uWSGI'),
('2.7-uwsgi', 'Python 2.7 uWSGI'),
))
WEBAPPS_DEFAULT_PYTHON_VERSION = getattr(settings, 'WEBAPPS_DEFAULT_PYTHON_VERSION',
'3.4-uwsgi'
)
WEBAPPS_UWSGI_SOCKET = getattr(settings, 'WEBAPPS_UWSGI_SOCKET',
'/var/run/uwsgi/app/%(app_name)s/socket'
)
WEBAPPS_PYTHON_MAX_REQUESTS = getattr(settings, 'WEBAPPS_PYTHON_MAX_REQUESTS',
500
)
WEBAPPS_PYTHON_DEFAULT_MAX_WORKERS = getattr(settings, 'WEBAPPS_PYTHON_DEFAULT_MAX_WORKERS',
3
)
WEBAPPS_PYTHON_DEFAULT_TIMEOUT = getattr(settings, 'WEBAPPS_PYTHON_DEFAULT_TIMEOUT',
30
)
WEBAPPS_UNDER_CONSTRUCTION_PATH = getattr(settings, 'WEBAPPS_UNDER_CONSTRUCTION_PATH',
# Server-side path where a under construction stock page is
# '/var/www/undercontruction/index.html',
''
)
2015-03-04 21:06:16 +00:00
#WEBAPPS_TYPES_OVERRIDE = getattr(settings, 'WEBAPPS_TYPES_OVERRIDE', {})
2015-04-02 16:14:55 +00:00
#for webapp_type, value in WEBAPPS_TYPES_OVERRIDE.items():
2015-03-04 21:06:16 +00:00
# if value is None:
# WEBAPPS_TYPES.pop(webapp_type, None)
# else:
# WEBAPPS_TYPES[webapp_type] = value
2014-10-30 16:34:02 +00:00
2015-04-10 15:03:38 +00:00
WEBAPPS_PHP_DISABLED_FUNCTIONS = getattr(settings, 'WEBAPPS_PHP_DISABLED_FUNCTION', [
'exec',
'passthru',
'shell_exec',
'system',
'proc_open',
'popen',
'curl_exec',
'curl_multi_exec',
'show_source',
'pcntl_exec',
'proc_close',
'proc_get_status',
'proc_nice',
'proc_terminate',
'ini_alter',
'virtual',
'openlog',
'escapeshellcmd',
'escapeshellarg',
'dl'
])
2015-03-04 21:06:16 +00:00
WEBAPPS_ENABLED_OPTIONS = getattr(settings, 'WEBAPPS_ENABLED_OPTIONS', (
2015-04-05 10:46:24 +00:00
'orchestra.contrib.webapps.options.PublicRoot',
'orchestra.contrib.webapps.options.Timeout',
'orchestra.contrib.webapps.options.Processes',
'orchestra.contrib.webapps.options.PHPEnableFunctions',
2015-04-05 10:46:24 +00:00
'orchestra.contrib.webapps.options.PHPAllowURLInclude',
'orchestra.contrib.webapps.options.PHPAllowURLFopen',
'orchestra.contrib.webapps.options.PHPAutoAppendFile',
'orchestra.contrib.webapps.options.PHPAutoPrependFile',
'orchestra.contrib.webapps.options.PHPDateTimeZone',
'orchestra.contrib.webapps.options.PHPDefaultSocketTimeout',
'orchestra.contrib.webapps.options.PHPDisplayErrors',
'orchestra.contrib.webapps.options.PHPExtension',
'orchestra.contrib.webapps.options.PHPMagicQuotesGPC',
'orchestra.contrib.webapps.options.PHPMagicQuotesRuntime',
'orchestra.contrib.webapps.options.PHPMaginQuotesSybase',
'orchestra.contrib.webapps.options.PHPMaxInputTime',
'orchestra.contrib.webapps.options.PHPMaxInputVars',
'orchestra.contrib.webapps.options.PHPMemoryLimit',
'orchestra.contrib.webapps.options.PHPMySQLConnectTimeout',
'orchestra.contrib.webapps.options.PHPOutputBuffering',
'orchestra.contrib.webapps.options.PHPRegisterGlobals',
'orchestra.contrib.webapps.options.PHPPostMaxSize',
'orchestra.contrib.webapps.options.PHPSendmailPath',
'orchestra.contrib.webapps.options.PHPSessionBugCompatWarn',
'orchestra.contrib.webapps.options.PHPSessionAutoStart',
'orchestra.contrib.webapps.options.PHPSafeMode',
'orchestra.contrib.webapps.options.PHPSuhosinPostMaxVars',
'orchestra.contrib.webapps.options.PHPSuhosinGetMaxVars',
'orchestra.contrib.webapps.options.PHPSuhosinRequestMaxVars',
'orchestra.contrib.webapps.options.PHPSuhosinSessionEncrypt',
'orchestra.contrib.webapps.options.PHPSuhosinSimulation',
'orchestra.contrib.webapps.options.PHPSuhosinExecutorIncludeWhitelist',
'orchestra.contrib.webapps.options.PHPUploadMaxFileSize',
'orchestra.contrib.webapps.options.PHPZendExtension',
2015-03-04 21:06:16 +00:00
))
2014-11-27 19:17:26 +00:00
2015-03-04 21:06:16 +00:00
WEBAPPS_DEFAULT_MYSQL_DATABASE_HOST = getattr(settings, 'WEBAPPS_DEFAULT_MYSQL_DATABASE_HOST',
'mysql.{}'.format(ORCHESTRA_BASE_DOMAIN)
)
2015-04-09 14:32:10 +00:00
WEBAPPS_MOVE_ON_DELETE_PATH = getattr(settings, 'WEBAPPS_MOVE_ON_DELETE_PATH',
''
)