- Marcel's Linux Walkabout — Twiggi
- Did I Say Twiggi?
- Until Next Time
Did I Say Twiggi?
The world of Linux is the world of alternatives, many of them requiring no more than the cost of a download. So it is with Neddix Inc.'s Twiggi, another groupware suite that uses MySQL as its database. It doesn't have anywhere near the number of modules or the flexibility of phpGroupWare but that may well be a benefit to many an organization. A more focused approach is easier to administer especially if you aren't looking to go beyond the functionality of your Windows based email client. You owe it to yourself, your workload, and your pocketbook to have a look (see Figure 1).
Figure 1 Welcome to Twiggi!
Setting Up Twiggi
What Twiggi does offer is a clean, easy to understand interface and minimal administration. Once set up, Twiggi pretty much runs itself. As for that installation, it is done entirely at command line, but the steps aren't complex and I will take you through them shortly. To get the software, visit www.neddix.de/twiggi-gw and pick up the source. Then extract it into your web server's document root. For instance, on my test machine, Apache's document root is at /usr/local/apache/htdocs. On some installations, you will set Apache's document root at /var/www/html.
tar -C /usr/local/apache/htdocs -xzvf twiggi-1.6.8.tar.gz
Incidentally, the tar command's "-c" flag tells tar to switch to the specified directory before doing the extraction.
Next, we switch to Apache's document root and modify our installation name and some permissions:
cd /usr/local/apache/htdocs mv twiggi-1.6.8 twiggi chown -R apache.root twiggi chmod -R u+rx,go-rwx twiggi
To do the next step, change to the twiggi/setup directory and execute the following command:
./twiggi-db-setup twiggi twiggi twiggi_admin 'twig!gi'
The system responds with this:
./twiggi-db-setup twiggi twiggi twiggi_admin 'twig!gi' You must enter the MySQL password. The password can be found in the file '/etc/my.cnf on most systems. Occasionally it is identical with the root password. MySQL password: your_password Creating database twiggi for twiggi... upgrading current twiggi database 19 20 21 22 23 24 25
Assuming you are still in the same directory:
cp ../install/twiggi.conf.sample /etc/twiggi.conf chown root.root /etc/twiggi.conf chmod u+rw-x,go-rwx /etc/twiggi.conf
It is now time to edit that configuration file with your favorite editor:
[twiggi installation path] /usr/local/apache/htdocs/twiggi/ [local nets] 192.168.22.0/255.255.255.0
Let's look at that last line for a moment. What's cool here is that Twiggi will allow regular (port 80) http connections to anyone in your internal network. Outside the local network, it forces SSL connections, which is a good thing. I know for a fact that whenever I am out of the office, visiting a customer site or even using a friend or family member's computer, I want that secure connection. I trust my network; I don't trust theirs.
As you continue with your configuration, note the following lines. These define the user IDs that are allowed access to Twiggi. Generally speaking, this is any normal or non-admin user:
[include users with user id greater or equal] 500 [include users with user id less or equal] 65535 [exclude users by name] root admin httpd nobody
Back in your install directory (/path_to_webroot/twiggi/install), execute this command: ./twiggi_custom_conf and your installation will be finalized. Note that you will need to re-run this command whenever you upgrade Twiggi or when you add users. Unlike phpGroupWare, you do not need to create individual users or profiles. That automatically happens as part of your installation. (Note those excluded users).
Testing and Logging In
And that is all there is to it. Before we go ahead and log in, we should jump to our Twiggi test page and test both IMAP and MySQL connectivity. Let's pretend that my server is called my_server.domain.dom. I would run the tests by connecting to the server like this:
http://my_server/twiggi/test.php
If everything works on the three tests (and it should), the next step is to log in and do a little exploring.
Use the same address as above, but leave out the "test.php". You should see something that looks like Figure 2.
Figure 2 The Twiggi login screen.
Customizing Twiggi
My guess is that you will probably want to customize the look of Twiggi to reflect your company or organization's name, logos, and so forth. The images that you see on the login screen are in the "twiggi/images" directory in your web server's document root. There are four that you will likely want to change:
- auth-logo.gif
- logo.gif
- logo-secure.gif
- logo-print.gif
Simply create your own versions of these with a "ci-" prefix. There is no need to overwrite the originals. If these files are in place, they will be used instead.
Twiggi provides each and every user with email, a contact manager, calendar and scheduling system, todo list, bookmarks, and group management. The front page (as in Figure 1) displays the day's latest emails, schedule, and todo items. Figure 3 shows the calendar view with a few appointments set up.
Figure 3 The Twiggi calendar view.
Each user can also configure aspects of the suite such as colors, layout, presentation, and various local settings.
From the administrator's perspective, remember that I said your users are automatically configured. I'll add a caveat to that. When you create your users, make sure that you have the comment field filled in (for you OS old-timers out there, that's the "gecos" field). In other words, identify the users as something other than just a login name. For instance, I have a user named "mgagne" on my system.
usermod -c "Marcel Gagne" mgagne
I mention this because Twiggi also lets you set up groups to simplify planning, mass mailings, etc. When creating a group, you are presented with a list of the users who have access to Twiggi. You'll want something more interesting than a question mark to identify them. As for those groups, the user who creates them can specify whether the groups are read only, or whether others can update them. That is also true of additions to a calendar appointment or a todo item. If a meeting is scheduled, the person planning can decide whether members can update an agenda, add items, or simply opt out by sending the meeting schedule to the handy trashcan in the corner.
Twiggi is a very capable groupware suite, complete enough to replace most PC-centric alternatives out there. It's server-based nature means that you aren't tied to your desktop. Best of all, the price can't be beat. Twiggi is released under the GPL. You can, however, buy technical support and installation assistance from Neddix, the firm that distributes Twiggi.