Install SOGo on Debian 8

sogo-logoSOGo is a free and modern scalable groupware server. It provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV, CardDAV and GroupDAV, as well as Microsoft ActiveSync. SOGo offers shared calendars, address books, and emails through your favourite Web browser and by using a native client such as Mozilla Thunderbird and Lightning.

In this article, we will provide you with the steps needed for installing SOGo on a Debian 8 VPS.

REQUIREMENTS

We will be using our SSD 1 Linux VPS Hosting plan for this tutorial.

Login to your server via SSH

# ssh root@server_ip

You can check whether you have the proper version of Debian installed on our server with the below command:

# lsb_release -a

Which should give you the underneath output:

Distributor ID: Debian
Description: Debian GNU/Linux 8.2 (jessie)
Release: 8.2
Codename: jessie

UPDATE THE SYSTEM

Make sure your server is fully up to date.

# apt-get update && apt-get upgrade

Next thing you need to to is to add the SOGo repository to your server sources. We will use vim as our text editor, but free to use the one which suits your skills the most.

# vim /etc/apt/sources.list

Once you open /etc/apt/sources.list, add the below line at the bottom of the file:

# deb http://inverse.ca/debian jessie jessie

In order to verify the SOGo builds signature, their GPG public key has to be added into apt keyring. To do so, run the following command:

# apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4

Update the package index:

# apt-get update

INSTALL SOGO

Use the below command to install SOGo and some necessary applications:

# apt-get install sogo sope4.9-gdl1-mysql memcached rpl

Then, enable some much needed Apache modules:

# a2enmod proxy proxy_http headers rewrite

Restart Apache for the changes to take effect:

# service apache2 restart

Remove the tmpreader warning:

# rpl 'SHOWWARNING=true' 'SHOWWARNING=false' /etc/tmpreaper.conf

Configure Memcached:

# rpl '127.0.0.1' localhost /etc/memcached.conf

Next run the MySQL post-installation script mysql_secure_installation:

# mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Restart MySQL and Memcached:

# service mysql restart

# service memcached restart

Now, create a database for SOGo. Enter MySQL as root:

# mysql -u root -p

mysql> CREATE DATABASE sogo;

mysql> GRANT ALL ON sogo.* TO 'sogou'@'localhost' IDENTIFIED BY 'your_password';

mysql> USE sogo;

mysql> CREATE TABLE sogo_users (c_uid VARCHAR(10) PRIMARY KEY, c_name VARCHAR(10), c_password VARCHAR(32), c_cn VARCHAR(128), mail VARCHAR(128));

mysql> INSERT INTO sogo_users VALUES ('tom', 'tom', MD5('your_password'), 'Tom User', 'tom@daywalker.cf'); mysql> flush privileges; mysql> exit

The SOGo configuration has to be done by the ‘sogo‘ user itself. Enter the below commands and replace the ‘your_domain‘ and ‘your_password‘ values with your actual domain and password that you used in the above database creation procedure:

# su - sogo -s /bin/bash

# defaults write sogod SOGoTimeZone "US/Central"

# defaults write sogod SOGoMailDomain "your_domain"

# defaults write sogod SOGoLanguage "English"

# defaults write sogod SOGoUserSources '({canAuthenticate = YES; displayName = "SOGo Users"; id = users; isAddressBook = YES; type = sql; userPasswordAlgorithm = md5; viewURL ="mysql://sogoUSER:your_password@127.0.0.1:3306/sogoDB/sogo_users";})'

# defaults write sogod SOGoProfileURL 'mysql://sogoUSER:your_password@127.0.0.1:3306/sogoDB/sogo_user_profile'

# defaults write sogod OCSFolderInfoURL 'mysql://sogoUSER:your_password@127.0.0.1:3306/sogoDB/sogo_folder_info'

# defaults write sogod OCSSessionsFolderURL 'mysql://sogoUSER:your_password@127.0.0.1:3306/sogoDB/sogo_sessions_folder'

# defaults write sogod SOGoAppointmentSendEMailNotifications YES

# defaults write sogod SOGoLoginModule Calendar

# defaults write sogod SOGoSieveScriptsEnabled YES

# defaults write sogod SOGoSieveServer sieve://localhost:4190

# defaults write sogod SOGoVacationEnabled YES

# defaults write sogod SOGoMailMessageCheck every_5_minutes

# defaults write sogod SOGoFirstDayOfWeek 1

# defaults write sogod SOGoSuperUsernames '( "admin" )'

# defaults write sogod SOGoDraftsFolderName "INBOX.Drafts"

# defaults write sogod SOGoSentFolderName "INBOX.Sent"

# defaults write sogod SOGoTrashFolderName "INBOX.Trash"

# defaults write sogod NGImap4ConnectionStringSeparator "."

# exit

Configure SOGo configuration file:

# sed -i 's#yourhostname#your_domain#g' /etc/apache2/conf-available/SOGo.conf

# sed -i 's#"x-webobjects-server-port" "443"#"x-webobjects-server-port" "80"#' /etc/apache2/conf-available/SOGo.conf

# sed -i 's#https#http#' /etc/apache2/conf-available/SOGo.conf

Restart SOGo:

# service sogo restart

Now, open your favorite browser and navigate to http://your_domain/SOGo . You should see the same page as the one in the image below:

sogo

That’s it. You have successfully installed SOGo on a Debian 8 VPS.

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install SOGo for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

4 thoughts on “Install SOGo on Debian 8”

    • Hey Juan, for more information on using/configuring SOGO, please refer to their official guide at: http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf

      You may also find this article useful: http://www.openchange.org/cookbook/backends/sogo/#sogo-backend-setup

      Reply
  1. This tutorial does not work anymore — Inverse wants now to get paid for using their repository.
    I was using Sogo for 10 years, but now I need to find a different solution. Suggestions are welcome!

    What this company is doing is a security nightmare to all of its users!
    Sometimes I am really wondering who makes decisions like that in a company?

    Reply
    • You can try Citadel. It is an open source messaging and collaboration platform that has lot of useful features, such as managing emails, calendars, scheduling, instant messaging and other collaboration tools.

      Reply

Leave a Comment