If your website does not open, check if the web server services are functioning normally. Go to the ISPmanager control panel using the following link:
https://<your_server_IP>:1500/ispmgr or https://<your_server_IP>/manager/ispmgr or https://<your_server_IP>/ispmgr
In the ISPmanager control panel, go to the “Monitoring and logs” -> “Services” section. Check that “the lamps are on” next to the nginx (if available) and httpd services, otherwise select the required service and press the “Start” button .
If you cannot enable these services via ISPmanager, connect to the server via ssh and start the web server using the console commands shown in the table below.
Web Server Start Command
To StartApache WebServer
FreeBSD: /usr/local/etc/rc.d/apache22 start Debian/Ubuntu: systemctl start apache2 Centos: systemctl start httpd
To StartNginx WebServer
FreeBSD: /usr/local/etc/rc.d/nginx start Debian/Ubuntu/Centos: systemctl start nginx
Apache Web Server
When Apache is started, the following errors can occur, which will be displayed in the command line.
bad user name
apache2: bad user name usertest
This error means that the “usertest” (may be any other name) user does not exist, but this name is registered in Apache’s configuration file, in the SuexecUserGroup or AssignUserID directives. These directives contain information about the domain owner, and one of them is used depending on the Apache version:
Apache-mpm-ITK uses AssignUserID
Apache-mpm-Prefork uses SuexecUserGroup.
To find out your Apache version, execute the command:
apache2ctl -V | grep -i 'Server MPM'
or
apachectl -V | grep -i 'Server MPM'
In the directive that corresponds to your Apache version, enter an existing user or comment-out the lines adding the # symbol to the start of the line. Below is an example of Apache configuration file, if you have decided to comment-out the lines, the # symbol has to be placed in the beginning of each line in the VirtualHost block.
<VirtualHost 127.0.0.1:80 > ServerName domain.com CustomLog /var/www/httpd-logs/1.rootina.ispvds.com.access.log combined DocumentRoot /var/www/user/data/www/1.rootina.ispvds.com ErrorLog /var/www/httpd-logs/domain.com.error.log ServerAdmin webmaster@domain.com ServerAlias www.domain.com SuexecUserGroup usertest user AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml AddType application/x-httpd-php-source .phps php_admin_value open_basedir "/var/www/user/data:." php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@domain.com" php_admin_value upload_tmp_dir "/var/www/user/data/mod-tmp" php_admin_value session.save_path "/var/www/user/data/mod-tmp" </VirtualHost>
Restart the web server after the changes have been made.
Syntax error
Syntax error on line 310 of /etc/apache2/apache2.conf: Invalid command 'helpers', perhaps misspelled or defined by a module not included in the server configuration
This message indicates a syntax error that has been made in the given file and the given command. Open the file containing the error, in this example it is /etc/apache2/apache2.conf, but in your case it can be any other file used by Apache. Find the line with the error in the file (in the example it is line 310) and the misspelled command (in the example it is “helpers”). Correct the error, or comment out the line adding the # symbol to its beginning.
Invalid command 'php_admin_value', perhaps misspelled or defined by a module not included in the server configuration
Check if PHP has been installed on the server, using the following command:
php -v
If the result is positive, you will get the following response:
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Then check if the PHP module has been connected to the Apache web server, using the following commands:
Command |
Response |
FreeBSD |
|
grep -R -i "LoadModule php5_module" /usr/local/etc/apache22/ |
# grep -R -i "LoadModule php5_module" /usr/local/etc/apache22/ /usr/local/etc/apache22/httpd.conf:LoadModule php5_module libexec/apache22/libphp5.so |
Debian\Ubuntu |
|
grep -R -i "LoadModule php5_module" /etc/apache2/ |
# grep -R -i "LoadModule php5_module" /etc/apache2/ /etc/apache2/mods-available/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so /etc/apache2/mods-enabled/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so |
Centos |
|
grep -R -i "LoadModule php5_module" /etc/httpd/ |
# grep -R -i "LoadModule php5_module" /etc/httpd/ /etc/httpd/conf.d/php.conf.rpmsave: LoadModule php5_module modules/libphp5.so /etc/httpd/conf.d/php.conf.rpmsave: LoadModule php5_module modules/libphp5-zts.so /etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5.so /etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5-zts.so /etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5.so |
For Debian\Ubuntu OS: the PHP module will be enabled only if it is situated in the directory shown in bold characters in the table above. For Centos OS: check that the PHP module has been added in the /etc/httpd/conf.d/php.conf file for your Apache version. In the case of Apache-Prefork, the entry will be written as:
<IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule>
In the case of Apache-ITK:
<IfModule itk.c> LoadModule php5_module modules/libphp5.so </IfModule>
If you get the following response after executing the command:
/usr/local/etc/apache22/httpd.conf:#LoadModule php5_module
it means that the PHP module is added, but the line is commented-out. Go to the file indicated in the response (in this case it is /usr/local/etc/apache22/httpd.conf) and remove the # symbol.
If PHP has not been installed on the web server, install it using the commands shown below.
Operating System | Command |
FreeBSD | cd /usr/ports/www/mod_php55; make install clean |
Debian\Ubuntu | apt-get install libapache2-mod-php5 |
For Centos OS, the PHP module does not need to be installed separately. Check if there is the PHP library on the server, using this command:
ls /etc/httpd/modules/libphp5.so
If the system’s answer is positive, you will get the following response:
# ls /etc/httpd/modules/libphp5.so /etc/httpd/modules/libphp5.so
This means that the library exists, and you need to set up the /etc/httpd/conf.d/php.conf file as described above.
If there is no PHP library on the server, install PHP using this command:
yum install php
Note that if PHP is already installed, and you perform this command anyway, it can result in installing a new PHP version!
Restart the Apache web server after the changes have been made.
Server reached MaxClients setting
server reached MaxClients setting, consider raising the MaxClients setting
The error is that the limit of concurrent connections to the server has been exceeded (the website is being loaded by more users than allowed in the configuration file). Change this limit in a corresponding file.
For FreeBSD this is
/usr/local/etc/apache22/extra/httpd-mpm.conf
For Debian/Ubuntu this is
/etc/apache2/apache2.conf
Apache Version | <IfModule mpm_itk_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients <RequiredValue> MaxRequestsPerChild 0 </IfModule> |
Apache Prefork | <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients <RequiredValue> MaxRequestsPerChild 0 </IfModule> |
For Centos this is
/etc/httpd/conf/httpd.conf
Apache Version | <IfModule itk.c> StartServers 8 MinSpareServers 8 MaxSpareServers 10 MaxClients <RequiredValue> MaxRequestsPerChild 1000 </IfModule> |
Apache Prefork | <IfModule prefork.c > StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients <RequiredValue> MaxRequestsPerChild 0 </IfModule> |
The optimal <RequiredValue> of the MaxClients parameter is calculated according to the formula:
MaxClients=(M-30%)/H,
where М is the server’s RAM capacity, and Н is the memory required by the httpd service.
For example, let httpd occupy 35 Mb, while RAM is 2 Gb (М=2Gb=2048Mb). Then, by the formula, (2048-30%)/35=40.96~41. MaxClients=41 is the optimal value that guarantees normal functioning of the server.
Restart the Apache web server after the changes have been made.
Out of memory
Fatal error: Out of memory
This error occurs if the server does not have enough RAM to load the site. You can decrease the MaxClients value as described above, but this is one of the possible reasons for lack of memory. A detailed analysis of the reason causing this error to occur is required.
Nginx Web Server
When Nginx is started, the following errors may occur and be displayed in the console.
Restarting nginx: nginx: [emerg] unknown directive "Basic" in /etc/nginx/nginx.conf:13 nginx: configuration file /etc/nginx/nginx.conf test failed
Unknown directive
The error occurs if an unknown directive is found in the configuration file. The file path is shown in the error message, in this example it is /etc/nginx/nginx.conf. Go to this directory, open nginx.conf and correct the error or comment-out the line. In this example you have to find line 13 of the given file, find the unknown “Basic” directive in it, and correct the error. To comment-out the line, place the # symbol in the beginning of it.
Could not build the server_names_hash
nginx: [emerg] could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size:64
If such an error has occurred, you have to decrease the domain name length or the number of server names, because these figures are limited by the parameter values. You can also increase the values of these parameters:
server_names_hash_bucket_size 128; server_names_hash_max_size 1024;
IP is not available(bind() to failed)
nginx: [emerg] bind() to 128.11.11.11:80 failed (49: Can't assign requested address)
This error means that the IP address specified in the configuration file is unrouteable. In this example it is 128.11.11.11, which actually does not exist in any interface of the server. Go to the Nginx configuration file (/etc/nginx/nginx.conf), find the “server” section, and correct the bad IP address. If a domain with such an address has not been found in nginx.conf, create the domain via the ISPmanager panel.