Sorry for the delay in posting this.
Installing Desknow on SME 7.1
Background:
Desknow (
http://www.desknow.com) is a java driven mail and collaboration suite. It's easy to install, upgrade and administrate and has a great feature set.
It supports pop, imap, pops, imaps, smtp, smpt/ssl and smtp over secondary port.
Shared calendar and contacts
Integrated jabber messenger server with web messenger, or you can use external jabber clients
Supports SyncML standard for syncing with Outlook, smart phones, Palm Treo, etc.
Supports pocket pc browser through the web interface
Supports ical standard
Supports WebDav
Supports a web API for programming functions (see the Administration manual)
Support for DNSRBL lists for spam blocking from the web interface. Easy to do things such as country based IP blocking. (via country based DNSRBL lists from pages like
http://www.moensted.dk/spam/)[/list]
And lots more. The Desknow.com website has a complete list of everything.
You can download a 30 day demo that will enable all features for free. After that it goes into a reduced feature 'lite' mode where it will stay forever unless you purchase a license. DeskNow also has a Windows excutable that includes an embedded Postgresql database that you can install on Windows XP and play around with to see the features. Lots of people just install this on a Windows XP box for small installs.
I personally like it better than Zimbra and some of the other groupware packages. I think the interface has a cleaner look and the features are a little more polished. We signed up to be a reseller and ASP for the product and we offer DeskNow as a hosted service to companies under our brand, DeluxeWebmail.com We also have a commission program for resellers.
We run our hosting servers in a datacenter, but I wanted to use DeskNow on SME for smaller installs or projects because I trust SME as a hardened linux distro for small companies, but I'm not a fan of Horde, and more and more companies are buying into the MS SBS nonsense, I wanted a mail and collaboration solution that didn't involve selling my soul and giving my customers something that in the long term is an expensive unmaintainable mess.
(Sorry, no more ranting about MS)
This is my first crack at getting this working on SME, pieced together from some of the other posts on here about some of the various parts. DeskNow will be using the SME install of Mysql for it's database and clamav for its virus scanning. This is also my first crack at a how-to, so good luck.
Here's what I don't have working/implemented yet:
1. DN won't accept email from the cron jobs and other processes on the local box. I suspect this is because qmail is disabled, but it's probably a config issue. I'm still working on this, but it means that emails about system events (raidmon) and other items won't arrive. DN is supposed to be compatible with using qmail as the backend server, but I think that would require retooling much of the SME guts so I've opted not to go that route.
2. Other than SME doing a backup/dump of the Mysql database, the db used by DN isn't getting backed up separately, which it really should be. I plan on putting a script in place to dump the db into the ibay along with the other DN backup files nightly.
3. DN isn't integrated into the LDAP directory in SME (although it is supposed to have this ability). Therefore you will have to enter your users both into SME and into DN. However, if your users don't need to use the filesharing in SME and were only email users on SME, then you would only have to enter them into DN and they do not need to be entered into SME.
This How-to assumes starting from a freshly installed SME box. If you have current users with current email, it should be possible to use the Imap import function in DN to pull that mail from the SME side into DN (first turning off imap in DN and enabling it in SME) However, at the moment, that is beyond the scope of this particular posting. (I haven't tried it yet)
DISCLAIMER: I make no guarantees that this will work. Furthermore I make no guarantees that you won't totally jack up your SME box. Make backups of everything before starting.Here goes. Buyer beware, YMMV, etc.
In your browser go to:
http://java.sun.com/j2se/1.5.0/jdk/download.jspOn the page that comes up, you want to download the Linux self-extracting file (currently jdk-1_5_0_08-linux.i586.bin) Sun doesn't currently allow for command-line download.
Then in your browser go to:
http://dev.mysql.com/downloads/connector/j/5.0.htmlPick a mirror close you to and download the tar.gz file of the jdbc connector.
Once you have downloaded these two files, use FTP to get them uploaded to your SME box. Put them in /root or make an ibay for easy finding.
login as root via ssh to your SME box.
Download current version of Desknow
wget http://www.desknow.com/downloads/desknow.tar.gz
Now we need to rework some plumbing on SME disable the services that process and deal with mail:
config setprop pop3 status disabled
config setprop pop3s status disabled
config setprop imap status disabled
config setprop imaps status disabled
config setprop spamd status disabled
config setprop spamassassin status disabled
config setprop squid status disabled
config setprop qmail status disabled
config setprop smtpd status disabled
config setprop ssmtpd status disabled
config setprop smtp-auth-proxy status disabled
config setprop qpsmtpd status disabled
config setprop sqpsmtpd status disabled
Next we need to tweak the database settings:
config setprop mysqld LocalNetworkingOnly no
config setprop mysqld InnoDB enabled
Now we activate it all
signal-event post-upgrade
signal-event reboot
After reboot, ssh back into the box.
mkdir /usr/java
go to the directory where you uploaded the jdk file
chmod a+x jdk-1_5_0_08-linux.i586.bin
./jdk-1_5_0_08-linux.i586.bin
This will uncompress the java files in the current directory after you agree to all the legalese.
Now move the files to our java location:
mv ./jdk1.5.0_08 /usr/java
Now go to where you downloaded the desknow file (should be in /root)
cd /root
tar -zxvf desknow.tar.gz
This will extract all the DN files. We're going to follow the standard install instructions for DN.
cd desknow_server
mv desknow /var
mv desknowdata /var
mv etc/desknow.conf /etc
mv etc/init.d/desknow /etc/init.d
Now we need to edit our config file
nano /etc/desknow.conf
edit the line that starts with "JAVA_HOME" to read as follows:
JAVA_HOME="/usr/java/jdk1.5.0_08"
Hit control-x and save and exit.
Now we run the config wizard:
/var/desknow/bin/configconsole.sh
Accept the default for all IP addresses for DN to listen on.
On the next section for HTTP port, chose 8080 if it's not already the default. We can't choose 80 because apache used by SME is on that port.
for HTTPS chose 8443, since I believe that SME is using 443 for the admin interface.
You can choose the defaults for the instant messaging
Then you select the feature set for DN. For people wanting to only using DN for calendaring and still use SME for email, you could skip the section above on disabling the email functions in SME and choose #2 here in the DN config and use it strictly as a collaboration server, _IN_THEORY_. (I haven't tried that config yet)
For now choose #1
The next section asks for IP addresses allowed to relay mail. Just hit enter. You can add addresses later via the web interface for the local lan.
Next it asks for the main domain.
Then the default language for the interface.
Then the default spell-check language.
Then hit enter for the timezone and we're done with the config wizard!
Now let's work on the database.
Go to the directory where you put the mysql-connector-java-5.0.6.tar.gz file
tar -zxvf mysql-connector-java-5.0.6.tar.gz
cd mysql-connector-java-5.0.6
cp mysql-connector-java-5.0.6-bin.jar /var/desknowdata/lib
now find out what your mysql root password is, you'll need this:
cat /root/.my.cnf
Your mysql root pw will be the long string. Copy it with your cursor if your terminal client supports it.
Let's create the database:
/usr/bin/mysql -u root -p
(paste or type that long password now)
Type the following commands into mysql:
create database desknow character set utf8;
grant all privileges on desknow.* to desknowserver@localhost identified by 'password'; (replace password with one of your choice)
grant all privileges on desknow.* to desknowserver@'%' identified by 'password'; (replace password with the one you chose above)
quit
Now let's start DeskNow!
/etc/init.d/desknow start
Open a browser and go to
http://SME-IP-addr:8080You'll be presented with the database setup page, you'll enter the database password you choose in the mysql step above.
After that, you should get the Desknow Login page. Login with 'admin' and the password you picked during the config wizard.
If you want DN to start automatically when you boot the server, type the following: (from the readme.txt in the install file)
Starting/Stopping DeskNow automatically
--------------------------------------
Create the appropriate links in /etc/rc?.d
Ex.:
ln -s /etc/init.d/desknow /etc/rc7.d/S80desknow
ln -s /etc/init.d/desknow /etc/rc7.d/K80desknow
ln -s /etc/init.d/desknow /etc/rc5.d/S80desknow
ln -s /etc/init.d/desknow /etc/rc5.d/K80desknow
To enable DN to do virus scanning:
login as admin
Click on Administration on the left
Click on Antivirus on the right
Check the enable box
Pick 'Clam Antivirus' from the dropdown list
Change the line so that it it is 'clamdscan' instead of 'clamscan' in the commandline.
Hit 'OK' at the top.
Now DN will use the internal clamav scanner.
If you want to make it so that computers on the local network don't have to authenticate to send outbound mail via smtp, under administration go to Mail/SMTP Incoming/Relay and input either their addresses, or the whole subnet into the form.
DN will place it's backup files in /var/desknowdata/backup. You could make an Ibay called dnbackup, and have DN put the backup files here for easy access from other computers on the network or for easy retrieval.
I recommend checking out the Administration manual for DN on their website which has all the config options you can change in the config files for tweaking various settings. Also their forums are an excellent source for help as well.
To reverse all this, just do config setprop xxxx status enabled for the commands above and remove the /etc/init.d/desknow file. That will stop desknow from starting up. You can manually delete the files under /var/desknow and /var/desknowdata
I welcome all input and feedback on this how-to.
Thanks!
bh