LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 31972|回复: 58

LINUX 服务器配置大全

[复制链接]
发表于 2003-5-2 16:40:49 | 显示全部楼层 |阅读模式
我也是刚开始学的,当初想到网上找详细一点的资料,真的很难找,相信还有不少和我一样的初学者也在找吧,所以我把最近的配置实例及一些简单的讲解写出来希望对我们这些初学者有所帮助!当然我也是个初学者,错误肯定很多,希望高手给以指正!
由于时间比较少,暂时还没有写完,如果有人顶的话,我将找时间把现在比较流行的服务器配置方法总结出来,希望和大家共同进步!




一: DNS服务器的设置
1.        编辑/etc/named.conf
          // generated by named-bootconf.pl

options {
             directory "/var/named";
                      /*
              * If there is a firewall between you and nameservers you want
              * to talk to, you might need to uncomment the query-source
              * directive below.  Previous versions of BIND always asked
              * questions using port 53, but BIND 8.1 uses an unprivileged
              * port by default.
              */
             // query-source address * port 53;
};

//
// a caching only nameserver config
//
controls {
             inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
             type hint;
             file "named.ca";
};

zone "mydomain.com" IN {
             type master;
             file "named.mydomain.com";
             allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
            type master;
            file "named.mydomain.com.rev";
            allow-update { none; };
};

zone "localhost" IN {
             type master;
             file "localhost.zone";
             allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
             type master;
             file "named.local";
             allow-update { none; };
};

include "/etc/rndc.key";


2.        编辑正向解析文件/var/named/named.mydomain.com
      $TTL          86400
@       IN      SOA    my.mydomain.com. root.my.mydomain.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
               IN     NS   my.mydomain.com.
               IN     MX 10 my.mydomain.com.

my IN A 192.168.1.50
www IN CNAME my.mydomain.com.
ftp IN CNAME my.mydomain.com.
smtp IN CNAME my.mydomain.com.
pop3 IN CNAME my.mydomain.com.

3.        编辑反向解析文件/var/named/named.mydomain.com.rev
$TTL            86400
@       IN      SOA    my.mydomain.com. root.ns.mydomain.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS     my.mydomain.com.

50       IN      PTR     my.mydomain.com.

4.        编辑/var/named/named.local文件
$TTL           86400
@       IN      SOA    my.mydomain.com. root.my.mydomain.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      my.mydomain.com.

1       IN      PTR     localhost.

5.        编辑/etc/resolv.conf
      # MADE-BY-RP-PPPOE
domain mydomain.com
nameserver 192.168.1.50
search localdomain






二: web服务器的设置
   只需对/etc/httpd/conf/httpd.conf进行部分修改即可
ServerTokens OS

ServerRoot "/etc/httpd"   注:指定守护进程httpd的运行目录

PidFile run/httpd.pid

Timeout 300  注:定义客户程序和服务器连接的超时间隔

KeepAlive Off  注:定义是否支持一次连接,多次传输功能

MaxKeepAliveRequests 100  注:一次连接可以进行的HTTP请求的最大请求次数

KeepAliveTimeout 15  注:一次连接中的多次请求传输之间的时间

MaxRequestsPerChild  0  注:每个子进程处理服务请求次数 0为无限次

Listen 80

User apache   注:指定用户和组
Group apache

ServerAdmin nangshou@mydomain.com  注:服务器管理员的E_MAIL地址

#ServerName 192.168.1.50:80  注:服务器域名,通常没有dns才需要

UseCanonicalName Off


DocumentRoot "/var/www/html" 注:指定网页文件存放位置


<IfModule mod_userdir.c>
   
    UserDir user_www    注:用于个人主页,一般为/home/user/网页文件目录

</IfModule>

DirectoryIndex index.html index.htm  index.php 注:指定网站首页名

AccessFileName .htaccess


Alias /manual "/var/www/manual"

<Directory "/var/www/manual">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
注:以上是设置针对目录进行文件的访问控制
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<IfModule mod_cgid.c>
Scriptsock            run/httpd.cgid
</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

AddDefaultCharset GB2312 注:网站支持的字符编码

注:以下是设置虚拟主机服务所需配置的地方
#NameVirtualHost 202.101.2.1 注:基于名字的虚拟主机必须,如基于IP地址则不需要

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#注:如果是基于IP地址的虚拟主机只需下面的设置即可
#<VirtualHost 202.101.2.1>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
注:基于名字即一个IP地址对应多个域名
   基于IP地址即每一个域名均有与之对应的IP
发表于 2003-5-2 17:03:21 | 显示全部楼层
顶!我要proftpd的详细配置文档!!最好带上范例.
发表于 2003-5-2 21:07:25 | 显示全部楼层
顶!真是太好了!
发表于 2003-5-2 23:23:34 | 显示全部楼层
well...
发表于 2003-5-3 00:40:20 | 显示全部楼层
写得不错,加入中文解释。。。能不能编完啊,在这里多谢nangshou
兄了,我正是看中LINX在服务器方面的表现啊!
发表于 2003-5-3 14:55:50 | 显示全部楼层

楼主真是雪中送碳!

顶!

:cool: 我想要代理服务器SQUID的配置方法!
先谢了!
:rolleyes:
 楼主| 发表于 2003-5-3 16:36:24 | 显示全部楼层

续一(我也是参考了别人的文章)

三: DHCP服务器的安装设置
1.        在安装光盘里找到dhcp-*.rpm,
2.        Rpm –ivh dhcp-*.rpm
3.        Setup/system serviceu将dhcp设为系统自启动
4.        配置/etc/dhcpd.conf文件
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.60 192.168.1.160; 注:IP地址分配范围
option routers 192.168.1.254; 注:默认网关
option subnet-mask 255.255.255.0; 注:默认子网掩码
option domain-name “mydomain.com”; 注:默认域名
option domain-name-servers 192.168.1.50,202.96.134.133;

四: 电邮(sendmail)服务器的设置
4.1 设置Sendmail.cf
请在Cwlocalhost之後加上你那一台机器所有可能用来当收信地址的host name 。 例如我有一台机器叫:ftp.mydoamin.com,而且也叫:email.mydomain.com,而我希望这一台机器这两个名字都能收信,那我要这么作:
    Cwlocalhost ftp.mydomain.com email.mydomain.com
    顺便说一下,Cw之後只能写入本机器的名字,千万不能写入其他机器的名字,否则,甚麽地方都能寄,那被写的就 一定不能寄。
    上面其实是简略的说法,如果你对DNS 也熟悉的话,可参考这节来作判断,判断是否须要在Cw之後写入东东。否则 请直接跳过这一小节,把本机器所用的所有名字都写上。
1.在一台机器上,如果有多个名字(hostname),而是用CNAME 建立的,如:
      $ORIGIN  my.mydomain.com
      ftp IN A 192.168.1.50
      email IN CNAME my.mydomain.com
那麽可以不必在Cw上标明。系统会透过DNS 找到其 Canonical name。
2.如果一台机器有多个名字,可是,每个名字是用A record 建立的。如:
      $ORIGIN  my.mydomain.com
      ftp IN A 192.168.1.50
emial IN A 192.168.1.50
这种情况【一定】要记得在Cw後写上你所要收信的名字。如果这个忘了写,会有怎样的问题呢? 忘了将会有从外面机器寄信来,没有写上的机器名将却收不到信,会提示:
      "Local configuration error" 。
如:我的sendmail.cf中的Cw这行是如下: Cw my.mydomain.com那我将无法使用这个地址: username@my.mydomain.com而只能用 username@ftp.mydomain.com 否则将出现上述错误。
如果发现了错误,那再加上去也就可以了。
3.如果一台机器有多interface ,各interface有其本身的名字,且要收信。这个情况也要在Cw之後写明所有要收信的hostname。
    Fw/etc/sendmail.cw 这一行表示让sendmail去哪里找sendmail.cw这个文件,这个文件很重要。
还有一行你可能也需要改一下:
R$*     $#error  $@ 5.7.1 $:"550 Relaying denied" 改成
R$-     $@ OK
注意:中间的分隔要用"Tab"键.
4.2 设置Sendmail.cw
修改sendmail.cw文件,设置这个邮件服务器用于发送邮件的主机的名字,可以用你的域名,或主机名。
# sendmail.cw - include all aliases for your machine here.
mydomain.com
mail.mydomain.com
my.mydomain.com
ok!一个标准的sendmail.cf文件就设置完了!
4.3 设置access
打开/etc/mail/access,你会看到 (注意一些系统的access文件不再/etc/mail下,如找不到请用whereis查找或检查是否安装正常)
# Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain                      RELAY
localhost                                  RELAY

如果您的IP地址是192.168.1.50的话,这样请在最后一行加上   192.168.1.50      RELAY
其文件的最后三行应是:
      localhost.localdomain                 RELAY
      localhost                             RELAY
      192.168.1.50                          RELAY

加上这句话您就可以用sendmail发送接收mail了!但是如果您想让别人也可以使用sendmail的话,他的IP是202.168.25.22,这样就在在最后一行加入     202.168.25.22       RELAY
其文件的最后四行应是:
      localhost.localdomain                  RELAY
      localhost                              RELAY
      192.168.1.50                           RELAY
      202.168.25.22                          RELAY

我想,您现在一定有个疑问是,如果我想设置50个人用sendmail是不是需要加50个IP啊!?嘿嘿,不用啦,是这样,sendmail考虑到多用户的时候,它准许你添入整个C类地址。其格式如下:
      localhost.localdomain                   RELAY
      localhost                               RELAY
      192.168.1                               RELAY

这样,您就是把192.168.1这整个C都加入的sendmail中,这个C类地址的用户,如果在你的系统里有账号的话,就可以使用sendmail收发信件了!然后运行:# makemap hash access.db < access
4.4 设置pop3
如果您需要pop3来接收信件,您需要打开pop3端口,
vi /etc/inetd.conf 查找到
# pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d把#号删掉。vi/etc/services 查找#pop-3  110/tcp   # POP version 3把#号删掉。这样,在restart inetd后,pop3 110端口就可以接信了!如果还是不行,请检查是否安装pop3端口!
4.5 sendmail的别名和forward
  (1) 关于直接用IP地址发信
mail user@[192.168.IP.Address]
只要用[]将IP地址括起来就行了

(2) 关于alias
sendmail在/etc下有两个文件 aliases和aliases.db, 后者是前者用newaliases 生成的别名数据库. 你可以手工编辑/etc/aliases, 然后运行newaliases更新数据 库(其实newaliases是个到sendmail的 symlink)
eg: nangshou : user@mydomain.com
alias-name: real-user-account
则以后mail nangshou就可以将信寄到user@mydomain.com处 而别人寄给alias-name@your.domain.name的信就会转给真正的用户real-user-account

(3) 关于forward
在你的$HOME目录下面编辑一个.forward文件, 里面写上你要forward的目的e-mail 地址或本机的用户名, 就可以自动将信 forward到相应地址
eg: .forward: user@mydomain.com
或 other-user-account
则给此人的e-mail会forward到mydoamin或other-user-account处

(4) 关于vacation
去找一个vacation包(如RedHat的contrib中有vacation的rpm), 装上后就一个 /usr/bin/vacation程序和一个man. 先运行vacation, 它会让你编辑$HOME/.vacation.msg文件, 就是要发回给对方 告诉他你现在不看信的东西啦. 然后编辑$HOME/.forward文件, 写这样一句 \username, "|/usr/bin/vacation username", username 要换回你自己的了 然后运行vacation -I建$HOME/.vacation.db就好了。

(5) 关于sendmail的一些文件
/var/log/maillog sendmail的log, 分析错误有用
/var/spool/mail/$USER 进来的信, 每个用户一个文件
/var/spool/mqueue mail queue, 可以用mailq看队列中待发的信
(mailq也是 sendmail的symlink了)
dfxxxxxx 这是信的内容
qfxxxxxx 这是信的subject和别的信息 (反正每信一个号了, 配对的)
/etc/sendmail.cf sendmail的配置文件, 改动它可要小心
/etc/sendmail.cw 假如你的机器有好多alias的话就把名字写在
这个文件中, 这样写哪个都能收到信
4.6 限制邮件的大小
vi /etc/sendmail.cf:
Mlocal, P=/bin/mail, F=lsDFMrmn, S=10, R=20/40,
Maxsize=1000000,
A=mail -d $u
Mprog, P=/usr/local/sendmail/smrsh, F=lsDFMeu, S=10, R=20/40, D=$z:/,
Maxsize=1000000,
其中maxsize=1000000即为限制数
 楼主| 发表于 2003-5-7 14:31:13 | 显示全部楼层
正在准备proftpd方面的东东!!!
发表于 2003-5-7 20:45:15 | 显示全部楼层
如果在access里面要允许任何主机都可以使用,那么应该怎么配置,还有那个里面对主机的限制好像只是限制能不能用他的SMTP服务来发送邮件给其他服务器,似乎任何主机都可以通过他发送邮件到他本机。
发表于 2003-5-23 09:25:26 | 显示全部楼层
怎一个好字了得。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表