Using the Virtual Machines

There are 32-bit and 64-bit virtual machines running Ubuntu and CentOS available. These are all in a format created by VMWare, which is readable by any popular virtualisation system.

CentOS 6 is a free clone of RedHat Enterprise, which is very similar to Fedora. Ubuntu Server 10 is a derivative of Debian, and is very easy to use.

The Ubuntu systems use the SQLite database system, the CentOS ones use MySQL due to lack of PHP support for SQLite in those systems.

I strongly advise you to use the 64-bit virtual machines wherever possible, as these are capable of uploads larger than 2 Gbytes. Any attempt to configure 32-bit systems to accept uploads of 2 Gbytes or more will result in a system that does not allow any size of uploads.

The virtual machines are shipped in the standard OVA format. You can import them into VMware Workstation for Windows by simply double-clicking on the .ova file after you have downloaded it.

Next Steps

The VM will set its network settings automatically using DHCP. You can get the MAC address of the VM's network adapter from the VM settings in VMWare Workstation. You can log in at the text console with
  • Ubuntu — user "zendto" and password "zendto".
    You can become root with the command "sudo su -".
  • CentOS — user "root" and password "zendto".

If you need to change the keyboard type, use a command like "loadkeys de" which would load the German keyboard map.

Setup in CentOS

  • You can log in at the text console with the user "root" and password "zendto". Once you have logged in for the first time, please change the password with the "passwd" command.
  • Put your own email SMTP server settings into /etc/mail/sendmail.mc. The ones you need to change are labelled with "ZendTo" in that file. Then "cd /etc/mail; make".
  • Then put your hostname in /etc/httpd/conf/httpd.conf. Look for the line containing "zendto" and replace it with your own hostname.

You will probably find the timezone is set wrong for your part of the world. So set the timezone correctly.

Because users can log in with their username and password, you should setup an SSL certificate for the web server, Apache. You don't *have* to do this, but it is strongly advised.

  • You can get a certificate for free from www.startssl.com.
  • There is plenty of documentation on the internet covering the subject of creating a https site on Apache, you can do it all in /etc/httpd/conf/httpd.conf.
  • Make sure your SSL key has no passphrase set.
  • You can remove it like this:
    mv zendto-ssl.key zendto-ssl.pass.key
    openssl rsa -in zendto-ssl.pass.key -out zendto-ssl.key

    – enter your passphrase once when prompted.
  • You need to place the "key" (without any passphrase!) in /etc/pki/tls/private/zendto-ssl.key
  • You need to place the certificate file in /etc/pki/tls/certs/zendto-ssl.crt

Then you need to setup /opt/zendto/config/preferences.php for your site.

Then change the user interface appearance in /opt/zendto/config/zendto.conf.

Then reboot to be sure everything is setup correctly before you try it.

As you are using MySQL for the ZendTo database, read the contents of /opt/zendto/sql/README.MySQL to find how to setup the database.

If you are using local users (rather than Active Directory or some other authentication system) then look in /opt/zendto/bin for the commands to run to manage your users (such as "adduser.php" to add a new user and "listusers.php" to list your users).

Setup in Ubuntu

  • You can log in at the text console with the user "zendto" and password "zendto". Once you have logged in for the first time, please change the password with the "passwd" command.
  • You can become the superuser with the command "sudo su -".
  • Put your own settings into /etc/postfix/main.cf. The ones you need to change are labelled with "ZendTo" in that file.
    Update: You need to set the value of "relayhost" in there too!
  • Put *only* your internet domain name into /etc/mailname. This file must only be 1 line.
  • Put the short hostname (default is "zendto") in /etc/hostname.
  • Edit /etc/hosts and put in your full hostname in the obvious places.

You will probably find the timezone is set wrong for your part of the world. So set the timezone correctly.

Because users can log in with their username and password, you should setup an SSL certificate for the web server, Apache. You don't *have* to do this, but it is strongly advised.

  • You can get a certificate for free from www.startssl.com.
  • There is plenty of documentation on the internet covering the subject of creating a https site on Ubuntu, you start by copying the template from /etc/apache2/sites-available/default-ssl to the working copy /etc/apache2/sites-enabled/001-zendto.
  • Make sure your SSL key has no passphrase set.
  • You can remove it like this:
    mv zendto-ssl.key zendto-ssl.pass.key
    openssl rsa -in zendto-ssl.pass.key -out zendto-ssl.key

    – enter your passphrase once when prompted.
  • You can get a certificate for free from www.startssl.com.
  • You need to place the "key" (without any passphrase!) in /etc/ssl/private/zendto-ssl.key
    You need to place the certificate file in /etc/ssl/certs/zendto-ssl.crt
  • After you have done that, add a line to /etc/apache2/sites-enabled/000-zendto just below the "<VirtualHost" line that says this:
    Redirect / https://zendto.yourdomain.com/
    where your should put the full hostname of the ZendTo server.

Then you need to setup /opt/zendto/config/preferences.php for your site.

Then change the user interface appearance in /opt/zendto/config/zendto.conf.

Then reboot to be sure everything is setup correctly before you try it.

Ubuntu supports the SQLite database, which is used by default by ZendTo. This database will be created automatically when you first visit the website, so use a web browser to visit the homepage of your ZendTo website and click on the "About" link at the bottom of the page. This will trigger creation of the database automatically. If you have chosen to use MySQL instead, then read /opt/zendto/sql/README.MySQL to discover how to create the MySQL database that will be used.

If you are using local users (rather than Active Directory or some other authentication system) then look in /opt/zendto/bin for the commands to run to manage your users (such as "adduser.php" to add a new user and "listusers.php" to list your users).