ubuntu sendmail 安装 ubuntu 20.04安装

本篇文章给大家谈谈ubuntu sendmail 安装,以及ubuntu 20.04安装对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

Ubuntu 下使用 CloudFlare 动态域名的方法

需求

首先保证你有一个自有域名,然后登录到CloudFlare,添加你的域名。遵循指令操作,使用它给出的默认值就行了。你将让CloudFlare来托管你的域,所以你需要调整你的注册机构的设置。如果你想要使用子域名,请为它添加一条‘A’记录。目前,任何IP地址都可以。

DDclient是一个Perl客户端,用于更新动态DNS网络服务提供商帐号下的动态DNS条目。它最初是由保罗·巴利编写的,现在大多数是由维姆潘科在做。它能做的不仅仅是动态DNS,也可以通过几种不同的方式获取你的WAN口IP地址。

CloudFlare的一个功能是它允许你通过API或叫做ddclient的命令行脚本更新你的DNS记录。不管哪一个,结果都一样,而且它是个免费软件。

不幸的是,ddclient并不能在CloudFlare中即开即用。它需要打补丁,这里就是要介绍怎样在Debian或Ubuntu上破解它,它也能在带有Raspberry Pi的Raspbian上工作。

在Ubuntu上安装ddclient

打开终端,并运行以下命令

sudo apt-get install ddclient

现在,你需要使用以下命令来安装补丁

sudo apt-get install curl sendmail libjson-any-perl libio-socket-ssl-perlcurl-O patch/usr/sbin/ddclient ddclient-3.8.0-cloudflare-22-6-2014.patch

以上命令用来完成ddclient的安装和打补丁

配置ddclient

你需要使用以下命令来编辑ddclient.conf文件

sudo vi/etc/ddclient.conf

添加以下信息

##### CloudFlare(cloudflare.com)###ssl=yesuse=web, web=dyndnsprotocol=cloudflare,/server=www.cloudflare.com,/zone=domain.com,/login=you@email.com,/password=api-key/host.domain.comComment out:#daemon=300

你的 api-key可以从 CloudFlare帐号页面找到,ssl=yes可能已经设置,use=web, web=dyndns表示使用 dyndns来确定 IP(用于 NAT)。

你已经搞定了。登录到 并检查列出的与你域名对应的IP地址是否与 列出的相匹配。

使用以下命令来验证你的设置

sudo ddclient-daemon=0-debug-verbose-noquiet

ubuntu中配置sendmail,在线等

sendmail.cf是Sendmail的配置文件,它全权决定了Sendmail的属性。这个文件定义邮件服务器为哪个域工作。其中的内容为特定宏,大多数人对它都抱有恐惧心理,因为文件中的宏代码实在是太多。sendmail.cf通常是由一个以mc结尾的文件编译产生。如Redhat自带一个redhat.mc,用户可以自己修改其中的一些设置,使之适合自己。笔者的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 package installed for this to work.

include(`/usr/lib/Sendmail-cf/m4/cf.m4')

define(`confDEF_USER_ID',``8:12'')

OSTYPE(`Linux')

undefine(`UUCP_RELAY')

undefine(`BITNET_RELAY')

define(`confAUTO_REBUILD')

define(`confTO_CONNECT', `1m')

define(`confTRY_NULL_MX_LIST',true)

define(`confDONT_PROBE_INTERFACES',true)

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')

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)

MAILER(smtp)

MAILER(procmail)

FEATURE(`access_db')

FEATURE(`blacklist_recipients')

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.

FEATURE(`accept_unresolvable_domains')

dnl FEATURE(`relay_based_on_MX')

编译sendmail.mc以产生需要的sendmail.cf文件:# m4/etc/sendmail.mc>/etc/mail/sendmail.cf。

生成sendmail.cf以后,编辑sendmail.cf。在文件中,查找DS,在其后加入邮件服务器名、域名,这样可以保证当你以username@mail.domain.com或username@domain.com发信时,用户都可以收到,如下所示:

# Alias for this host

Cw mail.domain.com domain.com

然后,就可以启动Sendmail了:#/usr/sbin/Sendmail-bd-q20m。

Sendmail 8.9.x以后的版本,在缺省情况下,都默认不对未验证的计算机进行转发(Relay),所以如果要为本机以外的其他计算机进行邮件转发,这时,应该在相应的配置文件中明确告诉Sendmail要对哪几个主机进行转发。如果不考虑验证,对任何主机都进行转发的话,可以在sedmail.mc文件中加入一行:FEATURE(promiscuous_relay)。

不过,如果你的计算机是放在公网上的话,建议你不要这样做,因为这样做了以后,任何人都可以使用你的计算机进行转发邮件了,特别是一些别有用心的人或一些兜售客(spammer,垃圾邮件制造者)会利用你的邮件服务器的转发功能乱发大量的垃圾邮件。

使用说明

通常情况下,Sendmail不会为邮件服务Relay信息,这样可以防止一些有恶意的人利用别人的邮件服务器乱发邮件。缺省情况下,Sendmail关闭了Relay功能。如果你要为别的服务器Relay邮件,可以进行如下设置——在access文件中加入要为其Relay信件的机器,格式为:

hostname RELAY

ipaddress RELAY

如果要为一个域内多个机器Relay信件,则可以在/etc/mail/access文件中直接加入其子网IP或域名,如下所示:

access文件内容:

domainname.com RELAY(允许为域domainname的所有计算机relay邮件)

localhost RELAY

192.168.1.0 RELAY(为192.168.1.0此网内所有机器relay邮件)

此文件惟一决定了哪些机器、哪个域可以使用邮件服务器转发邮件。完成后需要进行编译:#makemap hash access.db< access。

其他配置的文件关系不是很大,可以暂时使用缺省安装的内容。至此,Sendmail应该可以正常工作了。

接下来是测试邮件服务器的邮件发送功能,注意:测试时,不要只对本地用户进行测试,如:你的域为abc.com,测试时,不要只在邮件服务器上测试user1@abc.com用户。因为,此时user1是本地用户,所以邮件服务器可以对其进行Relay。你应该从局域网上的另一台机器使用Outlook等邮件客户端对服务器进行测试。

如何在CentOS Linux下安装ASTERISK和FreePBX

下面给出在linux上安装Asterisk,FreePBX的基本步骤。

1.首先是更新系统(可选)

在命令行中输入

sudo apt-get update

sudo apt-get upgrade

2.安装LAMP(Apache2+MySQL+PHP)

在命令行输入

sudo tasksel

选择 LAMP Server

3.添加额外的PHP软件包

sudo apt-get install php5-gd php-pear php-db sox curl

4.安装phpmyadmin(可选)

sudo apt-get install phpmyadmin

5.安装asterisk

sudo apt-get install asterisk asterisk-mysql asterisk-mp3

6.安装Freepbx准备工作

在安装Freepbx我们先要想好将Freepbx安装在哪个目录下,FreePBX为asterisk的Web管理应用,可以帮助用户配置Asterisk等。

1) Ubuntu的Web根目录为/var/www,因此我们可以把FreePBX安装到/var/www/freepbx目录下,为便于管理,创建三个子目录conf设置文件

log存放日志

public WEB应用。

sudo mkdir/var/www/freepbx/

sudo mkdir/var/www/freepbx/conf

sudo mkdir/var/www/freepbx/log

sudo mkdir/var/www/freepbx/public

2)创建设置文件/var/www/freepbx/conf/vhost.conf

sudo vim/var/www/freepbx/conf/vhost.conf

输入以下内容

<VirtualHost*:80>

ServerName freepbx

ServerAlias freepbx

ServerAdmin james.shen@guidebee.com

ErrorLog/var/www/freepbx/log/error.log

CustomLog/var/www/freepbx/log/access.log combined

DocumentRoot/var/www/freepbx/public

<Directory/var/www/freepbx/public>

Options Indexes FollowSymLinks MultiViews

Order allow,deny

AllowOverride All

Allow from all

</Directory>

<Directory/var/www/freepbx/public/admin>

AuthType Basic

AuthName"Restricted Area"

AuthUserFile freepbx-passwd

Require user admin

</Directory>

</VirtualHost>

修改 ServerAdmin到你自己的Email地址。

3)将vhost添加到 Apache的sites-enabled目录下

sudo ln-s/var/www/freepbx/conf/vhost.conf/etc/apache2/sites-available/freepbx

cd/etc/apache2/sites-enabled/

sudo ln-s../sites-available/freepbx

4)创建用户和密码来验证合法用户可以来配置FreePBX(有权限访问该网页)

sudo htpasswd-c/etc/apache2/freepbx-passwd admin

5)重启Apache

sudo/etc/init.d/apache2 restart

有了这些准备工作后,就可以开始安装FreePBX了

7.安装FreePBX

1)下载FreePBX安装包

cd/tmp

wget

cd/usr/src

sudo tar xvzf/tmp/freepbx-2.8.1.tar.gz

cd freepbx-2.8.1/

2)创建数据库

mysqladmin create asterisk-u root-p

mysqladmin create asteriskcdrdb-u root-p

mysql-u root-p asterisk< SQL/newinstall.sql

mysql-u root-p asteriskcdrdb< SQL/cdr_mysql_table.sql

3)创建数据库用户

mysql-u root-p

在SQL命令行输入GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY‘badasspassword’;

GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY‘badasspassword’;

flush privileges;

quit;

注意将badasspassword换成你自己选择的密码。

4)备份modules.conf, FreePBX安装时会修改Apache的配置文件

sudo cp/etc/asterisk/modules.conf~/asterisk-modules.conf

5)安装FreePBX

sudo./install_amp

输入对应的参数

Enter your USERNAME to connect to the'asterisk' database:

[asteriskuser] asterisk

Enter your PASSWORD to connect to the'asterisk' database:

[amp109] badasspassword

Enter the hostname of the'asterisk' database:

[localhost]

Enter a USERNAME to connect to the Asterisk Manager interface:

[admin]

Enter a PASSWORD to connect to the Asterisk Manager interface:

[amp111]

Enter the path to use for your AMP web root:

[/var/www/html]

/var/www/freepbx/public

Enter the IP ADDRESS or hostname used to access the AMP web-admin:

[xx.xx.xx.xx] freepbx

Enter a PASSWORD to perform call transfers with the Flash Operator Panel:

[passw0rd] password

Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?

[extensions]

Enter directory in which to store AMP executable scripts:

[/var/lib/asterisk/bin]

6)恢复asterisk-modules.conf

sudo cp~/asterisk-modules.conf/etc/asterisk/modules.conf

7)添加asterisk用户

sudo adduser www-data asterisk

修改权限/etc/amportal.conf中添加

AMPASTERISKUSER=www-data

AMPASTERISKGROUP=asterisk

AMPASTERISKWEBUSER=www-data

AMPASTERISKWEBGROUP=asterisk

重启amportal

sudo amportal start

8)使用amport启动Asterisk

sudo update-rc.d-f asterisk remove

sudo sed-e s/BACKGROUND=0/BACKGROUND=1/-i/usr/sbin/safe_asterisk

修改/etc/rc.local

在exit 0前添加

/usr/local/sbin/amportal start

至此,安装完毕。

阅读剩余
THE END