====== 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 8.4 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 [[http://www.postgresql.org]].
==== I have to perform an maintainance operation for my hosting system, how can I stop the panel ? ====
That's simple :
- Edit the config file of vhffs (''/etc/vhffs/vhffs.conf''), then, modify the //open// directive in the section to //no//.
- 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 :
- 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.
- 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 ====
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 :
- A user ask for a web page (i.e http://example.com). His browser send the request to the apache webservers.
- Webservers receive the address (http://example.com), compute a hash for this adress (i.e 5ababd603b22780302dd8d83498e5172). The hash is splitted on 2 caracters (5a ba bd ....).
- 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/// )
- 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 :
- If you use an old version of PosgreSQL, update to the latest version
- 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 //myhosting.com//, 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 //user@myhosting.com// 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.