Technical FAQ

How VHFFS store its own data ?

VHFFS uses a PostgreSQL server to store all its data.

Why the install script show errors like Permission denied ?

You have to be root to install successfully vhffs on your system. The install script writes files in /usr/share/vhffs and /usr/lib/vhffs directories and creates the /etc/vhffs/vhffs.conf file if it doesn't exist.

Which version of PostgreSQL should be used ?

All versions can be used, we don't need a lot of features from PostgreSQL, we are currently developing under the 9.1 release.

How VHFFS finds users on the system ? Users are not in ''/etc/passwd'' ?

Your system should have the libnss-pgsql or libnss-sqlite (with a running nss mirror script) library installed. With it, the system can found users on your system through the VHFFS database.

I set up the VHFFS database on a server and the robots run on another machine and cannot connect to the database server

This is a mistake in the PostgreSQL pg_hba.conf file. The pg_hba.conf is used to tell which user can connect on the database. For more informations, please read the PostgreSQL documentation on

I have to perform an maintainance operation for my hosting system, how can I stop the panel ?

That's simple :

  1. Edit the config file of vhffs (/etc/vhffs/vhffs.conf), then, modify the open directive in the <panel/> section to no.
  2. To reopen the panel just edit vhffs.conf and set back the open directive to yes.

The vhffs-robots stalled. What to do ?

You are probably using lockfiles and you killed the robot while running. Just delete this lockfile, the robots will run again.

The web-interface returns an error

You probably forgot to install a perl-dependency. So, you should see the perl error message on you error log on Apache. This error message tells which perl module is missing. Just install this module by the way you want (cpan or package from your distribution).

Another way to check if your installation contains all necessary perl-modules is to run the vhffs-checkinstall program (/usr/bin/vhffs-checkinstall).

I have an error, the authentication works, but the user cannot access to the panel menu

The panel uses the /tmp/ directory to put sessions information. Be sure that Apache can write files in the directory.

How the install-script find dependencies ?

There is two methods :

  1. If you use Debian (or debian-like distribution like Ubuntu), the system can install perl-dependencies with packages. This script just download and install debian packages to get a fully functional VHFFS. However, be careful, it install it on a machine, but if you use vhffs on another machine, you need those dependencies as well.
  2. If you use another unix system (like Mac OS X), the install-script uses the cpan program to install perl modules. It is a generic program to install perl-modules.

How VHFFS find websites ? I don't see config file with <VirtualHost/>

In fact, VHFFS was designed for massive hosting. So, it's very stupid to use the VirtualHost directive, because it forces to reload apache and it imply a little downtime, furthermore httpd startup time depends on the number of configured virtualhosts, which goes to a non scalable way. So, this solution is not the best. We use an apache-module designed for VHFFS called mod-vhost-hash-alias. This module (available on Debian) has to be installed on your webserver(s) and loaded by Apache2. This module work as it :

  1. A user ask for a web page (i.e His browser send the request to the apache webservers.
  2. Webservers receive the address (, compute a hash for this adress (i.e 5ababd603b22780302dd8d83498e5172). The hash is splitted on 2 caracters (5a ba bd ….).
  3. The first, second and third split compose a directory (5a/ba/bd). From the directory which contains all websites (i.e /vhffs/websites/), we obtain the DocumentRoot ( /vhffs/websites/5a/ba/bd/ )
  4. If this directory exists, the website exists and the document is taken. Otherwise, the website doesn't exist.

Website integration on Apache is then totally dynamic and doesn't need a reload or restart.

Where is the documentation of the VHFFS perl API ?

You can found perl documentation for VHFFS api on your system, by using the perldoc command. For example, the command perldoc Vhffs prints the documentation of the Vhffs module.

The panel returns an error from time to time, what is it ?

You probably have too many connections to your database. You have several solutions :

  1. If you use an old version of PosgreSQL, update to the latest version
  2. When you use the panel, no connection is available on the VHFFS database. You should increase the connections number in the PostgreSQL configuration.

Another source of error can be a missing perl-module. If you have errors on the same page, you should run the vhffs-checkinstall program (/usr/bin/vhffs-checkinstall).

What is the mailuser module ?

When you have an hosting service, you can provide a free mail-adress for your users. For example, if you have the hosting service MyHosting with the domain name, you could choose to offer an email adress on this domain for each user. The mailuser module allow this service. So, each user on the platform can create mail-adress and declare it as a POPable account or a simple forward. The mailuser module use the mail module, so you have to enable it if you use mailuser.

The panel does not store any avatar ? What is the problem ?

In fact, you have to create the /data/avatar directory. But this directory must have the rights of the Apache user. On Debian, Apache user is www-data (and this user is in the www-data group). So, you have to run the chown -R /data/avatar to have a /data/avatar writeable for the panel.

doc/technicalfaq.txt · Last modified: 2014/12/13 12:18 by gradator
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki