如何在 Ubuntu 22.04/23.04 上安装 Roundcube
Roundcube 是一个基于 Web 的免费开源多语言 IMAP 电子邮件客户端,用 PHP 编写。它提供了您期望从电子邮件客户端获得的全部功能,包括 MIME 支持、地址簿、文件夹操作、邮件搜索和拼写检查。
本教程将向您展示如何使用 Nginx Web 服务器和 MySQL 数据库服务器在 Ubuntu 22.04 上安装 Roundcube webmail。
步骤 1:更新操作系统
在 Ubuntu 22.04 上继续安装和配置 Roundcube webmail 之前,请使用以下命令将系统包更新并升级到最新版本:
# apt update && sudo apt upgrade -y
第 2 步:安装 Nginx Web 服务器
在本教程中,我们将使用 Nginx。如果您更喜欢 Apache 或其他 Web 服务器,则可以使用它来代替 Nginx。
您可以apt
通过执行以下命令通过包管理器安装 Nginx。
# apt install nginx
您可以通过输入以下命令启动 Nginx 服务并将其配置为在启动时运行:
# systemctl start nginx
# systemctl enable nginx
Nginx
使用 命令验证服务的状态 systemctl status
:
# systemctl status nginx
输出:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running)
Docs: man:nginx(8)
Main PID: 5317 (nginx)
Tasks: 2 (limit: 2196)
Memory: 2.6M
CPU: 31ms
CGroup: /system.slice/nginx.service
├─5317 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─5318 "nginx: worker process
第 3 步:为 Roundcube 安装 PHP和所需的 PHP 扩展
运行以下命令以安装所需的 PHP 扩展。1.6 版本完全支持 PHP8.1。
# apt install php php-fpm php-gd php-common php-json php-imagick php-imap php-xml php-mbstring php-curl php-zip php-bz2 php-intl php-ldap
验证是否安装了 PHP。
# php -v
Output:
PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct 19 2022 14:58:09) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies
第四步:安装MySQL并创建数据库
您可以使用以下命令安装 MySQL 服务器:
# apt install mysql-server
启动数据库服务器守护进程,并使用以下命令使其在下次启动时自动启动:
# systemctl start mysql
# systemctl enable mysql
MySQL
使用 命令验证服务的状态 systemctl status
:
# systemctl status mysql
输出:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running)
Main PID: 1083 (mysqld)
Status: "Server is operational"
Tasks: 41 (limit: 2797)
Memory: 434.0M
CPU: 1min 57.932s
CGroup: /system.slice/mysql.service
└─1083 /usr/sbin/mysqld
默认情况下,MySQL 未加固。您可以使用mysql_secure_installation
脚本保护 MySQL。
# mysql_secure_installation
像这样配置它:
- 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
现在运行下面的命令登录到 MySQL shell。
# mysql -u root -p
登录到数据库服务器后,您需要为 Roundcube 安装创建一个数据库:
mysql> CREATE DATABASE roundcubemail;
mysql> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'Strong-Password';
mysql> GRANT ALL PRIVILEGES ON roundcubemail . * TO 'roundcube'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;
第 5 步:下载 Roundcube
Roundcube 在默认的 Ubuntu 仓库中可用。但是,存储库通常不提供最新版本。
可以通过从 Roundcube下载页面下载源代码来安装 Roundcube 的最新稳定版本。
使用带有 wget 的地址, 在服务器上下载Roundcube tarball :
# wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz
创建一个roundcube
目录:
# mkdir /var/www/roundcube/
之后,您需要解压缩 Roundcube 存档:
# tar -xvzf roundcubemail-1.6.0-complete.tar.gz -C /var/www/roundcube/ --strip-components 1
让 Nginx 成为该文件夹的所有者roundcube
并授予它足够的权限。
# chown -R www-data:www-data /var/www/roundcube
# chmod 755 -R /var/www/roundcube
现在启动包含在下载文件中的示例数据库。
# mysql -u roundcube -p roundcube < /var/www/roundcube/SQL/mysql.initial.sql
第 6 步:为 Roundcube 配置 Nginx
然后,创建一个虚拟主机配置文件来托管 Roundcube:
# nano /etc/nginx/conf.d/roundcube.conf
Nginx 忽略 Roundcube 的 Apache.htaccess
文件,所以我们告诉 Nginx 忽略一些敏感目录:
server {
listen 80;
server_name webmail.your-domain.com;
root /var/www/roundcube;
index index.php index.html index.htm;
error_log /var/log/nginx/roundcube.error;
access_log /var/log/nginx/roundcube.access;
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
location ~ /\. {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
请记住替换 your-domain.com
为您的服务器的域名。
保存并退出配置文件。
检查 Nginx 语法:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
要实施更改,请重新启动 Nginx 网络服务器:
# systemctl restart nginx
第 7 步:Roundcube 设置和配置
现在打开您的网络浏览器并转到http://webmail.your-domain.com/installer
,您将看到以下屏幕:
如果安装了所有必需的模块和扩展,请按 NEXT并转到 下一步。
在下一页上,导航到数据库设置设置并输入您在上面创建的数据库名称、用户和密码。
在 SMTP 设置下,选中“使用当前 IMAP 用户名和密码进行 SMTP 身份验证”复选框:
完成配置后,按CREATE CONFIG完成安装。然后您将收到配置已成功创建的通知。
一切设置完毕并正常工作后,打开终端并使用以下命令删除安装目录:
# rm -rf /var/www/roundcube/install/
现在去, http://webmail.your-domain.com
这样你就可以登录了。
评论和结论
恭喜!您已成功安装 Roundcube 网络邮件客户端。感谢您使用本教程在 Ubuntu 22.04 操作系统上安装 Roundcube。