marty001 发表于 2018-11-23 10:09:07

我的Linux生涯之APACHE的配置

  APACHE的配置
  配置DNS服务
  #先复习一下DNS的正向配置。
  # yum install bind bind-chroot caching-nameserver
# cd /var/named/chroot/etc/
# cp -p named.caching-nameserver.conf named.conf
# vim named.conf
....
15         listen-on port 53 { any; };
....
27         allow-query   { any; };
28         allow-query-cache { any; }
....
37         match-clients      { any; };
38         match-destinations { any; };
....
# vim named.rfc1912.zones
....
50 zone "tarena.com" IN {
51         type master;
52         file "tarena.com.zone";
53 };
  # cd /var/named/chroot/var/named/
# cp -p named.local tarena.com.zon
# vim tarena.com.zone
$TTL    86400
@       IN      SOA   tarena.com. root.tarena.com.(
                                    1997022700 ; Serial
                                    28800      ; Refresh
                                    14400      ; Retry
                                    3600000    ; Expire
                                    86400 )    ; Minimum
      IN      NS      dns1.tarena.com.
dns1    IN      A       192.168.10.254
www   IN      A       192.168.10.254
  # service named restart
Stopping named:
Starting named:
  # dig www.tarena.com
....
;; ANSWER SECTION:
www.tarena.com.         86400   IN      A       192.168.10.254
....

  现在开始配置简单的APACHE服务,能使网页显示出来。
  安装APACHE
  # yum install httpd
Failed to set locale, defaulting to C
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
.....
Dependency Installed:
apr.x86_64 0:1.2.7-11.el5_6.5             apr-util.x86_64 0:1.2.7-11.el5_5.2
postgresql-libs.x86_64 0:8.1.23-6.el5_8
  Complete!

  再来写入主页文件
  来测试一下。
  # echo "Hello World" > /var/www/html/index.html
# service httpd restart
Stopping httpd:
Starting httpd: httpd: apr_sockaddr_info_get() failed for server1.tarena.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
  ##这里提示了说无法确定可靠的完全合格的域名。那么就是/etc/hosts文件的问题了。

# hostname
server1.tarena.com
# grep server /etc/hosts
192.168.10.254          server1.tarena.com      server1
# !ser
service httpd restart
Stopping httpd:

  Starting httpd:
# links www.tarena.com

  ###好,可以正常显示了。
  再来对主机做访问限
不允许192.168.10.10主机访问/var/www/html/news/,允许其它主机访问
# mkdir /var/www/html/news -p
# mkdir /var/www/html/bbs -p
# echo "bbs.tarena.com" > /var/www/html/bbs/index.html
# echo "news.tarena.com" > /var/www/html/news/index.html
# vim /etc/httpd/conf/httpd.conf
332 #    Order allow,deny
333 #    Allow from all
334      Order deny,allow
335      Deny 192.168.10.30
# service httpd restart
Stopping httpd:
Starting httpd:   使用客户端访问


  #那,192.168.10.30的主机不能访问了,再换个主机试试。

  #可以吧~说明成功了呢。
  再来做验证用户密码访问
要求admin用户使用密码访问/var/www/html
vim /etc/httpd/conf/httpd.conf
.....
306
.....
332   Order allow,deny
333   Allow from all
334   AuthName "Please Input Password!!"
335   AuthType Basic
336   AuthUserFile"/etc/httpd/.user.pass"
337   Require valid-user
338
.....
# htpasswd -c/etc/httpd/.user.passadmin
New password:
Re-type new password:   
Adding password for user admin
#输入两次密码
# service httpd restart
Stopping httpd:
Starting httpd:   ##再来用客户端测试

  ##输入帐户密码之后。。

  ##可以了~ ^_^
  接下来是alias
要求用户访问http://www.tarena.com/news 时等于访问/http://www.tarena.com/test/file/news/
# vim /etc/httpd/conf/httpd.conf
.....
546 Alias /news/"/var/www/html/test/file/news/"
....
# mkdir /var/www/html/news/
# mkdir /var/www/html/test/file/news/ -p
# echo "New.tarena.com" > /var/www/html/test/file/news/index.html
# cat /var/www/html/test/file/news/index.html
New.tarena.com
# service httpd restart
Stopping httpd:
Starting httpd:
  ###看效果

  ##看,这两个是一样的。是不是方便了很多呢。
  再来是虚拟主机头
# cat /etc/httpd/conf.d/name-virtual.conf
NameVirtualHost *:80

   DocumentRoot /data/web/bbs
   ServerNamebbs.tarena.com
   ErrorLoglogs/dummy-bbs.tarena.com-error_log
   CustomLog logs/dummy-bbs.tarena.com-access_log common


   DocumentRoot/data/web/blog
   ServerNameblog.tarena.com
   ErrorLog   logs/dummy-blog.tarena.com-error_log
   CustomLog logs/dummy-blog.tarena.com-access_log common

# echo "bbs      IN   A   192.168.10.254">> /var/named/chroot/var/named/tarena.com.zone
# echo "blog   IN   A   192.168.10.254">> /var/named/chroot/var/named/tarena.com.zone
# service httpd restart
Stopping httpd:
Starting httpd:
# service named restart
Stopping named:
Starting named:
# dig blog.tarena.com
....
;; ANSWER SECTION:
blog.tarena.com.      86400   IN      A       192.168.10.2
....
# dig bbs.tarena.com
;; ANSWER SECTION:
bbs.tarena.com.         86400   IN      A       192.168.10.254
  ##测试下。

  然后是基于IP地址的虚拟主机。
  #该IP必须是主机所有的IP才行。
  
# rm /etc/httpd/conf.d/name-virtual.conf
rm: remove regular empty file `/etc/httpd/conf.d/name-virtual.conf'? y
#为了避免冲突
# vim /etc/httpd/conf.d/ip-virtual.conf

      DocumentRoot /data/web/100
      ServerName   100.tarena.com
      ErrorLoglogs/dummy-100.tarena.com-error_log
      CustomLog logs/dummy-100.tarena.com-access_log common

# mkdir /data/web/100
vim /data/web/100/index.html
110.tarena.com
# vim /var/named/chroot/var/named/tarena.com.zone
10   IN   A   192.168.10.100
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-eth0:
# cat ifcfg-eth0:1
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0:1
BOOTPROTO=static
BROADCAST=192.168.10.255
HWADDR=00:0C:29:41:4F:08
IPADDR=192.168.10.100
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
# service named restart
Stopping named:
Starting named:
# service httpd restart
Stopping httpd:
Starting httpd:
#service network restart
Shutting down interface eth0:
Shutting down loopback interface:
Bringing up loopback interface:
Bringing up interface eth0:
# ifconfig eth0:1
eth0:1    Link encap:EthernetHWaddr 00:0C:29:41:4F:08
          inet addr:192.168.10.100Bcast:192.168.10.255Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
  
  
  ###再来测试,不过好像主页内容好像错了。。。

  最后一个,基于端口的虚拟主机
  #要注意的是必须侦听对应的端口才可以,如果有iptables时记得要开放端口。
  
  # rm /etc/httpd/conf.d/ip-virtual.conf
rm: remove regular file `/etc/httpd/conf.d/ip-virtual.conf'? y
#同样为了避免冲突
# vim /etc/httpd/conf.d/port-Virtual.conf
Listen 8080
Listen 8181

      DocumentRoot /data/web/8080
      ErrorLoglogs/dummy-8080.tarena.com-error_log
      CustomLog logs/dummy-8080.tarena.com-access_log common


      DocumentRoot /data/web/8181
      ErrorLoglogs/dummy-8181.tarena.com-error_log
      CustomLog logs/dummy-8181.tarean.com-access_log common

  # mkdir /data/web/8080
# mkdir /data/web/8181
# echo "8080.tarena.com" > /data/web/8080/index.html
# echo "8181.tarena.com" > /data/web/8181/index.html

  
  ##测试吧。。。终于完了。。。。




页: [1]
查看完整版本: 我的Linux生涯之APACHE的配置