Search Engine: Elastic

Article ID: 115791, created on Mar 24, 2013, last review on Jul 14, 2018

  • Applies to:
  • Operations Automation

Apache service configuration

Disclaimer: the article is applicable to the Standard Linux Shared Hosting service only, not to Linux Shared Hosting NG. Refer to the article for information about Linux Shared Hosting NG in POA.

The article describes the main points in the way how POA configures Apache service on Standard Linux Shared Hosting Service, the information may help in problems troubleshooting.

Apache configuration file

Apache on a POA-managed Linux Shared Hosting server does not use the default configuration file /etc/httpd/conf/httpd.conf, it uses the /usr/local/pem/etc/apache/httpd.conf_pem file which is managed by POA. Most of Apache configuration files on POA-managed hosting server are located in the /usr/local/pem/etc/apache/ folder.

When Apache starts it reads the main configration file /usr/local/pem/etc/apache/httpd.conf_pem and loads another configuration file listed in the INCLUDE directive in the main one: /usr/local/pem/etc/apache/httpd.conf_pem.common
The httpd.conf_pem.common file in turn loads the following files: /usr/local/pem/etc/apache/httpd.conf_pem.override

The /usr/local/pem/etc/apache/httpd.conf_pem.vhosts file loads configuration files of all customers' webspaces created on a server, file names are /usr/local/pem/vhosts/WEBSPACE_ID/webspace/conf/vhost.conf, where WEBSPACE_ID is the ID of a customer webspace, it may be found in POA Provider Control Panel at Service Director > Shared Hosting Manager > Websites or in Customer Control Panel on the Websites tab. E.g., the Apache configuration file in the customer's webspace #100101 is /usr/local/pem/vhosts/100101/webspace/conf/vhost.conf.

All Apache configuration files of all customers' webspaces must be listed in the /usr/local/pem/etc/apache/httpd.conf_pem.vhosts, POA creates entry in the file during new webspace creating. If vhost.conf of a particular webspace is missing in the httpd.conf_pem.vhosts Apache will not load it on start and as a result all customer's websites hosted in a webspace will not work.

Different SSL and non-SSL workers

Due to performance reasons Apache server on POA-managed hosts starts two separate sets of httpd daemons:

  • for HTTP access to websites
  • for HTTPS access to websites

It may be seen in the output of the 'ps' utility being run on POA-managed Linux Shared Hosting server:
# ps axf | grep httpd
4937   Ss   0:20 /usr/sbin/httpd -f /usr/local/pem/etc/apache/httpd.conf_pem
11548  S    0:00  \_ /usr/sbin/httpd -f /usr/local/pem/etc/apache/httpd.conf_pem
11559  S    0:00  \_ /usr/sbin/httpd -f /usr/local/pem/etc/apache/httpd.conf_pem
4952   Ss   0:25 /usr/sbin/httpd -DSSL_ONLY -f /usr/local/pem/etc/apache/httpd.conf_pem
11537  S    0:00  \_ /usr/sbin/httpd -DSSL_ONLY -f /usr/local/pem/etc/apache/httpd.conf_pem
11544  S    0:00  \_ /usr/sbin/httpd -DSSL_ONLY -f /usr/local/pem/etc/apache/httpd.conf_pem

The example above shows two sets of httpd processes - one with SSL_ONLY parameter (to serve HTTPS requests) and one without such parameter (to serve HTTP requests).

Apache startup script

Apache service on POA-managed Standard Linux Shared Hosting server uses non-default startup script /etc/init.d/pemhttpd, not the stock Apache startup script /etc/init.d/httpd. The pemhttpd startup script exactly says to Apache to start with non-default configuration file /usr/local/pem/etc/apache/httpd.conf_pem, not the default /etc/httpd/conf/httpd.conf file.

Do not try to stop/start Apache service using the /etc/init.d/httpd startup script on POA-managed Linux web server, it will load Apache with the default configuration file and all customers' website will not working because they are absent in the default Apache configuration file, Apache just will not load corresponding virtual hosts.

Important: keep in mind that non-default Apache startup script /etc/init.d/pemhttpd must be used only on a POA-managed Standard Linux Shared Hosting server, on a Linux Shared Hosting NG server use the default Apache startup script /etc/init.d/httpd.

See the main Knowledgebase article #115790 Website Hosting: General information, Best Practices and Troubleshooting for more information.

caea8340e2d186a540518d08602aa065 5356b422f65bdad1c3e9edca5d74a1ae e12cea1d47a3125d335d68e6d4e15e07

Email subscription for changes to this article
Save as PDF