如何在 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,您将看到以下屏幕:

Roundcube 网络邮件安装程序

如果安装了所有必需的模块和扩展,请按 NEXT并转到 下一步。

在下一页上,导航到数据库设置设置并输入您在上面创建的数据库名称、用户和密码。

Roundcube 数据库设置

在 SMTP 设置下,选中“使用当前 IMAP 用户名和密码进行 SMTP 身份验证”复选框:

SMTP 设置

完成配置后,按CREATE CONFIG完成安装。然后您将收到配置已成功创建的通知。

网络邮件安装程序

一切设置完毕并正常工作后,打开终端并使用以下命令删除安装目录:

# rm -rf /var/www/roundcube/install/

现在去, http://webmail.your-domain.com 这样你就可以登录了。

Roundcube 网页邮箱登录

评论和结论

恭喜!您已成功安装 Roundcube 网络邮件客户端。感谢您使用本教程在 Ubuntu 22.04 操作系统上安装 Roundcube。

类似文章