Raspberry Pi SOGo Groupware: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 14: | Line 14: | ||
* There is no information here concerning the creation of the sogo database tables | * There is no information here concerning the creation of the sogo database tables | ||
= Download sourcecode = | = Compile, build and install = | ||
== Download sourcecode == | |||
Get and extract sourcecode of SOPE and SOGo (the version used here is 3.2.10): | Get and extract sourcecode of SOPE and SOGo (the version used here is 3.2.10): | ||
| Line 27: | Line 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Install needed packages for SOPE | == Install needed packages for SOPE == | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 47: | Line 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Compile and install SOPE | == Compile and install SOPE == | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 59: | Line 61: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Install additional needed packages for SOGo | == Install additional needed packages for SOGo == | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 68: | Line 70: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Compile and install SOGo | == Compile and install SOGo == | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 80: | Line 82: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Post installation = | == Post installation == | ||
The install script silently fails to execute some tasks, probably because there are no specific instructions for the Raspbian OS and ARM architecture. The following statements are based on the install scripts and documentation: | The install script silently fails to execute some tasks, probably because there are no specific instructions for the Raspbian OS and ARM architecture. The following statements are based on the install scripts and documentation: | ||
== Create user and group 'sogo' == | === Create user and group 'sogo' === | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 95: | Line 97: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Copy some files to the right places == | === Copy some files to the right places === | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 108: | Line 110: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Apply owner and group information == | === Apply owner and group information === | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
| Line 119: | Line 121: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Install Service == | === Install Service === | ||
For installation of the service we use the file './SOGo/Scripts/sogo-systemd-redhat': | For installation of the service we use the file './SOGo/Scripts/sogo-systemd-redhat': | ||
| Line 130: | Line 132: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Other configuration == | === Other configuration === | ||
See: | See: | ||
| Line 146: | Line 148: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Trouble shooting = | == Trouble shooting == | ||
== /var/run/sogo/sogo.pid == | === /var/run/sogo/sogo.pid === | ||
The folder '/var/run/sogo' keeps being removed between reboots. This results in the following error while trying to start SOGo: | The folder '/var/run/sogo' keeps being removed between reboots. This results in the following error while trying to start SOGo: | ||
| Line 161: | Line 163: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Logging == | === Logging === | ||
SOGo service status: | SOGo service status: | ||
| Line 201: | Line 203: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== sogo.conf == | === /etc/sogo/sogo.conf === | ||
This file need to be readable by user 'sogo', but not by others. If you edit this file as root you need to reapply owner and group: | This file need to be readable by user 'sogo', but not by others. If you edit this file as root you need to reapply owner and group: | ||
| Line 209: | Line 211: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Apache2 == | === Apache2 === | ||
Make sure you have enabled all necessary modules. | Make sure you have enabled all necessary modules. | ||
Revision as of 18:49, 29 December 2017
There are no binaries available for the ARM architecture as are needed for the Raspberry Pi. The code is not maintained for this purpose but it is possible. Therefore we need to compile, build and install the application manually.
Source with some pointers:
Assumptions
- Apache2 (2.4+) is installed
- MariaDB (MySQL) is installed
- There is no information here concerning the creation of the sogo database tables
Compile, build and install
Download sourcecode
Get and extract sourcecode of SOPE and SOGo (the version used here is 3.2.10):
cd ~ wget https://sogo.nu/files/downloads/SOGo/Sources/SOPE-3.2.10.tar.gz tar -xvzf SOPE-3.2.10.tar.gz wget https://sogo.nu/files/downloads/SOGo/Sources/SOGo-3.2.10.tar.gz tar -xvzf SOGo-3.2.10.tar.gz mv SOGo-3.2.10 SOGo
Install needed packages for SOPE
# the GNU Objective-C compiler (gcc-objc) sudo apt-get install gnustep-make #20Mb sudo apt-get install gnustep-core-devel #34Mb # the libxml2 development headers (74Mb) sudo apt-get install libxml2-dev sudo apt-get install libwbxml2-dev # the OpenLDAP development headers (2mb) sudo apt-get install libldap2-dev # the OpenSSL development headers (10Mb) sudo apt-get install libssl-dev # the PostgreSQL development headers (1Mb) sudo apt-get install libpq-dev # the MySql (MariaDB) development headers (6Mb) # sudo apt-cache search mysql | grep "dev" sudo apt-get install libmariadbclient-dev-compat
Compile and install SOPE
cd ~/SOPE ./configure --with-gnustep --enable-debug --disable-strip --prefix=/usr/System sudo make uninstall make clean make sudo make install
Install additional needed packages for SOGo
# the libmemcached development headers (2Mb) sudo apt-get install libmemcached-dev # the libcurl development headers (1Mb) sudo apt-get install libcurl4-openssl-dev
Compile and install SOGo
cd ~/SOGo ./configure --enable-debug --disable-strip --prefix=/usr/System sudo make uninstall make clean make sudo make install
Post installation
The install script silently fails to execute some tasks, probably because there are no specific instructions for the Raspbian OS and ARM architecture. The following statements are based on the install scripts and documentation:
Create user and group 'sogo'
#Create group sudo addgroup sogo #Add new user 'sogo' to group 'sogo' (error if user sogo exists) sudo useradd -g sogo sogo #Add existing user 'sogo' to group 'sogo' sudo adduser sogo sogo
Copy some files to the right places
cd ~/SOGo sudo install -D -m 644 Scripts/sogo-default /etc/default/sogo sudo install -D -m 644 packaging/debian/sogo.overrides /usr/share/lintian/overrides/sogo sudo install -D -m 644 Apache/SOGo.conf /etc/apache2/conf-available/SOGo.conf sudo install -D -m 644 Scripts/sogo.cron /etc/cron.d/sogo sudo install -D -m 644 Scripts/logrotate /etc/logrotate.d/sogo sudo install -d -m 750 /etc/sogo/ sudo install -D -m 640 Scripts/sogo.conf /etc/sogo/sogo.conf
Apply owner and group information
sudo mkdir /var/log/sogo sudo mkdir /var/run/sogo sudo chown -R sogo:sogo /var/run/sogo sudo chown -R sogo:sogo /var/log/sogo sudo chown -R sogo:sogo /usr/lib/GNUstep/SOGo sudo chown -R sogo:sogo /etc/sogo
Install Service
For installation of the service we use the file './SOGo/Scripts/sogo-systemd-redhat':
cd ~/SOGo sudo install -D -m 644 Scripts/sogo-systemd-redhat /lib/systemd/system/sogo.service sudo systemctl daemon-reload sudo systemctl enable sogo
Other configuration
See:
- For website configuration file: Apache2 configuration for SOGo and MediaWiki
- For database and sogo.conf settings: SOGo
And maybe also:
Start the Service
sudo service sogo restart
Trouble shooting
/var/run/sogo/sogo.pid
The folder '/var/run/sogo' keeps being removed between reboots. This results in the following error while trying to start SOGo:
sogo.service: PID file /var/run/sogo/sogo.pid not readable (yet?) after start: No such file or directory
sudo ls -l /var/run/sogo sudo mkdir /var/run/sogo sudo chown -R sogo:sogo /var/run/sogo sudo service sogo restart
Logging
SOGo service status:
service sogo status
Apache service status:
service apache2 status
sudo ls -l /etc/sogo
SOGo log:
tail -20 /var/log/sogo/sogo.log
ls -l /var/log/apache2
sudo tail -20 /var/log/apache2/error.log | grep SOGo
sudo tail -20 /var/log/apache2/access.log | grep SOGo
sudo tail -20 /var/log/apache2/other_vhosts_access.log | grep SOGo
/etc/sogo/sogo.conf
This file need to be readable by user 'sogo', but not by others. If you edit this file as root you need to reapply owner and group:
sudo chown -R sogo:sogo /etc/sogo
Apache2
Make sure you have enabled all necessary modules.
sudo a2enmod headers sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod headers sudo a2enmod rewrite sudo a2enmod ssl
If there is some sort of problem with the web service it could pay off to temporary increase the log level. For example, with the Apache configuration file 'raspberrypi.conf':
sudo nano /etc/apache2/sites-available/raspberrypi.conf
<blockqoute>
... LogLevel debug ...
</blockqoute>
sudo service apache2 restart
More info: