Skip to content
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>ISPCOnfig 3 remote API documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="definitionen.css">
<style type="text/css">
</style></head>
<body>
<div style="padding:40px">
<h1>mail_relay_domain_add(<span class="var">$session_id</span>, <span class="var">$client_id</span>, <span class="var">$params</span>);</h1>
<br>
<p class="headgrp">Description: </p>
<p class="margin"> Adds a new relay domain.</p><br>
<p class="headgrp">Input Variables: </p>
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$client_id</span>, <span class="var">$params</span></p>
<p class="headgrp">Parameters (in <span class="var">$params</span>): </p>
<p class="margin"> server_id&nbsp;&nbsp;(<span class="paratype">int(11)</span>)</p>
<p class="margin"> source&nbsp;&nbsp;(<span class="paratype">varchar(255)</span>)</p>
<p class="margin"> active&nbsp;&nbsp;(<span class="paratype">enum('n','y')</span>)</p>
<p class="margin"> access&nbsp;&nbsp;(<span class="paratype">varchar(255)</span>)</p>
<p class="headgrp">Output: </p>
<p class="margin"> Returns the ID of the newly added record</p>
<!--<b>Output:</b>
<p style="margin-left:100px">Gives a record of </p> -->
</div>
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>ISPCOnfig 3 remote API documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="definitionen.css">
<style type="text/css">
</style></head>
<body>
<div style="padding:40px">
<h1>mail_domain_delete(<span class="var">$session_id</span>, <span class="var">$primary_id</span>);</h1>
<br>
<p class="headgrp">Description: </p>
<p class="margin"> Deletes a mail domain.</p><br>
<p class="headgrp">Input Variables: </p>
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$primary_id</span></p>
<p class="headgrp">Parameters (in <span class="var">$params</span>): </p>
<p class="margin">None</p>
<p class="headgrp">Output: </p>
<p class="margin"> Returns the number of deleted records.</p>
<!--<b>Output:</b>
<p style="margin-left:100px">Gives a record of </p> -->
</div>
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>ISPCOnfig 3 remote API documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="definitionen.css">
<style type="text/css">
</style></head>
<body>
<div style="padding:40px">
<h1>mail_relay_domain_get(<span class="var">$session_id</span>, <span class="var">$primary_id</span>);</h1>
<br>
<p class="headgrp">Description: </p>
<p class="margin"> Retrieves information about a relay domain.</p><br>
<p class="headgrp">Input Variables: </p>
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$primary_id</span></p>
<p class="headgrp">Parameters (in <span class="var">$params</span>): </p>
<p class="margin"> None</p>
<p class="headgrp">Output: </p>
<p class="margin"> Returns all fields and values of the chosen relay domain.</p>
<!--<b>Output:</b>
<p style="margin-left:100px">Gives a record of </p> -->
</div>
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>ISPCOnfig 3 remote API documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="definitionen.css">
<style type="text/css">
</style></head>
<body>
<div style="padding:40px">
<h1>mail_relay_domain_update(<span class="var">$session_id</span>, <span class="var">$client_id</span>, <span class="var">$primary_id</span>, <span class="var">$params</span>);</h1>
<br>
<b>Description: </b>
<p class="margin"> Updates a relay domain.</p><br>
<b>Input Variables: </b>
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$client_id</span>, <span class="var">$primary_id</span>, <span class="var">$params</span></p>
<b>Parameters (in <span class="var">$params</span>): </b>
<p class="margin"> server_id&nbsp;&nbsp;(<span class="paratype">int(11)</span>)</p>
<p class="margin"> source&nbsp;&nbsp;(<span class="paratype">varchar(255)</span>)</p>
<p class="margin"> active&nbsp;&nbsp;(<span class="paratype">enum('n','y')</span>)</p>
<p class="margin"> access&nbsp;&nbsp;(<span class="paratype">varchar(255)</span>)</p>
<b>Output: </b>
<p class="margin"> Returns the number of affected rows.</p>
<!--<b>Output:</b>
<p style="margin-left:100px">Gives a record of </p> -->
</div>
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>ISPCOnfig 3 remote API documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="definitionen.css">
<style type="text/css">
</style></head>
<body>
<div style="padding:40px">
<h1>mail_user_get_all_by_client(<span class="var">$session_id</span>, <span class="var">$client_id</span>);</h1>
<br>
<p class="headgrp">Description: </p>
<p class="margin"> Retrieves information about the mail users belonging to a client.</p><br>
<p class="headgrp">Input Variables: </p>
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$primary_id</span></p>
<p class="headgrp">Parameters (in <span class="var">$params</span>): </p>
<p class="margin"> None</p>
<p class="headgrp">Output: </p>
<p class="margin"> Returns all fields and values of the chosen mail users.</p>
<!--<b>Output:</b>
<p style="margin-left:100px">Gives a record of </p> -->
</div>
</body></html>
<?php
require 'soap_config.php';
$client = new SoapClient(null, array('location' => $soap_location,
'uri' => $soap_uri,
'trace' => 1,
'exceptions' => 1));
try {
if($session_id = $client->login($username, $password)) {
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}
//* Set the function parameters.
$client_id = 1;
$params = array(
'server_id' => 1,
'domain' => 'test.tld',
'active' => 'y',
'access' => 'OK'
);
$relay_domain_id = $client->mail_relay_domain_add($session_id, $client_id, $params);
echo "Relay domain ID: ".$relay_domain_id."<br>";
if($client->logout($session_id)) {
echo 'Logged out.<br />';
}
} catch (SoapFault $e) {
echo $client->__getLastResponse();
die('SOAP Error: '.$e->getMessage());
}
?>
<?php
require 'soap_config.php';
$client = new SoapClient(null, array('location' => $soap_location,
'uri' => $soap_uri,
'trace' => 1,
'exceptions' => 1));
try {
if($session_id = $client->login($username, $password)) {
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}
//* Set the function parameters.
$mail_relay_domain_id = 3;
$affected_rows = $client->mail_relay_domain_delete($session_id, $mail_relay_domain_id);
echo "Number of records that have been deleted: ".$affected_rows."<br>";
if($client->logout($session_id)) {
echo 'Logged out.<br />';
}
} catch (SoapFault $e) {
echo $client->__getLastResponse();
die('SOAP Error: '.$e->getMessage());
}
?>
<?php
require 'soap_config.php';
$client = new SoapClient(null, array('location' => $soap_location,
'uri' => $soap_uri,
'trace' => 1,
'exceptions' => 1));
try {
if($session_id = $client->login($username, $password)) {
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}
//* Set the function parameters.
$relay_domain_id = 1;
// Lookup by primary key, gets back a single record.
$relay_domain = $client->mail_relay_domain_get($session_id, $relay_domain_id);
print_r($relay_domain);
if($client->logout($session_id)) {
echo 'Logged out.<br />';
}
} catch (SoapFault $e) {
echo $client->__getLastResponse();
die('SOAP Error: '.$e->getMessage());
}
?>
<?php
require 'soap_config.php';
$client = new SoapClient(null, array('location' => $soap_location,
'uri' => $soap_uri,
'trace' => 1,
'exceptions' => 1));
try {
if($session_id = $client->login($username, $password)) {
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}
//* Set the function parameters.
$client_id = 1;
$primary_id = 1;
$params = array(
'server_id' => 1,
'domain' => 'test.tld',
'active' => 'y',
'access' => 'OK'
);
$affected_rows = $client->mail_relay_domain_update($session_id, $client_id, $primary_id, $params);
echo "Affected Rows: ".$affected_rows."<br>";
if($client->logout($session_id)) {
echo 'Logged out.<br />';
}
} catch (SoapFault $e) {
echo $client->__getLastResponse();
die('SOAP Error: '.$e->getMessage());
}
?>
......@@ -17,9 +17,13 @@ try {
//* Set the function parameters.
$mailuser_id = 1;
$app = $client->mail_user_get($session_id, $mailuser_id);
// Lookup by primary key, gets back a single record.
$mail_user = $client->mail_user_get($session_id, $mailuser_id);
print_r($mail_user);
print_r($app);
// Lookup by pattern gives an array of records.
$mail_users_array = $client->mail_user_get($session_id, array('email' => '%@example.com'));
print_r($mail_user_array);
if($client->logout($session_id)) {
echo 'Logged out.<br />';
......
<?php
require 'soap_config.php';
$client = new SoapClient(null, array('location' => $soap_location,
'uri' => $soap_uri,
'trace' => 1,
'exceptions' => 1));
try {
if($session_id = $client->login($username, $password)) {
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}
//* Set the function parameters.
$client_id = 1;
$app = $client->mail_user_get_all_by_client($session_id, $client_id);
print_r($app);
if($client->logout($session_id)) {
echo 'Logged out.<br />';
}
} catch (SoapFault $e) {
echo $client->__getLastResponse();
die('SOAP Error: '.$e->getMessage());
}
?>
......@@ -9,10 +9,12 @@
<VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}>
ServerAdmin webmaster@localhost
{tmpl_var name='apps_vhost_servername'}
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
<Directory {tmpl_var name='apps_vhost_dir'}>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
# SSL Configuration
<tmpl_var name="ssl_comment">SSLEngine On
......@@ -96,7 +98,7 @@
DocumentRoot {tmpl_var name='apps_vhost_dir'}
SuexecUserGroup ispapps ispapps
<Directory {tmpl_var name='apps_vhost_dir'}>
Options +Indexes +FollowSymLinks +MultiViews +ExecCGI
Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
AllowOverride AuthConfig Indexes Limit Options FileInfo
<FilesMatch "\.php$">
SetHandler fcgid-script
......@@ -109,6 +111,8 @@
Allow from all
</tmpl_if>
</Directory>
IPCCommTimeout 7200
MaxRequestLen 15728640
</IfModule>
{tmpl_if name="use_rspamd"}
......
......@@ -17,4 +17,7 @@ pm.max_spare_servers = 5
chdir = /
; php_admin_value[open_basedir] = /var/www/apps:/srv/www/apps:/usr/share
php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
php_admin_flag[magic_quotes_gpc] = off
php_admin_value[post_max_size] = 100M
php_admin_value[upload_max_filesize] = 100M
......@@ -69,6 +69,16 @@ server {
<tmpl_if name='exclude_own_hostname'>if ($http_host != "<tmpl_var name='exclude_own_hostname'>") { </tmpl_if>rewrite ^<tmpl_var name='rewrite_exclude'>(.*)$ <tmpl_var name='rewrite_target'>$2 <tmpl_var name='rewrite_type'>;<tmpl_if name='exclude_own_hostname'> }</tmpl_if>
</tmpl_if>
<tmpl_if name='use_proxy'>
## no proxy for acme-challenge
location ^~ /.well-known/acme-challenge/ {
access_log off;
log_not_found off;
root /usr/local/ispconfig/interface/acme/;
autoindex off;
index index.html;
try_files $uri $uri/ =404;
}
location / {
proxy_pass <tmpl_var name='rewrite_target'>;
<tmpl_if name='rewrite_subdir'>rewrite ^/<tmpl_var name='rewrite_subdir'>(.*) /$1;</tmpl_if>
......
......@@ -3,7 +3,7 @@
# You can create and activate a per-user sieve script (manually or via managesieve),
# which will execute after this.
require ["fileinto", "mailbox", "regex", "date", "relational", "vacation", "imap4flags", "envelope", "subaddress", "copy", "reject"];
require ["body", "copy", "date", "envelope", "fileinto", "imap4flags", "mailbox", "regex", "reject", "relational", "subaddress", "vacation", "variables"];
<tmpl_if name="move_junk" op="==" value="y">
# Move spam to spam folder
......@@ -29,7 +29,7 @@ redirect :copy "<tmpl_var name='address'>";
# You can create and activate a per-user sieve script (manually or via managesieve),
# which will execute before this.
require ["fileinto", "mailbox", "regex", "date", "relational", "vacation", "imap4flags", "envelope", "subaddress", "copy", "reject"];
require ["body", "copy", "date", "envelope", "fileinto", "imap4flags", "mailbox", "regex", "reject", "relational", "subaddress", "vacation", "variables"];
<tmpl_if name="move_junk" op="==" value="a">
# Move spam to spam folder
......
......@@ -408,6 +408,13 @@
</tmpl_if>
<tmpl_if name='use_tcp'>
#ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:<tmpl_var name='fpm_port'><tmpl_var name='web_document_root'>/$1
<Directory {tmpl_var name='web_document_root_www'}>
<FilesMatch "\.php[345]?$">
<If "-f '%{REQUEST_FILENAME}'">
SetHandler "proxy:fcgi://127.0.0.1:<tmpl_var name='fpm_port'>"
</If>
</FilesMatch>
</Directory>
<Directory {tmpl_var name='web_document_root'}>
<FilesMatch "\.php[345]?$">
<If "-f '%{REQUEST_FILENAME}'">
......@@ -418,6 +425,13 @@
</tmpl_if>
<tmpl_if name='use_socket'>
#ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ unix://<tmpl_var name='fpm_socket'>|fcgi://localhost/<tmpl_var name='web_document_root'>/$1
<Directory {tmpl_var name='web_document_root_www'}>
<FilesMatch "\.php[345]?$">
<If "-f '%{REQUEST_FILENAME}'">
SetHandler "proxy:unix:<tmpl_var name='fpm_socket'>|fcgi://localhost"
</If>
</FilesMatch>
</Directory>
<Directory {tmpl_var name='web_document_root'}>
<FilesMatch "\.php[345]?$">
<If "-f '%{REQUEST_FILENAME}'">
......
......@@ -2,6 +2,8 @@
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
. /etc/profile
if [ -f /usr/local/ispconfig/server/lib/php.ini ]; then
PHPINIOWNER=`stat -c %U /usr/local/ispconfig/server/lib/php.ini`
if [ $PHPINIOWNER == 'root' ] || [ $PHPINIOWNER == 'ispconfig' ]; then
......
......@@ -36,6 +36,11 @@ if(isset($conf['timezone']) && $conf['timezone'] != '') { // note: !empty($conf[
date_default_timezone_set($conf['timezone']);
}
//* Set error reporting level when we are not on a developer system
if(DEVSYSTEM !== true) {
@ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING);
}
/**
* Class for defining (mostly static) methods that are commonly used across the whole application.
*
......
......@@ -384,7 +384,7 @@ class ApsInstaller extends ApsBase
if(is_dir($this->document_root)){
$files = array_diff(scandir($this->document_root), array('.', '..', 'error', 'stats'));
foreach($files as $file){
if(is_dir($this->document_root.'/'.$file)){
if(is_dir($this->document_root.'/'.$file) and !is_link($this->document_root.'/'.$file)){
$app->file->removeDirectory($this->document_root.'/'.$file);
} else {
@unlink($this->document_root.'/'.$file);
......
......@@ -1076,11 +1076,10 @@ class backup
{
global $app;
if ( ! is_dir($repos_path)) {
$dbt = debug_backtrace();
$dbt_info = $dbt[1]['file'] . ':' . $dbt[1]['line'];
$app->log("Unknown path " . var_export($repos_path, TRUE)
. ' called from ' . (function() {
$dbt = debug_backtrace();
return $dbt[1]['file'] . ':' . $dbt[1]['line'];
})(), LOGLEVEL_ERROR);
. ' called from ' . $dbt_info, LOGLEVEL_ERROR);
return FALSE;
}
switch ($backup_mode) {
......