如何在 Ubuntu 环境下搭建邮件服务器

如何在 Ubuntu 环境下搭建邮件服务器,第1张

1先决条件

每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域exampletst。在这个假设域名的DNS服务器应该在至少以下记录。

exampletst的forward zone配置:

IN MX 10 mailexampletst

mailexampletst IN A 192168101

exampletst的Reverse zone配置:

192168101 IN PTR mailexampletst

在配置邮件服务器的过程中,这些记录可以根据系统的要求进行修改。

2设置主机名

首先,必须在/etc/hostname和/etc/hosts文件中指定邮件服务器的主机名。前者应仅包含主机名。

root@mail:~# vim /etc/hostname

mail

root@mail:~# vim /etc/hosts

## IP Fully Qualified Domain Name Hostname ##

192168101 mailexampletst mail

增加用户

每一个Linux用户,在默认情况下,系统会为其自动创建一个邮箱。这些用户和邮箱将被用作电子邮件帐户和它们各自的邮箱。创建一个用户是很容易的。

root@mail:~# adduser fourbyte

安装和配置SMTP

服务: postfix

配置文件路径 /etc/postfix/

执行脚本 /etc/initd/postfix

日志文件 /var/log/maillog

端口 TCP/25

SMTP:安装postfix

postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量级的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。

root@mail:~# apt-get install postfix

在安装过程中,需要指定电子邮件服务器和域名的类型。

由于此邮件服务器就会直接向目的地发送电子邮件,我们选择Internet Site。

邮件服务器的域名也需要配置,这可以从确保该邮件服务器发送的所有邮件都有@ exampletst作为发件人域。

postfix的配置文件存储在/etc/postfix目录。下面的配置文件是非常重要的。他们中的一些可能不存在,因此需要手动创建。

transport:主要用于定义邮件如何被路由到特定的目标域。绕过DNS查询可以是一个很好的例子。在这种情况下,人们可以发送到域XYZcom的电子邮件直接通过IP地址XYYX不考虑任何DNS查询的结果。

access:可用于安全目的,如阻止发件人/收件人和他们的域名。

aliases:用于定义用户别名。例如,发送到userA的邮件可以由userB和userC接收。

maincf:是postfix的配置文件。

SMTP:准备配置文件

差不多可以准备配置文件了。transport与aliases配置文件没有默认提供,需要手动创建。

root@mail:~# cd /etc/postfix

root@mail:/etc/postfix# touch transport aliases

maincf

首先需要备份maincf然后再进行修改。根据下面的配置添加或修改配置文件。有关参数的更多详细信息,请参阅官方README和配置手册。

root@mail:/etc/postfix# vim maincf

## the name of the server ##

myhostname = mailexampletst

## alias definitions ##

alias_maps = hash:/etc/postfix/aliases

alias_database = hash:/etc/postfix/aliases

## transport definition ##

transport_maps = hash:/etc/postfix/transport

## myorigin defines the domain name for emails originated from this server In this case, all outgoing mail should have '@exampletst' as sender domain ##

myorigin = exampletst

## mydestination parameter specifies what domains this machine will deliver locally, instead of forwarding to another machine ##

mydestination = mailexampletst, localhostexampletst, localhost, hash:/etc/postfix/transport

## the smarthost address Not used in this tutorial and will be covered in the future##

relayhost =

## the trusted sender networks postfix will not forward mails originated from other subnets ##

mynetworks = 127000/8 [::ffff:127000]/104 [::1]/128 192168100/24

## mailbox size in bytes 0 denotes no limit ##

mailbox_size_limit = 0

## postfix will listen on all available interfaces ie eth0, eth1, eth2 and so on ##

inet_interfaces = all

transport

邮件域exampletst被定义为在本地传递不需要任何DNS查询。

root@mail:/etc/postfix# vim transport

exampletst local:

exampletst local:

root@mail:/etc/postfix# postmap transport

aliases

假设所有发送到userA的所有电子邮件可以由userB接收,别名文件需要按如下所述进行修改。

下载Ubuntu系统

  首先是找到下载页面,然后点击服务器版的下载地址。下载完最新版本的软件后,你把ISO文件刻录到CD上。于是,你就可以从光盘启动服务器了,整个操作系统的安装大概需要20分钟的时间。

  安装完成后,操作系统自动启动到命令行提示符。这时,你登录你的姓名,按ENTER键,添加你的密码。然后,键入“sudo apt-get install ubuntu-desktop”命令就会解开Ubuntu系统的图形界面。

  服务器版的Ubuntu通常只包含一个命令行界面。经过约20分钟,你就可以重新启动机器,并使用鼠标来操作你的桌面了。

  更改IP设置

  如果你目前连接到一个DHCP路由器,Ubuntu在网络链路方面不会有任何问题。 当你准备开始提供文件服务时,你可能会希望手动配置IP地址,以使客户端更容易恢复。

  然后对系统访问、参数设置、网络配置进行更改。点击IPv4设置选项卡,改成手工设置。点击加入IP地址,然后选择“OK”。

  最后对你的路由器进行设置,或者储备一个静态地址并将DHCP设置动态发送到其它客户端,或整个网络都采用手动设置IP地址的方式。

  添加用户

  在系统、管理器、用户和组里增加新的用户。按一下解锁键,输入你的密码,然后点击验证。单击添加用户,增加一个新的网络登录名和密码,如此重复增加那些需要访问该服务器的用户。

  如果他们不需要访问服务器,那设置的配置文件就不需要访问权限,而只要成为桌面用户即可。单击管理组,把那些所有需要访问服务器的用户添加到一个组里。

  共享文件

  接下来开始选择那些需要共享的主文件夹,设定为本地属性或者共享属性。继续打开下一层的文件夹,激活共享文件夹,然后点击创建共享。

  如果要对整个组的用户赋予文件夹的访问权限,那只要打开权限表,给相应的组设置打开、关闭和写、删除文件的权限就可以了。

  通过上述步骤,就用Ubuntu系统建立起了一个免费的文件服务器。

1、首先安装SVN这个软件

apt-get install subversion

2、在home目录下创建一个名为svn的文件夹(文件夹的名字随便起)

mkdir /home/svn

3、创建数据仓库(可以根据需要创建多个)

svnadmin create /home/svn/test

4、启动svn网络服务

svnserve -d -r /home/svn

其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。

/home/svn指定svn数据仓库存放的目录位置

5、设置svn: 方式的访问权限

在每个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserveconf 这个文件,找到以下几行,

并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。

但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。

password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserveconf 在

同一个目录,下面看看怎么配置 passwd文件中的内容。

[user]

# harry = harryssecret

# sally = sallyssecret

harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上

自己的用户名和密码,比如

testsvn = tester

这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式可以运行了!

把所有需要管理的项目都放在 /home/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。

这样就可以使用svn客户端通过 “svn co svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。

最近升级了下linode,发现svn 不能提交和更新,报svn: E000061: Unable to connect to a repository at URL这样的错误,后来查了些资料,原来是svn的端口没有打开,svn的默认端口是3690,在ubuntu里查看端口打开情况,命令是 netstat -anp,把svn服务重新启动下就可以了,命令为svnserve -d -r /home/svn

1、首先这里安装openssh-server openssh-client,如果用的是VPS之类的一般都默认安装好了,不过运行一个这个命令不会有错的,如果有安装就会提示已安装。

sudo apt-get -y install openssh-server openssh-client

2、安装git,这个核心软件,不可或缺。

sudo apt-get -y install git

3、添加gitolite用户和同名用户组,加上--system参数,用户就不会在登陆界面显示。

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite

4、生成ssh key,一路回车下来。

ssh-keygen -t rsa

5、将当前用户的ssh pub key复制到/tmp下备用。

cp ~/ssh/id_rsapub /tmp/ubuntugegepub

如果你是ssh远程登陆到服务器上安装,就要把本地的key复制到远程的机器上

scp ~/ssh/id_rsapub gitoliteserver:/tmp/ubuntugegepub

6、安装gitolite,在ubuntu中已经集成了,不用自己去下载。

sudo apt-get -y install gitolite

7、切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。

sudo su - gitolite

8、执行初始化安装gitolite。

gl-setup /tmp/ubuntugegepub

9、把管理库gitolite-admin克隆过来就可以开始gitolite用户及代码库的管理了,如果不能克隆,那么就说明初始化的ssh pub key错了,如图就是成功了。

git clone ssh://gitolite@localhost/gitolite-admingit

今天看到果壳第一届MC建筑比赛才发现果壳也有MC小组诶~然后我就来秀一下自己仅存的一点技能了。。那就是在ubuntu上搭forge服务器。为什么是在linux上?因为我手边没有windows,还有就是因为能展现zhuang技术bi。

话不多说,下面是正文。服务器版本是1710,Forge-1710-101321291

1、安装必要组件,我很推荐装一个screen,因为这样你可以让服务器在后台跑

apt-get install screen default-jdk

在安装完java之后,用java -version看一下是否安装正确

2、创建一个MC服务器的目录并且切换过去

mkdir /yourpath/minecraft/

cd /yourpath/minecraft //yourpath改为自己想要的路径

3、下载MC服务器的压缩包

wget -O minecraft_serverjar https://s3amazonawscom/MinecraftDownload/versions/1710/minecraft_server1710jar (这是一行)

cp minecraft_serverjar minecraft_server1710jar

4、启动服务器

java -Xmx2048M -Xms2048M -jar minecraft_serverjar nogui

提示没有同意EULA

5、签署“两个同意”文件

如果有不会用vi编辑器的同学,留言或者百度,我懒的写。。

vim eulatxt

eula=true 这里本来应该是false的

vim serverproperties 这个文件里应该还有端口和地图名字、服务器欢迎语句的设置

online-mode=false

6、如果你想玩的是原版的MC服务器,那么再次启动服务器,你的服务器就这么架设好了

java -Xmx2048M -Xms2048M -XX:ParallelGCThreads=16 -jar minecraft_serverjar nogui

(-Xmx最大内存 -Xms最小内存 -XX:ParallelGCThreads同时调用CPU数量,建议一半或1/4或者不设)

下面开始讲Forge

1、下载Forge必要组件

cd /yourpath/minecraft

wget http://filesminecraftforgenet/maven/net/minecraftforge/forge/1710-101321291/forge-1710-101321291-installerjar

wget http://filesminecraftforgenet/maven/net/minecraftforge/forge/1710-101321291/forge-1710-101321291-universaljar

2、安装forge server

java -jar forge-1710-101321291-installerjar nogui --installServer

3、启动forge server

java -jar forge-1710-101321291-universaljar nogui

启动完毕后输入 /stop 关闭服务器

4、将forge server合并到MC服务器

mkdir unzip

cd unzip

unzip /minecraft_server1710jar

unzip /forge-1710-101321291-universaljar

Archive: /forge-1710-101321291-universaljar (这两句是上面那句命令的结果)

replace META-INF/MANIFESTMF [y]es, [n]o, [A]ll, [N]one, [r]ename: A

zip -r /Forge-minecraft_server1710jar

5、启动服务器

java -Xmx8192M -Xms4096M -XX:ParallelGCThreads=16 -jar Forge-minecraft_server1710jar nogui (这是一整行)

搞定~

mod的安装和Windows上并没有什么区别,只要会用cp和wget命令就好了~

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在 Ubuntu 环境下搭建邮件服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情