如何在 Debian 10 上安装崇光群件
本教程适用于这些操作系统版本
- Debian 10(巴斯特)
- Debian 8(杰西)
在此页
- 先决条件
- 开始
- 安装和配置 MariaDB
- 安装崇光
- 安装和配置 Apache Web 服务器
- 配置崇光
- 进入崇光网页界面
- 结论
SOGo 是在 GNU GPL/LGPL v2 及更高版本下发布的免费、开源和协作的群件服务器。它带有一个简单易用的基于 Web 的界面,并支持多个本地客户端。它提供本机 Microsoft ActiveSync 支持,还支持 Apple iPhone、Android、Windows Phone 和 BlackBerry 等移动设备。
特征
- 支持多种语言。
- 与其他用户共享您的邮件、日历和地址簿。
- 为重要事件设置警报并直接从您的浏览器接收警报。
- 接收桌面通知。
- 使用完整的内联富文本编辑器撰写 HTML 邮件。
- 支持多个邮件帐户。
- 进出口日历和邮箱。
- 支持双因素身份验证。
在本教程中,我们将向您展示如何在 Debian 10 上安装 SOGo 群件服务器。
先决条件
- 运行 Debian 10 的服务器。
- 为服务器配置了根密码。
入门
在开始之前,建议将您的服务器更新并升级到最新版本。您可以通过运行以下命令来完成此操作:
apt-get update -y
apt-get upgrade -y
服务器更新后,重新启动它以应用所有更改。
安装和配置 MariaDB
SOGo 使用 MariaDB/MySQL 作为数据库后端。所以你需要在你的服务器上安装它。您只需运行以下命令即可安装它:
apt-get install mariadb-server -y
安装 MariaDB 后,您将需要保护 MariaDB 安装。您可以通过运行以下脚本来完成此操作:
mysql_secure_installation
回答如下所示的所有问题以设置 root 密码:
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', '');
接下来,使用以下命令刷新权限并退出 MariaDB:
MariaDB [sogo]> flush privileges;
MariaDB [sogo]> exit;
完成后,您可以继续下一步。
安装崇光
默认情况下,SOGo 在 Debian 10 默认存储库中不可用,因此您需要从其官方网站下载。你可以在搜狗下载页面看到所有的包你也可以使用以下命令手动下载:
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-activesync_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dbg_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dev_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope4.9-dev_4.9.r1664.20201103_all.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-appserver_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-dbg_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-mysql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-postgresql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-libxmlsaxdriver_4.9.r1664.20201103_amd64.deb
wget 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 sogo
systemctl enable sogo
完成后,您可以继续下一步。
安装和配置 Apache Web 服务器
接下来,您需要安装和配置 Apache 网络服务器以通过端口 80 为 SOGo 提供服务。您可以通过运行以下命令来安装它:
apt-get install apache2 -y
安装 Apache 网络服务器后,运行以下命令以启用所有必需的模块:
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 网络服务器已安装并配置。您现在可以继续下一步。
配置崇光
接下来,您需要将 SOGo 配置为使用 MariaDB 进行身份验证,定义 SOGo 配置文件、OCS 文件夹、COS 会话和超级用户名。您可以通过编辑 SOGo 主配置文件来完成:
nano /etc/sogo/sogo.conf
在最后一行 } 之前添加以下行:
SOGoProfileURL = "mysql://sogo::5432/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo::5432/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo::5432/sogo/sogo_sessions_folder";
SOGoPasswordChangeEnabled = YES;
SOGoUserSources =
(
{
type = sql;
id = users;
viewURL = "mysql://sogo::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
您应该得到以下输出:
? 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))
完成后,您可以继续下一步。
访问崇光网页界面
现在,打开您的网络浏览器并输入 URL http://your-server-ip/SOGo 以访问 SOGo 网络用户界面。您将被重定向到以下页面:

提供您的管理员用户名 admin 和密码 \password\,然后单击 > 按钮。您应该在以下页面中看到 SOGo 默认仪表板:

结论
恭喜!您已经在 Debian 10 上使用 Apache 成功安装和配置了 SOGo 组件。您现在可以探索 SOGo 以获得更多功能并将其部署到您的生产环境中。如果您有任何问题,请随时问我。