Vertigo/Documentation/SettingUpVertigoOnDebian

Setting up Vertigo on Debian GNU/Linux

This is based on a clean install of sarge. One important thing is when you configure the network - the ip-address, domain and hostname is used by the vertigo packages to auto-configure vertigo so it is easier for you to use.

On servers that are not to handle mail you need to configure exim to forward the mail to the server that is supposed to handle mail. You will automatically be able to do this when exim is configured, the exim-lingo for this is smarthost.

Adding dev.infonet.dk to your apt sources list

Insert deb http://dev.infonet.dk/debian sarge . into your /etc/apt/sources.list and run apt-get update.

Installing Qmail and supporting software

Before installing Vertigo you should install qmail and ucspi-tcp if you need qmail support before beginning to install anything else.

Install qmail-src and ucspi-tcp-src and build the ucspi-tcp and qmail packages. The reason that you can't just apt-get install qmail is that qmail and it's dependant package ucspi-tcp is licensed such that only source distribution is allowed. The "don't think" method for installing this on a freshly installed sarge system is (remember to add non-free to your apt repository line):

apt-get install qmail-src ucspi-tcp-src procmail

also install procmail, qmail depends on it)

dpkg --purge --force-depends exim4 exim4-daemon-light

(because qmail must replace exim)

build-ucspi-tcp

(you hit enter everywhere)

build-qmail

(also, hit enter until you're done)

This will hopefully leave you with qmail and ucspi-tcp installed on your system.

You should edit the /etc/init.d/qmail and "un-un" comment the pop3 server lines to enable the pop3 server (both in the start and stop sections).

It is also a good idea to comment out the two rbl lines, this significantly reduces spam.

Installing Vertigo

Now is the time to install vertigo, it is recommended to also install vertigo-web to be able to access the web-frontend of vertigo. If installing the web-frontends you should also install sudo.

apt-get install vertigo vertigo-web sudo

PostgreSQL will ask you where to place its data, the default is fine. It will also ask you whether or not it should purge the database, since this is a fresh install there is no need to purge the databases. Next it will ask you to choose the locale and the date format to use, this is based on your own location, the default where adequate for me.

Webalizer will ask a number of questions (output directory, title, log to analyse). There is no need to think about this, as Vertigo automatically manages a configuration file for each domain. You should, however, disable the webalizer cron-script, this is easily done by removing the executable bit on the script:

chmod a-x /etc/cron.daily/webalizer

vertigo-etc will ask what password to user for connecting to the MySQL server as the root user. It is prudent to leave this empty and have vertigo-etc generate a randomised password.

Apache will ask whether or not to enable suExec support, if you intend to allow your customers to run any kind of cgi applications (or use the vertigo web frontends) you need to enable this.

MySQL will also tell you to create a root password for MySQL, we will get back to doing this later as vertigo will need this password to create/remove databases and database users.

ProFTPD will ask you whether to run alone or using inetd, i choose alone, but inetd should also work.

chkrootkit will ask if it should run each day, you should say no to this and let vertigo-security run it when it is needed.

vertigo-apache will now ask if it should add a NameVirtualHost directive, this is required for virtual hosting to work in Apache, say yes.

vertigo-mysql will ask whether or not to set the password for the MySQL root user to the one setup in vertigo, say yes.

vertigo-proftpd will tell you some information, just ignore it.

vertigo-web-common will ask if sudo should be used to run the web-frontends, say yes.

vertigo-web-domains will automatically password protect the vertigo.DOMAINNAME page, and will ask what password to use, if the left empty an automatically generated password is used.

This should leave you at a prompt again, with a lot more packages on your system.

Configuring non-Vertigo packages

It is now time to configure a few packages.

  • Apache On my system suExec was still not automatically set up when you say yes during package installation, so you need to do
    dpkg-reconfigure apache again. This will also setup the fully qualified domain name and the webmaster email address of apache.

You should now be able to restart apache:

/etc/init.d/apache restart

You should now be able to point a browser (e.g. apt-get install links) on the server to http://vertigo.DOMAINNAME and be presented with the vertigo domains administration.

  • Qmail If qmail doesn't start you can run qmail-showctl and it should say "Uh-Oh!" or some other here-is-an-error style message if something is wrong. Most common error is that /etc/qmail/me doesn't exist, you should just set it to the name for the mailserver, e.g. mail1.DOMAINNAME.

Note that this name should resolvable by DNS (or /etc/hosts) or qmail will hang when instructed to restart.

  • PostgreSQL You should allow password based authentication on local sockets for postgresql, this is done by editing
    /etc/postgresql/pg_hba.conf and finding the line that says:

    local all all ident sameuser

... and change it to read:

local  all  all  password

Remeber to tell postgresql to reload the configuration:

/etc/init.d/postgresql reload

This should be all the configuration you have to do to get vertigo up and running.

Adding your servers

It is now time to add the server(s) that you want to use vertigo on - this is easily done using the web-frontend.

Final configuration

You should read more about Vertigo on this wiki to find out how vertigo works and what you can do with it (and more importantly how!) - but if you are just trying out this software suite for kicks - here is a quick run-down of getting to the point where you can start adding domains - using the server you just installed on as both vertigo server and web/mail/database/backup/statistics/everything server.

This recipe assumes you are using the web-frontend.

  1. First up is adding the server to the list of servers, go to the Servers tab - type in the '''hostname''' of the server and click the "Create" button.
  2. Type in the ip-address of the server and mark all the services you wish it to provide - the description is optional. Click "Save".
  3. Now go to the Domains tab and create a domain called DOMIAINNAME (the name of your domainname - this is the main domain).
  4. Add an email address for yourself.
  5. Add an email alias called info - and type in the name of the just created email address as value (with the @DOMAINNAME part).
  6. Add a new subdomain called HOSTNAME - this is the name that you also just gave to the server you created before. Enter your ip-address as the value of that - and set the subdomain type to "Host".
  7. Next add four subdomains: vertigo, admin, email and backup, set them all to "Alias" and write HOSTNAME as their value.
  8. Now add services to the domain, the most important to add is dns and mail but web is also good to have, especially to test whether the setup worked.
  9. After this you should observer that all services are provided by HOSTNAME - except dns, that automatically distributes over all the servers providing dns services.
  10. Now you should click "Save".
  11. You should now be able to run vertigo-update as root, without any warnings.
  12. After this you should be able to set any other computer to use the ip-address of the server as a nameserver, and that computer should be able to go to vertigo.DOMAINNAME and access the web-frontend.
  13. Remember to also add 127.0.0.1 to the server's /etc/resolv.conf file.

Comments (0)

Post comment

If you wish, you can use markdown syntax in the comment field.