如何在Linux下安装Sendmail服务器软件的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux下安装Sendmail服务器软件的方法相关的知识,希望对你有一定的参考价值。

参考技术A RedHatLinux9.0操作系统Sendmail邮件服务器一.安装Sendmail完全安装RedHatLinux9.0时,Sendmail就会自动内置,版本号为8.12.8-4。如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:[root@ahpengroot]rpm–qagrepsend 参考技术B 1、从www.sendmail.org下载最新的版本(这个snedmail倒是有必要升级为最新的版本,因为它的升级主要是安全漏洞问题)。这里说明的是用的sendmail-8.12.2.tar.gz
2、cd /usr/local/src/
3、把文件下载到:/usr/local/src中
4、tar zxvf sendmail-8.12.2.tar.gz
5、cd /usr/local/src/sendmail-8.12.2
6、chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
7、chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
8、cd /usr/local/src/sendmail-8.12.2/sendmail
9、sh Build
10、cd /usr/local/src/sendmail-8.12.2/cf/cf
11、建立文件sendmail.mc内容如下,你可根据需要修改相应部分。
divert(-1)
dnl This is the macro config file used to generate the /etc/sendmail.cf
dnl file. If you modify thei file you will have to regenerate the
dnl /etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl m4 /etc/sendmail.mc > /etc/sendmail.cf
dnl You will need to have the Sendmail-cf pacage installed for this to work.
include(`/usr/local/src/sendmail-8.12.2/cf')
define(`confDEF_USER_ID',`8:12')
OSTYPE(`linux')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
define(`confTO_CONNECT', `1m')
define(`confTRY_NULL_MX_LIST',true)
define(`confDONT_PROBE_INTERFACES',true)
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')
define(`SMART_HOST',compaq.rd.xxx.com)
<---这条用于(非HUB)缺省使用HUB发送邮件
MASQUERADE_AS(`rd.xxx.com')
<-------------------------
FEATURE(`masquerade_entire_domain')
<---这三条用于邮件地址伪装
FEATURE(`masquerade_envelope')
<-------------------------
FEATURE(`smrsh',`/usr/sbin/smrsh')
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
FEATURE(`access_db')
FEATURE(`blacklist_recipients')
FEATURE(`accept_unresolvable_domains')
MAILER(smtp)
MAILER(procmail)
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that do
dnl not hav 24x7 DNS do need this.
dnl FEATURE(`relay_based_on_MX')
12、sh Build install-cf
13、groupadd smmsp
14、useradd smmsp
15、cd cd /usr/local/src/sendmail-8.12.2/sendmail
16、sh Build install
17、cd /usr/local/src/sendmail-8.12.2/makemap
18、sh Build clean
19、sh Build all
20、sh Build install
21、cd /usr/local/src/sendmail-8.12.2/
22、在本域DNS主数据库文件中增加MX纪录:
rd.xxx.com. IN MX 0 compaq
注意修改相应部分。那个0是有几个邮件集中器的时候用于标记先后顺序的。当有好几个MX的时候,建议顺序写为10、20、30…
23、在/etc/mail目录下创建access文件,内容类似如下:
127.0.0.1 RELAY
21.9.22 RELAY
211.99.221.238 RELAY
然后:makemap hash access.db < access
24、创建文件/etc/mail/local-host-names,其内容为本机的拥有的域名信息。
rd.xxx.com
compaq.rd.xxx.com
25、创建文件/etc/mail/aliases,内容类似:
MAILER-DAEMON: postmaster
postmaster: root
bin: root
daemon: root
nobody: root
运行newaliases创建数据库。
创建别名文件的意义之一在于当邮件发往域中其他邮件服务器的用户而不是mail HUB用户的时候用。
比如增加一条:
atan: atan@fbsd
则导致邮件发往mail HUB的时候自动转发到atan@fbsd.rd.xxx.com
26、启动sendmail: /usr/sbin/sendmail -bd -q30m
排错:如果有问题导致启动不了,大部分问题和DNS配置有关,可以使用nslookup检查DNS是否正常。挨个检查/etc/mail中的文件内容也是排错的好办法。另外,修改配置,不建议直接编辑sendmail.cf文件,建议使用m4宏编译工具,因为有些带有安全漏洞或过时的宏在编译的时候会有提示,这样以免造成相关安全问题。

通过上面文章,我们应该了解了在Linux下安装Sendmail服务器的方法,希望对你们有帮助!

如何在linux下开启FTP服务

如何在linux下开启FTP服务


1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:
   #which vsftpd
   如果看到有vsftpd的目录说明服务器已经安装了ftp软件

2. 查看ftp 服务器状态     
   #service vsftpd status

3. 启动ftp服务器     
   #service vsftpd start

4. 重启ftp服务器 
   #service vsftpd restart

5. 查看服务有没有启动
   #netstat -an | grep 21
   tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
 
   如果看到以上信息,证明ftp服务已经开启。

6.如果需要开启root用户的ftp权限要修改以下两个文件
  #vi /etc/vsftpd.ftpusers中注释掉root
  #vi /etc/vsftpd.user_list中也注释掉root
  然后重新启动ftp服务。
 
7. vsftpd 500 OOPS: cannot change directory
   登陆报错:
   C:\\>ftp 192.168.0.101
   Connected to 192.168.0.101.
   220 (vsFTPd 2.0.5)
   User (192.168.0.101:(none)): frank
   331 Please specify the password.
   Password:
   500 OOPS: cannot change directory:/home/frank
   Login failed.
   ftp> ls
   500 OOPS: child died
   Connection closed by remote host.

   解决方法:
   setsebool ftpd_disable_trans 1
   service vsftpd restart

   就OK了!
 
   这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。

8. 永久开启,即os重启后自动开启ftp服务
    方法一:
     cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
     vi /etc/xinetd.d/gssftp  ,将 修改两项内容:
   
     (a) server_args = -l –a  去掉-a 改为server_args = -l
     (b) disable=yes改为disable=no
     (c) 保存退出。

     方法二:
      (a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2.,保存后退出

  (b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右

  (c) #setup
    此时能看到vsftpd项,此时选中此services项,保存后退出.

以上是关于如何在Linux下安装Sendmail服务器软件的方法的主要内容,如果未能解决你的问题,请参考以下文章

CentOS下配置sendmail外部邮箱

linux下多个sendmail服务器怎么互发邮件

sendmail 在linux 中如何启动

sendmail 在linux 中如何启动

linux邮件服务器如何安装

linux》centos6.1.环境下发送邮件设置