HCoder.org
Posts Tagged “smartphone”
-
Personal groupware: SOGo
Sep 14, 2013 onOh, wow. It has been a long while since I wrote anything on this blog. Hopefully I’ll get back in shape soon. This time I wanted to write about groupwares for personal use. As you may know, I had already written a personal wiki, and several weeks ago I started thinking that it would be cool to have my own place to keep my calendar and my contacts, and use exactly the same list in any e-mail/calendaring program I use, regardless of the device.
After looking around a bit, I chose SOGo. Firstly, because I managed to get it to work (I had tried and failed with Kolab first); secondly, because it seemed simple/small enough to be appropriate for personal use. In my case, I’m using the version that comes with Debian Wheezy (1.3), but I don’t think it will be very different to install in other environments.
Update: Added URL for calendars, small formatting fixes.
Installing SOGo
The installation itself is kind of long, and although it’s documented, the installation and configuration guide doesn’t give a straightforward list of steps to install. Instead, you have to read it and understand how the whole system is put together. This post is a reminder for myself, as well as documentation for others that might want to install SOGo in their own servers.
The first step is to install the Debian packages “sogo”, “postgresql” and “apache2”. Then, copy
/usr/share/doc/sogo/apache.conf
into/etc/apache2/sites-available/
, and tweakx-webobjects-server-{port,name,url}
. Then, enable Apache modules “proxy”, “proxy_http”, “headers” and “rewrite” and enable the new site with the following commands:# a2enmod proxy proxy_http headers rewrite # a2ensite sogo # /etc/init.d/apache restart
The next step is to configure PostgreSQL. First, add this line at the end of
/etc/postgresql/9.1/main/pg_hba.conf
(or the equivalent for your PostgreSQL version):host sogo sogo 127.0.0.1/32 md5
Then create a PostgreSQL user “sogo” and a database “sogo” with the following commands (remember the password you set for the “sogo” user, you’ll need it later):
# createuser --encrypted --pwprompt sogo --no-superuser --no-createdb --no-createrole # createdb -O sogo sogo
Then connect to the database with
psql -U sogo -h 127.0.0.1 sogo
and create a table “sogo_custom_auth” with this SQL:CREATE TABLE sogo_custom_auth ( c_uid varchar(40) CONSTRAINT firstkey PRIMARY KEY, c_name varchar(40) NOT NULL, c_password varchar(128) NOT NULL, c_cn varchar(128), mail varchar(80) );
Then calculate the MD5 for whatever password you want for your user (eg. with
echo -n 'MY PASSWORD' | md5sum -
) and connect again to the database withpsql
, this time inserting the user in the database:insert into sogo_custom_auth values ('myuser', 'myuser', '<PASSWORDMD5SUM>', 'User R. Name', 'myuser@mydomain.org');
Now you have to configure SOGo so that (1) it can connect to the database you just created, and (2) it looks for users in that database. You do (1) by editing
/etc/sogo/sogo.conf
to set the correct username and password for the PostgreSQL database; you do (2) by adding the following lines to your/etc/sogo/sogo.conf
:SOGoUserSources = ( { type = sql; id = directory; viewURL = "postgresql://sogo:@127.0.0.1:5432/sogo/sogo_custom_auth"; canAuthenticate = YES; isAddressBook = YES; userPasswordAlgorithm = md5; } );
Finally you’ll have to restart the “sogo” service with
/etc/init.d/sogo restart
so it uses the updated configuration.Importing contacts
It’s easy to import contacts if you have them in vCard format. Just login to SOGo (should be https://
/SOGo/), go to Address Book, right click on Personal Address Book and select "Import cards". If you want to import the contacts in your Google account, go to GMail, click on the “GMail” menu at the top left (just below the Google logo), and select “Contacts”. From there, you have a menu “More” with an “Export…” option. Make sure you select vCard format.
Clients
Of course, the whole point of setting all this up is making your e-mail/calendaring applications use this as a server. I think there are several formats/protocols SOGo can use, but WebDAV/CardDAV works out of the box without any special tweaking or plugins so I went for that.
I have only tried contacts, mind you, but I imagine that calendar information should work, too.I haven’t tried having my e-mail in SOGo because I don’t care :-)I have briefly tried with two different clients: Evolution running on Ubuntu Raring, and Android. Both seem to be able to get data from SOGo, but here are some things to note:
-
The WebDAV/CardDAV URL for the contacts should be something like: https://<YOURSERVER>/SOGo/dav/<YOURUSERNAME>/Contacts/personal/. The Android application seemed to have enough with https://<YOURSERVER>/SOGo/ or https://<YOURSERVER>/SOGo/dav/(can’t remember which one), though, so maybe it’s Evolution that can’t autodiscover the URL and needs the whole thing spelled out.
-
The CalDAV URL for the calendars should be something like: https://<YOURSERVER>/SOGo/dav/<YOURUSERNAME>/Calendar/personal/. It’s likely that whatever application you’re using will have enough with https://<YOURSERVER>/SOGo/ or https://<YOURSERVER>/SOGo/dav/, though.
-
Evolution seems to have a problem with HTTPS CardDAV servers that don’t use port 443. If yours runs in a different port, make sure you make the WebDAV URLs available through port 443 (with a proxy or similar).
-
Certain contact editing operations seem to crash Ubuntu Raring’s version of Evolution. A newer version seemed to work fine on Fedora 15’s live CD and an older version seemed to work on some Debian I had around.
-
Android doesn’t seem to support CardDAV natively, but there’s a set of applications to add support for it. I have tried “CardDAV-Sync free beta” for contact synchronisation and at least it seems to be able to read the contacts and get updates. I have only tried the “read-only” mode of operation, I don’t know if the other one works.
In conclusion, this post should contain enough information to get you started installing SOGo on your own server and having some e-mail clients use it as a source for contacts. Feel free to report success/failure with other clients and platforms. Good luck!
-
-
My first smartphone
May 23, 2010 onI’m not really a “fancy phone” guy. Actually, some years ago I used to hate mobile phones. Luckily, things have changed, and to make a long story short, I bought a (second hand) HTC Hero after thinking of buying an Android phone for months.
My first impression is fairly good: even though it’s the first decent Android phone and quite old now, I find it very nice to use and quite customisable (which is great, considering all the applications and widgets available for the platform). And even when using an old version of Android (1.5) I don’t find it slow. At least not enough to be irritating.
However, there are several annoyances and things I found out that I figured I’d share:
-
It doesn’t automatically import SMS from the SIM card, let alone use the SIM card as the SMS storage. I find that really silly, but to be honest it doesn’t bother me that much. You can of course import your backed-up SMS using some utilities (I haven’t bothered).
-
It took me a good deal of effort to import my contacts from the old phone. I tried some app called vCardIO, which sounded awesome but it didn’t work for me. The final solution was using a utility called “Import Contacts” that doesn’t seem to be in the Android Market (?). I had exported my contacts using gammu/wammu, but I had just in case removed the X-GAMMU-* lines from it. I don’t know if it had anything to do.
-
I found the default mail application to be kind of sucky, so I looked around and found K-9 Mail. I’m quite happy with it.
-
The default browser is some sort of bad joke, but luckily there’s Opera Mini. Opera Mini 5 totally rocks, especially with Opera Link.
-