如何在 CentOS 7 上使用 RoundCube 管理邮箱
前言
Roundcube
是最著名的开源解决方案之一,可通过 Web 服务管理可靠且可定制的电子邮件服务。
在本教程中,提供了在 CentOS 7
上使用 Roundcube
安装和管理 Web
邮件服务的所有信息。由于它基于 PHP
,Roundcube
需要安装 Web
服务器,例如 NGINX
或 Apache
,并依赖于类似 MySQL
的数据库,例如作为 MariaDB
。
首先,通过 SSH
连接连接到您的服务器。如果您还没有这样做,建议按照我们的指南使用 SSH
安全连接。如果是本地服务器,请转到下一步并打开服务器的终端。
NGINX 和 PHP 的安装
首先安装支持 PHP
和 MySQL
的 NGINX
实例:
$ sudo yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick
在所有软件包安装结束时,启动 NGINX
并在系统上启用其自动启动:
$ sudo systemctl start nginx$ sudo systemctl enable nginx
Roundcube
的使用需要更改 /etc/php.ini
中的 PHP
配置文件中的两个参数:
# Impostazione della nostra timezonedate.timezone = "Europe/Rome"
cgi.fix_pathinfo=0
保存刚刚修改的文件,启动并启用PHP-FPM
服务:
$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm
MariaDB的安装
为了正常运行 Roundcube
需要 MariaDB
数据库,可以使用以下命令安装:
$ sudo yum install mariadb-server
安装完成后,启动服务:
$ sudo systemctl start mariadb$ sudo systemctl enable mariadb
通过运行 MariaDB
中包含的脚本来提高 MariaDB
的安全性并限制对数据库的访问:
启动 MariaDb "mysql_secure_installation"
提供的实用程序脚本并回答所有问题:
$ sudo mysql_secure_installation
首先,系统会询问您是否要启用密码验证系统。如果您启用此系统,当您为用户设置密码时,它将被评估。如果密码不符合最低安全要求,则会被拒绝并显示错误消息。
然后,系统将询问您是否要将根密码更改为您的偏好之一。如果启用密码验证系统,则必须输入符合安全标准的密码。
建议遵循一些创建安全密码的最佳做法。包括:
大小写同时使用
字母和数字的使用
使用非字母数字字符,如@# $% ^ &!
使用以前使用过的密码以外的密码
最后,选择是否删除匿名用户、测试数据库以及是否禁用 root
用户远程登录。为了获得足够的安全级别,建议确认所有这些更改。
此时,确认更新显示的表格以应用新的安全标准。
Enter current password for root (enter for none):OK, successfully used password, moving on...Setting the root password ensures that nobody can log into MariaDBroot user without the proper authorisation.Set root password? [Y/n] YNew password:Re-enter new password:Password updated successfully!Reloading privilege tables..... Success!Remove anonymous users? [Y/n] Y... Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] Y... Success!Remove test database and access to it? [Y/n] Y- Dropping test database...... Success!- Removing privileges on test database...... Success!Reload privilege tables now? [Y/n] Y... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!
重新启动服务后,可以创建 Roundcube
的数据库和新用户(通过更改密码):
$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'mf0c3mhx';MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> exit
Roundcube的安装
为了下载最新版本的 Roundcube
,您需要 wget
。如果您的系统上未安装,请使用以下命令执行此操作:
$ sudo yum install wget
否则,继续从 github
下载并解压缩包:
$ wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz$ tar xzf roundcubemail-1.3.7-complete.tar.gz
然后将所有内容移至 NGINX
目录:
$ sudo mv roundcubemail-1.3.7 /var/www/html/roundcubemail$ sudo cd /var/www/html/roundcubemail/
Roundcube
包包含一个 sql
文件,该文件必须以所需的结构导入到新创建的数据库中:
$ mysql -u root -p roundcubemail < SQL/mysql.initial.sql
在导入过程中,系统会要求您输入在安装 MariaDB
时输入的数据库 root
密码。
数据库配置完成后,为域 mail.domain.com
准备 NGINX
虚拟服务器。首先,确保 html
文件夹的所有者是 NGINX
:
$ sudo chown -R nginx:nginx /var/www/html/roundcubemail
现在创建并编辑虚拟主机文件/etc/nginx/conf.d/mail.example.com.conf
,如下所示:
server {listen 80;server_name mail.domain.com;root /var/www/html/roundcubemail;index index.php index.html;#i# Loggingaccess_log /var/log/nginx/mail.domain.com_access_log;error_log /var/log/nginx/mail.domain.com_error_log;location / {try_files $uri $uri/ /index.php?q=$uri&$args;}location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {deny all;}location ~ ^/(config|temp|logs)/ {deny all;}location ~ /\. {deny all;access_log off;log_not_found off;}location ~ \.php$ {include /etc/nginx/fastcgi_params;#fastcgi_pass 127.0.0.1:9000;fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}}
在保存所有更改之前,请记住将domain.com
域更改为您的域。
如果出现权限错误,请通过更改以下参数来修改 /etc/php-fpm.d/www.conf
中的 PHP-FPM
配置:
user = nginxgroup = nginxlisten = /var/run/php-fpm/php-fpm.socklisten.owner = nginxlisten.group = nginxlisten.mode = 0660
另外,确保 PHP
“会话”目录的所有者是 NGINX
:
$ sudo chown -R nginx:nginx /var/lib/php/session/
此时,Roundcube
已准备好从 Web
界面进行配置。
通过 Web 界面进行 Roundcube 配置
要继续安装,请通过 Web
浏览器访问:http: //mail.domain.com/installer/
在第一阶段,Roundcube
安装程序显示正确操作系统要求的摘要。单击“下一步”按钮继续。
在第二阶段,必须输入一系列操作参数。保持所有内容不变,除了 product_name
输入您的域名或您选择的昵称。
使用在安装阶段输入的数据更改对 sql server
的访问数据很重要。完成后,单击“下一步”继续。
第二阶段完成后,测试服务器的 IMAP / SMTP
参数以验证 Roundcube
是否能够发送/接收邮件。
完成后,通过运行以下命令删除 /var/www/html/roundcubemail/installer
文件夹中安装所需的所有文件:
$ sudo rm -rf /var/www/html/roundcubemail/installer
如果要修改或更改在配置阶段输入的参数,始终可以修改 /var/www/html/roundcubemail/config/config.inc.php
目录中的文件。
访问网络邮件
我们的 Roudcube
实例已准备好在 URL http://mail.domain.com/
上使用。然后,使用配置了 Dovecot
的邮箱的登录详细信息登录。
结语
到这里我们就完成了RoundCube 的安装,整个安装步骤需要很多的软件支持,所以大家要有耐心保证每一个步骤都是成功的,否者会在后面的使用中遇到各种莫名其妙的问题,祝大家成功,如果安装过程中遇到什么问题,欢迎在下方评论区讨论!
如何在 CentOS 7 上使用 RoundCube 管理邮箱相关推荐
- 如何在Centos 7上用Logrotate管理日志文件
何为Logrotate? Logrotate是一个实用的日志管理工具,旨在简化对系统上生成大量的日志文件进行管理. Logrotate允许自动旋转压缩,删除和邮寄日志文件,从而节省宝贵的磁盘空间. L ...
- 如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序
@(tigerfive)[tigerfive][linux学习笔记][uwsgi][django][nginx] 前言 先决条件和目标 安装和配置VirtualEnv和VirtualEnvWrappe ...
- 如何在 CentOS 7 上安装 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- centos7 安装git_如何在 CentOS 7 上挂载 Amazon EFS 文件系统?
如何为数千个 Amazon EC2 实例提供大规模并行共享访问模式? 在本周,为大家做的分享是关于如何在 CentOS 7 上挂载 Amazon EFS 文件系统.Amazon EFS 可以让您的应用 ...
- 如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Let's Encrypt 是由 Internet Security Research Group (ISRG) 开发的一个自由.自动 ...
- 2019 年如何在 CentOS 7 上安装最新版 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- centos 使用java_如何在CentOS 8上安装Java
Java是用于构建不同类型的应用程序和系统的最流行的编程语言之一. Java有两种不同的实现,OpenJDK和Oracle Java,两者之间几乎没有区别,只是Oracle Java具有一些其他的商业 ...
- 如何在CentOS 7上安装Kubernetes Docker群集
如何在CentOS 7上安装Kubernetes Docker群集 Kubernetes是一个开源平台,用于管理由Google开发的容器化应用程序.它允许您在集群环境中管理,扩展和自动部署容器化应用程 ...
- 如何在CentOS 7上安装和使用PostgreSQL
原作者:米切尔·阿尼卡斯 转载来源:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql ...
- 如何在CentOS 7上安装和配置MySQL Cluster
翻译&转载:https://www.howtoforge.com/tutorial/how-to-install-and-configure-mysql-cluster-on-centos-7 ...
最新文章
- 用bitmap实现中位数的算法
- 【深度学习】李沐《动手学深度学习》的PyTorch实现已完成
- 女朋友竟然提出这种奇怪的要求......
- es6关于let和const的总结
- 讨论ALL_ROWS模式和FIRST_ROWS模式
- 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心
- 【Qt开发】Qt标准对话框之QMessageBox
- Android应用程序与SurfaceFlinger服务的连接过程分析
- yaml文件解析:c++篇
- java 定义动态接口_使用自定义annotation接口进行aspectj动态缓存
- java jdk动态代理 cglib动态代理demo
- ES6小实验-复习字符串
- C++游戏服务器框架笔记(二)_封装Socket类
- 有趣好玩恶搞的C语言程序,有趣搞笑的整人VBS小脚本(整菜鸟专用)
- android root 升级失败怎么办,手机root失败怎么办 安卓手机root失败原因分析
- 解决File “D:\ProgramData\Anaconda3\lib\site-packages\keras\engine\saving.py“,相关问题
- 浏览器goback跨域
- linux char大小,Linux基本数据类型大小——int,char,long int,long long int
- 做京东运营2年的感悟(转自派代网 乔先生)
- 古琴【A1】基本指法
热门文章
- 【读书笔记】《向上管理:如何正确汇报工作》
- FFMpeg-6、Libavdevice+SDL捕获显示摄像头、录屏
- 核心单词Word List 3
- 通过css和html构建能耗数据分析树状图
- 谈谈自己对做软件开发这一行业的想法
- some phrase for oral english
- 滑动切换下一个视频,点击暂停视频,再次点击播放视频,很多案列pc预览正常,真机调试就不能用了;此案例我手机是可以用的,废话不多说直接上源码
- ISCSI 客户端远程挂载块设备卡住
- 计算机的声卡怎么安装教程,图文详解如何安装声卡驱动_给电脑安装声卡驱动的详细教程...
- 使用HTML实现图片切换/轮播