ISPmanager Web-server configuration

Supported software

Currently, ISPmanager supports the following servers:

  • Nginx 1.1.15 and later
  • Apache 2.2
  • Microsoft IIS.

Differences from the previous settings

  1. Information about the web-domain settings is saved in the ISPmanager internal base. I.e. the changes made to the configuration files manually will be lost when changing parameters from the control panel, if the settings made manually conflict with those configured in the control panel. Those changes will be saved when editing a domain, if possible.
  2. Settings of each web-domain are located in a separate file. The files are located in directories based on the domain owner name.
  3. Access to directories (diraccess) is specified in the web-server configuration file into file containing corresponding web-domain settings (.htaccess was used in the previous version)
  4. PHP can be used through both Apache and Nginx (php-fpm is used). As now you can use php without Apache, using Apache and Nginx may not start the Apache server, if the request can be processed by Nginx.
  5. You can use multiple IP addresses for web-domain.
  6. Activating SSL in the Nginx settings will create a separate "server" section
  7. logrotate is used for rotating logs and errors

Web server settings

The following parameters are used regardles of the type of your web-server

path php-cgi <full path>
Path to the executable file php-cgi
path php_open_basedir <list of pasths spaces separated>
The open_basedir value for php that will be used for web-domains. You can use the macros __home__ to add into the lince the path to user home directory
WebDefaultAliases <list of aliases>
List of aliases that will be available to users when ordering a web-domain. You may use the __name__ macros, to add the line into the name of the main domain.
BackendBind <ip address+port>
IP address where backend will be set up(the web-server to which the frontend server will send requests). If both Nginx and Apache backend are installed - Apache.
WebModules <list of module>
List of web-domains that are used
WebUser <name>
Username which privileges the web-server uses (you must specify the name, rather than uid)
WebGroup <name>
Group which privileges the web-server uses (you must specify the name, rather than gid)
WebRestartDelay <seconds>
Minimum time between server reboots

List of available encodings for the web-domain from the file etc/charset. Only utf-8 is specified by default.

Apache settings

When starting the panel, Apache modules are queried to define possible settings

if it is possible to work with CGI scripts
fastcgi_module or fcgid_module
if it is possible to use php as fastcgi
if it is possible to work with php as Apache module

If CGI is supported the the file specified in path php-cgi, you will be able to use php as CGI

Following is a list of parameters used for customizing the control panel:

Option ApacheITK
is added if Apache ITK is used. AssignUserID is specified instead of the SuexecUserGroup directive
path apachectl <name>
Path to the program/script that is used for Apach restart. It must process the following parameters: -M (get a list of modules), graceful (soft reboot), restart (hard reboot, which is used when adding/deleting IP addresses)
path apache-vhosts <directory>
Directory where files with web-domain settings will be created
path apache.conf <path>
Path to the Apache main configuration file, where Listen and NameVirtualHost will be specified
ApacheWidePorts <list of ports>
For specifying ports in Apache Listen will be added for all IP address of the server. By default: 80 443. This will enable to decrease the number of hard reboots of Apache.

Nginx settings

When starting the panel, php-fpm is checked. If it is found, php as fastcgi can be used in web-domain settings.

Following is a list of parameters that are used for customizing the control panel:

path nginx-vhosts <directory>
directory where files with web-domain settings will be cretaed
path nginx-vhosts-includes <list of directories>
paths to files with additional settings that will be added into "server" for each domain (the Include direcrory is used)
path fpm-pool.d <directory>
name of directory where files with php-fpm settings will be created
path fpm-service <name>
Name of the php-fpm service. It is used for restart upon new user creation.
path nginx-static <regular expression>
is used for defining files that Nginx must sent.
path nginxctl <command>
Is used to restart Nginx when adding new web-domains. It must process the following parameters: reload (re-read the web-domain settings), restart (restart Nginx that is used for adding/deleting IP addresses), stop/start (restart Nginx is used for converting settings in case the web-domain is added/deleted)
path nginx <command>
is used for restarting the panel to check Nginx performance. It must process the -V parameter correctly
ForwardedSecret <line>
is used to prevent fake IP addresses


If you redirect requests from Nginx into the panel, we define a reverse address by the X-Forwarded-For HTTP header. Fraudulents will be able to change a reverse address using using that header enabling him to use COOKIE for sending requests as if it is another user. The panel will ignore X-Forwarded-For, еif the request does not contain X-Forwarded-Secret with the same value as specified in the configuration file.

Restart web-server

Web-server is restarted in 2 seconds after the last change of settings. If during that time more changes are made, the server will be restarted in 2 seconds. You can also specify the WebRestartDelay parameter that specifies the minimum period between web-server reboot.

If the changes are not applied to the list of IP addresses/ports, soft reboot of the web-server will be made. Otherwise, the whole server will reboot.

Logs rotation

The web-server logs are specified into the httpd-logs directory that is not available to users. In the user home directory the "logs" directory is created where hard links to access and error logs of the user web-domains are created. Besides, the old copies of logs are also saved into the the "logs" directory.

ISPmanager 5 uses logrotate for web-server logs rotation.

path logrotate.d <directory>
specifies a directory, where logrotate will be saved (separate file for each web-domain)

Logs analyzer

In theory, ISPmanager can work with any logs analyzers. The following analyzers are currently supported:

  • awstats
  • webalizer
path analyzer.d <directory>
Directory where scripts for log analysis are saved (separate files for each web-domain)

When installing the analyzer, the following section will be specified in the configuration file of the control panel:

Analyzer awstats {
  ConfPath /etc/awstats/awstats.__NAME__.conf
  BinPath /usr/lib/cgi-bin/
  Lang en
  Lang ru
path where the analyzer settings for a certain web-domain will be saved.
path to the executable file
supported languages. The Analyzer section may contain any number of such lines.

When activating the analyzer the corresponding script template from the etc/template directory (the file name matches the analyzer name) is taken. All the macros will be placed there (a complete list of macros can be found when enabling debug for the web module) and is paste into analyzer.d. The configuration will be created as well. From etc/template a corresponding .conf file will be taken. All the macros will be changed, and it will be saved into the file specified in ConfPath (__NAME__ is changed into the web-domain's name).

The script that you will receive will be called from logrotate each time logs rotation is running. If you select a rotation period, the script execution will be added into a cron job.


Was this answer helpful?

 Print this Article

Also Read

Mail configuration

General information Mail services in ISPmanager 5 are managed are by both POP3-server Dovecot...

Applications (ISPmanager)

In this module you can manage a wide range of server applications available to you and...

Logs rotation

How logs rotation works By default for logs rotation ISPmanager 5 uses...


Srvmon Service monitoring is provided by the Srvmon program. The program is normally located in...

Backup archives

In this module you can use a list of archives that were stored during the backup process. You can...