Table of Contents
Gandi AI Tutorials
CMS
E-Commerce
Groupware
Subversion
Programming
Quit Gandi AI to install a SSL virtualhost on Apache2
You will have to use another MPM (Apache connections manager) than PerUser which is used by default in Gandi AI, PerUser can not yet support SSL.
I suggest you to use the Prefork MPM which is the one by default in Apache2, type the following command in order to do this : aptitude (or apt-get) install apache2-mpm-prefork.
You will have to adapt the rights/permissions of the documentroot of your virtualhost regarding the Apache configuration.
Create a virtualhost and an FTP user after quitting Gandi AI (if you always use PerUser)
Log in on your VPS using SSH and the 'admin' system user, then type the “su -” command (”-” allows to use the root environnement variables for information).
Go in the virtualhosts configuration folder :
cd /etc/apache2/sites-available/
Copy a virtualhost :
cp 000-www.example.net 001-www.domain.tld
Modif it using your prefered editor:
nano/emacs/vim/... 001-www.domain.tld
Configure the necessary options:
<VirtualHost *:80> ServerName www.domain.tld ServerAlias domain.tld ServerAdmin webmaster@domain.tld DocumentRoot "/srv/d_data/www/www.domain.tld/htdocs" <Directory "/srv/d_data/www/www.domain.tld/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ /srv/d_data/www/www.domain.tld/cgi-bin/ <Directory "/srv/d_data/www/www.domain.tld/cgi-bin/"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /srv/d_data/www/www.domain.tld/logs/www.domain.tld-error.log LogLevel error SetEnvIf Remote_Addr "127\.0\.0\.1" loopback CustomLog /srv/d_data/www/www.domain.tld/logs/www.domain.tld-access.log combined env=!loopback ServerSignature On <IfModule mod_dav.c> DAVLockDB /srv/d_data/www/www.domain.tld/db/DAVLock </IfModule> <IfModule mpm_peruser_module> ServerEnvironment userftp_www-userftp MaxProcessors 20 </IfModule> Include /etc/apache2/sites-includes/www.domain.tld/ </VirtualHost>
Create folders & files needed for this vhost :
mkdir /etc/apache2/sites-includes/www.domain.tld/ mkdir /srv/d_data/www/www.domain.tld/ mkdir /srv/d_data/www/www.domain.tld/htdocs/ mkdir /srv/d_data/www/www.domain.tld/logs/ mkdir /srv/d_data/www/www.domain.tld/db/ mkdir /srv/d_data/www/www.domain.tld/cgi-bin/ touch /srv/d_data/www/www.domain.tld/logs/www.domain.tld-access.log touch /srv/d_data/www/www.domain.tld/logs/www.domain.tld-error.log
Then the FTP user and its group :
adduser userftp addgroup www-userftp adduser admin www-userftp adduser userftp www-userftp adduser www-data www-userftp
Give rights on folders & files to the FTP user :
chown -R userftp:www-userftp /srv/d_data/www/www.domain.tld/
Modify the root folder for the FTP user and its default shell :
userftp:x:1002:1002::/srv/d_data/www/www.domain.tld/:/bin/false
Activate the vhost & restart Apache :
a2ensite 001-www.domain.tld /etc/init.d/apache2 restart