如何在Debian 10上安装SOGo组件

如何在Debian 10上安装SOGo组件

SOGo是在GNU GPL / LGPL v2及更高版本中发布的免费开源协同软件服务器。它带有一个简单,易于使用的基于Web的界面,并支持多个本机客户端。它提供了本机Microsoft ActiveSync支持,还支持移动设备,例如Apple iPhone,Android,Windows Phone和BlackBerry。

特性

  • 支持多种语言。
  • 与他人共享您的电子邮件,日历和地址簿。
  • 设置紧急事件警报并直接从浏览器接收警报。
  • 接收桌面通知。
  • 使用完整的嵌入式RTF编辑器编写HTML邮件。
  • 支持多个电子邮件帐户。
  • 导入和导出日历和邮箱。
  • 支持两因素认证。

本教程将向您展示如何在Debian 10上安装SOGo Groupware Server。

先决条件

  • 运行Debian 10的服务器。
  • 根密码是在服务器上设置的。

入门

我们建议您在开始之前将服务器更新到最新版本。您可以通过运行以下命令来运行它:

apt-get update -yapt-get upgrade -y

更新服务器后,请重新启动服务器以应用所有更改。

安装和配置MariaDB

SOGo使用MariaDB / MySQL作为数据库后端。因此,必须将其安装在服务器上。只需运行以下命令即可安装。

apt-get install mariadb-server -y

安装MariaDB之后,您需要保护MariaDB安装。您可以通过运行以下脚本来实现。

mysql_secure_installation

回答所有问题并设置根密码,如下所示。

Enter current password for root (enter for none):
OK, successfully used password, moving on...
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

一旦MariaDB受保护,请使用以下命令登录MariaDB:

mysql

登录后,使用以下命令创建SOGo数据库和用户。

MariaDB [(none)]> CREATE DATABASE sogo;MariaDB [(none)]> GRANT ALL ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'password';

然后将数据库更改为SOGo,创建所需的表,并使用以下命令插入一些值:

MariaDB [(none)]> USE sogo;MariaDB [sogo]> 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));MariaDB [sogo]> INSERT INTO sogo_users VALUES ('admin', 'admin', MD5('password'), 'Hitesh', '[email protected]');

然后刷新特权并使用以下命令退出MariaDB:

MariaDB [sogo]> flush privileges;MariaDB [sogo]> exit;

完成后,您可以继续下一步。

安装SOGo

默认情况下,SOGo在Debian 10的默认存储库中不可用,必须从官方网站下载。您可以在以下位置查看所有软件包 Sope下载页面崇光下载页面您也可以使用以下命令手动下载它:

wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo_5.0.1.20201110-1_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-activesync_5.0.1.20201110-1_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dbg_5.0.1.20201110-1_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dev_5.0.1.20201110-1_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9-dev_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope4.9-dev_4.9.r1664.20201103_all.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-appserver_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-dbg_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-mysql_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-postgresql_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-libxmlsaxdriver_4.9.r1664.20201103_amd64.debwget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-stxsaxdriver_4.9.r1664.20201103_amd64.deb

下载所有软件包后,请运行以下命令来安装所有软件包。

dpkg -i *.deb

当我运行上面的命令时,我得到一个依赖错误。您可以运行以下命令来安装所有缺少的依赖项。

apt-get install -f

安装所有依赖项后,请启动SOGo服务,以便可以使用以下命令在系统重新启动时启动它:

systemctl start sogosystemctl enable sogo

完成后,您可以继续下一步。

安装和配置Apache Web服务器

接下来,您需要安装和配置Apache Web服务器以通过端口80为SOGo服务。您可以通过运行以下命令来安装它:

apt-get install apache2 -y

安装Apache Web服务器后,运行以下命令以启用所有必需的模块。

a2enmod proxy proxy_http headers rewrite

然后使用以下命令启用SOGo的默认虚拟主机文件。

a2enconf SOGo.conf

接下来,您需要编辑SOGo虚拟主机配置文件,并将https连接替换为http,将443替换为端口80。

nano /etc/apache2/conf-enabled/SOGo.conf

找到下一行。

  RequestHeader set "x-webobjects-server-port" "443"
  RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST

我将它们替换为:

  RequestHeader set "x-webobjects-server-port" "80"
  RequestHeader set "x-webobjects-server-url" "http://%{HTTP_HOST}e" env=HTTP_HOST

保存并关闭文件,然后运行以下命令以检查Apache服务器的语法错误:

apachectl configtest

如果一切正常,您应该获得以下输出:

Syntax OK

最后,重新启动Apache服务以应用更改。

systemctl restart apache2

您还可以使用以下命令检查Apache服务的状态:

systemctl status apache2

您应该获得以下输出:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-12 04:17:37 UTC; 14s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 15278 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 15282 (apache2)
    Tasks: 55 (limit: 4701)
   Memory: 17.2M
   CGroup: /system.slice/apache2.service
           ??15282 /usr/sbin/apache2 -k start
           ??15283 /usr/sbin/apache2 -k start
           ??15284 /usr/sbin/apache2 -k start

Nov 12 04:17:37 debian10 systemd[1]: Starting The Apache HTTP Server...

至此,已经安装并配置了Apache Web服务器。现在,您可以继续下一步。

弥补SOGo

接下来,您需要配置SOGo以使用MariaDB进行身份验证,并定义SOGo配置文件,OCS文件夹,COS会话和超级用户名。 您可以通过编辑SOGo主配置文件来做到这一点:

nano /etc/sogo/sogo.conf

在最后一行之前添加以下行}:

SOGoProfileURL = "mysql://sogo:[email protected]:5432/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:[email protected]:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:[email protected]:5432/sogo/sogo_sessions_folder";

SOGoPasswordChangeEnabled = YES;

SOGoUserSources =
  (
    {
      type = sql;
      id = users;
     viewURL = "mysql://sogo:[email protected]:3306/sogo/sogo_users";
     canAuthenticate = YES;
     isAddressBook = NO;
      userPasswordAlgorithm = md5;
    }
  );

  SOGoPageTitle = SOGo;
  SOGoVacationEnabled = YES;
  SOGoForwardEnabled = YES;
  SOGoSieveScriptsEnabled = YES;
  SOGoMailAuxiliaryUserAccountsEnabled = YES;
  SOGoTrustProxyAuthentication = NO;
  SOGoXSRFValidationEnabled = YES;

  SOGoSuperUsernames = (admin); // This is an array - keep the parens!

完成后,保存并关闭文件,然后重新启动SOGo服务以应用更改。

systemctl restart sogo

现在,您可以通过运行以下命令来检查SOGo服务的状态:

systemctl status sogo

您应该获得以下输出:Advertisement

? sogo.service - LSB: SOGo server
   Loaded: loaded (/etc/init.d/sogo; generated)
   Active: active (running) since Thu 2020-11-12 04:19:00 UTC; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 15422 ExecStart=/etc/init.d/sogo start (code=exited, status=0/SUCCESS)
    Tasks: 4 (limit: 4701)
   Memory: 44.9M
   CGroup: /system.slice/sogo.service
           ??15493 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15495 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15496 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15497 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log

Nov 12 04:19:00 debian10 systemd[1]: Starting LSB: SOGo server...
Nov 12 04:19:00 debian10 sogo[15422]: Starting SOGo: sogo.
Nov 12 04:19:00 debian10 systemd[1]: Started LSB: SOGo server.

此时,SOGo已启动并正在侦听端口20000。您可以使用以下命令进行检查。

ss -ntpl | grep -i sogo

您应该获得以下输出:

LISTEN    0         5                127.0.0.1:20000            0.0.0.0:*        users:(("sogod",pid=15497,fd=3),("sogod",pid=15496,fd=3),("sogod",pid=15495,fd=3),("sogod",pid=15493,fd=3))

完成后,您可以继续下一步。

访问SOGo Web界面

然后打开网络浏览器并输入URL http:// your-server-ip / SOGo 访问SOGo Web UI。您将被重定向到下一页。

输入管理员用户名admin和密码“ password”,然后单击。 >> >> 按钮。下一页显示SOGo的默认仪表板。

SOGo组件仪表盘

结论

恭喜!现在,已在Debian 10上使用Apache成功安装和配置了SOGo组件。现在,您可以探索SOGo的其他功能,并将其部署在生产环境中。如有任何疑问,请随时与我们联系。

Source

Sidebar