配置squirrelmail需要搭建LAMP架构环境,下面来搭建LAMP架构
[root@mail ~]# yuminstall -y \
> httpd \
> mariadb-servermariadb \
> php \
> php-mysql \
> php-gd \
> libjpeg* \
> php-ldap \
> php-odbc \
> php-pear \
> php-xml \
> php-xmlrpc \
> php-mhash //安装lamp架构的软件包和插件包,反斜杠表示强制换行
----------配置apache服务器-----------
[root@mail ~]# vi/etc/httpd/conf/httpd.conf //修改httpd的配置文件
ServerNamemail.test.com //找到修改主机名即客户浏览器访问的网址名
DirectoryIndexindex.html index.php //找到并修改httpd服务器识别的默认网页名
[root@mail ~]# vi/etc/php.ini //修改php初始文件
date.timezone =PRC //找到并修改时区为东八区
[root@mail ~]#systemctl start httpd //启动apache服务器
[root@mail ~]#systemctl start mariadb //启动mariadb数据库
[root@mail ~]#netstat -anpt | grep 80 //查看httpd服务的80端口是否在监听,在监听则服务器启动成功
[root@mail ~]#netstat -anpt | grep 3306 //查看数据库3306端口是否在监听,在监听则启动成功
[root@mail ~]#mysql_secure_installation //对数据库进行安全配置,设置root数据库密码,其余的全部y即可
[root@mail ~]# vi/var/www/html/index.php //编辑php测试页面
<?php
phpinfo();
?> //调用一个函数,输出php配置信息到页面中
下面可以用与其相连的真机浏览器访问测试页,域名或ip地址访问均可,显示如下则表示httpd服务器工作没有问题。
-----------配置mariadb数据库----------
[root@mail ~]#mysql -u root -p //root用户以密码登录数据库
进入数据库之后执行下列语句
CREATE DATABASEabc; //建立数据库abc
GRANT all ON abc.*TO 'mail'@'%' IDENTIFIED BY '123456'; //授权mail用户有数据库sbc所有权限,密码为123456在所有地方都可以登录
flush privileges;
[root@mail ~]# vi/var/www/html/index.php //修改php主页为以下内容,用于测试数据库连通性
<?php
$link=mysql_connect('192.168.80.181','mail','123456');
if($link) echo"<h1>Success!!</h1>";
else echo"Fail!!";
mysql_close();
?>
------下面去浏览器进行网页测试-------
输出结果为Success!!,数据库连通性没问题。
到此为止LAMP架构已搭建完毕,接下来安装squirrelmail测试
------------配置squirrelmail收发邮件-----------------
http://www.squirrelmail.org/download.php这个网站可以下载squirrelmail源码包
[root@mail ~]# tarxzvf squirrelmail-webmail-1.4.22.tar.gz //解压小松鼠源码包
[root@mail ~]# tarxzvf all_locales-1.4.18-20090526.tar.gz -C squirrelmail-webmail-1.4.22 //接下汉化包并放到小松鼠源码解压目录下
[root@mail ~]# cp-rv squirrelmail-webmail-1.4.22 /var/www/html/mail //将文件夹复制到指定位置并重命名
[root@mail ~]# cd /var/www/html/mail
[root@mail mail]#mkdir attach //进入工作目录新建附件保存文件夹
[root@mail mail]#chown -R apache:apache attach/ data/ //修改文件夹的属主和属组保证小松鼠能顺利运行
[root@mail mail]#cd config
[root@mail config]#cp config_default.php config.php //拷贝配置模板作为小松鼠的配置文件
[root@mail config]#vi config.php //修改配置文件以下参数
$domain ='test.com'; //输入postfix域名
$imap_server_type ='dovecot'; //imap收信服务为dovecot
$data_dir ='/var/www/html/mail/data'; //数据文件夹路径
$attachment_dir ='/var/www/html/mail/attach/'; //附件存放路径
$squirrelmail_default_language= 'zh_CN'; //默认语言为中文
$default_charset ='zh_CN.UTF-8'; //默认编码为UTF-8
保存退出后去真机用浏览器测试,输入网址为http://mail.test.com/mail/
跳出如图页面,并输入用户名和密码,能够登录表示测试成功。
登录测试成功,测试收发信功能:使用tom登录给jack发送邮件
登录jack发现收到邮件,收发件测试成功。
----------------设置邮件组--------------------
[root@mail config]#vi /etc/aliases //编辑组别名
student:jack,tom //添加jack,tom到学生组
[root@mail config]#newaliases //生成hash数据库文件
[root@mail config]#vi /etc/postfix/main.cf
alias_maps =hash:/etc/aliases //在配置文件中找到改行并修改邮件组用户
[root@mail config]#systemctl reload postfix //重新加载读取postfix服务器
[root@mail config]#useradd -g mailusers -s /sbin/nologin lucy
[root@mail ~]#passwd lucy //添加lucy用户向student组发信
------------------测试向student@aa.com发信的时候jack,tom都会收到-------------------------
用lucy账户登录并向student组发信
分别登录jack,tom发现都收到了lucy的邮件,邮件组测试成功。
----------------设置邮件大小-----------------
[root@mail ~]# vi/etc/postfix/main.cf //修改postfix配置文件
添加message_size_limit = 5120000 //邮件大小限制,单位是Byte
[root@mail ~]#systemctl reload postfix
可以用客户端添加超过5M的附件邮件测试,这里我们用小松鼠的汉化包
不添加附加,发送成功,tom成功收信
添加附件超过5M,发送失败
测试成功
--------------对用户设置磁盘配额,限制邮箱大小--------------
[root@mail ~]#mount -o usrquota,grpquota /dev/sda5 /home/ //对home目录进行挂载并磁盘配额
[root@mail ~]#quotaon /home/ //开启磁盘配额
[root@mail ~]#edquota jack //配置jack用户的配额
Filesystem blocks soft hard inodes soft hard
/dev/sda5 84 10000 20000 43 3 5
//配置硬限制大小为20M,文件数目为5个
将之前服务器上jack的邮件都删除了,进行限额测试
会发现用tom账号给jack发邮件,jack一封邮件都收不到,而且会退回给tom账号上图所示的系统邮件,这是因为限额的5个文件的限制太小了,因为在/home/jack/Maildir/目录下就已经有不止5个jack用户的文件了,如下图
而我们将邮件数目限额去掉之后发现,jack可以收到邮件了。
由此可见邮件数的配额是有效果的,下面我们再去测试邮件大小限额。
继续使用tom发送邮件给jack,添加5.3M的附件,一共发了4封,发现jack只能收到2封。
还有2封系统发送错误报告回给了tom,给邮箱做限额测试也成功了。