热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统中Apache服务的安装和配置

APACHE的简介.APACHE是世界上最流行的Web服务器软件之一,当然,提供WWW服务的还有微软的IIS,它是由微软开发的,只能用在微软的操作系统上,而APACHE是一个自由软件。说到APACHE,还要联想到LAMP,这个近年来也是应用得非常广泛,LAMP就是:linux+apache+

APACHE的简介.

APACHE是世界上最流行的Web服务器软件之一,当然,提供WWW服务的还有微软的IIS,它是由微软开发的,只能用在微软的操作系统上,而APACHE是一个自由软件。说到APACHE,还要联想到LAMP,这个近年来也是应用得非常广泛,LAMP就是:linux+apache+mysql+php。Apache的特点是简单、速度快、性能稳定。

APACHE的安装。

配置IP地址:

[root@rhel ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=192.168.100.101

NETMASK=255.255.255.0  

[root@rhel ~]# service network restart

安装apache:

首先安装下面这两个软件:

[root@rhel ~]# rpm -ivh /misc/cd/Server/apr-1.2.7-11.el5_3.1.i386.rpm

[root@rhel ~]# rpm -ivh /misc/cd/Server/apr-util-1.2.7-11.el5.i386.rpm

现在才能安装httpd。

[root@rhel ~]# rpm -ivh /misc/cd/Server/httpd-2.2.3-43.el5.i386.rpm

APACHE简单的配置。

[root@rhel ~]# service httpd start        //启动服务。

现在就可以测试一下了。如图,如下在地址栏输入http://192.168.100.101,出现如下画面,就说明httpd正常运行了。

如果想把这个页面换成自己的网页,只需把写好的文件放入/var/www/html下面即可,下面举个简单的例子。如:

[root@rhel ~]# echo chenbin.blog.51cto.com -> /var/www/html/index.html

访问测试一下:

用户的个人网站。

[root@rhel ~]# vi /etc/httpd/conf/httpd.conf

:set number              //显示行号

找到,在下面有

UserDir disable

#UserDir public_html

改成:

#UserDir disable

UserDir public_html

[root@rhel ~]# service httpd restart

创建目录和网页文件。如果希望每个新建的用户都有一个www目录,只需在/etc/skel/下添加www目录即可,因为每个用户的默认目录都是参考/etc/skel的目录。

[root@rhel ~]# mkdir public_html

[root@rhel ~]# chmod 755 public_html              //修改权限。

[root@rhel chenbin]# chmod 755 ~

[root@rhel ~]# echo hello > public_html/index.html

测试:

注意:在地址栏里输入的是http://IP地址或主机名/~root。在root前面有个~,在键盘ESC键下面(数字1左边)那个键,要同时按住shift键。

那么有没有办法不输入那个~呢,当然是有的,最简单的方法就是添加一个链接:

[root@rhel ~]# cd /var/www/html/

[root@rhel html]# ln -s /root/public_html/ root   //创建一个链接,因为这里是root帐户,所以是/root/public _html,如果是其他用户,应该是/home/用户名/public_html。

如果不想别人知道你的用户名,也可以把链接后面跟的用户名换成你想要的名字,如:

[root@rhel html]# ln -s /root/public_html/ linux

再访问:

当然还有别的方法,将在下面介绍。

现在如果我们有多个网站,但只有一个IP地址,那怎么让别人能同时访问这多个网站呢?

相同IP不同端口的虚拟主机。

假设我们有一个IP是192.168.100.101,有两个网站,我们可以使用两个端口,比如:一个使用81,一个使用82。

首先,把两个网站的目录和文件建立好。

[root@rhel html]# cd /var/www

[root@rhel www]# mkdir html1

[root@rhel www]# mkdir html2

[root@rhel www]# echo html1 > html1/index.html

[root@rhel www]# echo html2 > html2/index.html

修改配置文件:

[root@rhel html]# vi /etc/httpd/conf/httpd.conf

Listen 80      //在这下面添加两个端口

Listen 81

Listen 82

在最后添加:

        DocumentRoot /var/www/html1

        DocumentRoot /var/www/html2

修改完成,重启服务:

[root@rhel www]# service httpd restart

测试:

这时访问的时候有点不一样了,需要在IP地址后面加上:再加上端口号。

都可以访问,这就完成了。

不同IP相同端口的虚拟主机。

知道相同IP不同端口的配置了,这里相同端口不同IP就简单了,就按照上面的思路做。

因为是多个IP,所以这里就要配置多个IP地址,这里就配置子接口。

[root@rhel www]# ifconfig eth0:0 192.168.100.111 up

[root@rhel www]# ifconfig eth0:1 192.168.100.112 up

创建目录和网页文件:

[root@rhel www]# mkdir html3

[root@rhel www]# mkdir html4

[root@rhel www]# echo html3 > html3/index.html

[root@rhel www]# echo html4 > html4/index.html

修改配置文件:

[root@rhel www]# vi /etc/httpd/conf/httpd.conf

至于端口,就使用默认的80端口。

        DocumentRoot /var/www/html3

        DocumentRoot /var/www/html4

重启服务:

[root@rhel www]# service httpd restart

测试:

下一个:

这个也就完成了。

使用域名的虚拟主机。

基于域名的虚拟主机,这就要用到DNS了,那么首先把DNS配置一下吧,虽然前面有配置DNS的详细说明,但这里还是简单配置一下,就当复习一下。

安装DNS软件:

[root@rhel www]# cd /misc/cd/Server/

[root@rhel Server]# rpm -ivh bind-9.3.6-4.P1.el5_4.2.i386.rpm

[root@rhel Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm

[root@rhel Server]# rpm -ivh bind-utils-9.3.6-4.P1.el5_4.2.i386.rpm

[root@rhel Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm

[root@rhel Server]# cd ~

[root@rhel ~]# vi /var/named/chroot/etc/named.caching-nameserver.conf

        listen-on port 53 { 192.168.100.101; };             //修改一下IP地址。

        allow-query     { any; };         //允许所有人查询。

        match-clients      { any; };     //允许所有客户端。

        match-destinations { any; };     //允许所有目标。

创建区域:

[root@rhel ~]# vi /var/named/chroot/etc/named.rfc1912.zones            

添加以下区域:

zone "rhel1.com" IN {

        type master;

        file "rhel1.com.zone";

        allow-update { none; };

};

zone "rhel2.com" IN {

        type master;

        file "rhel2.com.zone";

        allow-update { none; };

};

修改区域配置文件;

[root@rhel ~]# cd /var/named/chroot/var/named/

[root@rhel named]# cp -p localhost.zone rhel1.com.zone     //别忘了加-p。

[root@rhel named]# cp -p localhost.zone rhel2.com.zone

[root@rhel named]# vi rhel1.com.zone

www             IN A            192.168.100.101      //添加这一行

[root@rhel named]# vi rhel2.com.zone

www             IN A            192.168.100.101      //也是添加这一行

配置完成,重启一下服务。

[root@rhel named]# service named restart

来测试一下DNS:如图:

DNS配置就可以了,下面接下来配置:

[root@rhel named]# cd /var/www/

[root@rhel www]# mkdir html5

[root@rhel www]# mkdir html6

[root@rhel www]# echo www.rhel1.com > html5/index.html

[root@rhel www]# echo www.rhel2.com > html6/index.html

[root@rhel www]# vi /etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.100.101

        ServerName www.rhel1.com

        DocumentRoot /var/www/html5

        ServerName www.rhel2.com

        DocumentRoot /var/www/html6

配置完成,重启服务。

[root@rhel www]# service httpd restart

现在可以测试了,但现在访问还不行,我们还得把用作测试的主机的DNS指向192.168.100.101,关于指定DNS就不演示了,这个太简单了,接下来就可以测试了。如图:

第二个:

好了,基于域名的虚拟主机就到这里。

虚拟目录。

虚拟目录也可以说是别名,也就是可以使用多个名称来访问一个目录。比如,在上面说的那个访问时要加个~的,我们使用了一个链接可以解决,这里就使用另一种方法来解决,虚拟目录。

[root@rhel www]# vi /etc/httpd/conf/httpd.conf

添加如下几行:

Alias /rhel "/root/public_html/"         //注意:在/rhel后面不要加上/。

        Options Indexes MultiViews

        AllowOverride None

        Order allow,deny

        Allow from all

[root@rhel www]# service httpd restart

完成。


推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
author-avatar
手机用户2502897855
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有