设为首页 收藏本站
查看: 1551|回复: 0

[经验分享] 5 Apache网站服务基础

[复制链接]

尚未签到

发表于 2018-11-24 09:32:28 | 显示全部楼层 |阅读模式
Apache网站服务基础

一 Apache简介
"Apache HTTP Server"是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在web服务器领域中长期保持着超过半数的份额。可以运行在Linux、Unix、Windows等多种操作系统平台中。
1 主要特点
开放源代码、跨平台应用;支持多种网页编程语言;模块化设计、运行稳定、良好的安全性
2 软件版本
1.X:目前最高版本是1.3,运行稳定;向下兼容性较好,但缺乏一些较新的功能
2.X:目前主要包括2.0和2.2两个版本;具有更多的功能特性;与1.X相比,配置管理风格存在较大差异
3 编译安装的优点
具有较大的自由度,功能可定制;可及时获得最新的软件版本;普遍适用于大多数Linux版本,便于移植使用
4 获得Apache服务器的源码包
参考地址:http://httpd.apache.org/download.cgi
二 安装httpd服务器(源码安装)
1 准备工作
1 卸载httpd及相关依赖包
:rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps
2 源码编译及安装
1)挂载安装盘
:mount /dev/cdrom /media
2)解包
:tar zxf /media/chapter05/httpd-2.2.17.tar.gz -C /usr/src
:cd /usr/src/httpd-2.2.17
3) 配置
:./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
如果配置报错,则升级arp相关依赖包
4) 编译
:make
5) 安装
:make install
6) 确认安装结果
:ls /usr/local/httpd/            //不是空目录即可
7)优化执行路径
:ln -s /usr/local/httpd/bin/* /usr/local/bin/        默认搜索路径
8)添加httpd系统服务
:cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd  //复制apachectl脚本为httpd
:vi /etc/init.d/httpd             //添加chkconfig识别配置
#!/bin/bash
# chkconfig: 35 85 15      //识别配置,级别3、5中启动,顺序为85、15
# description: Startup script for the Apache HTTP Server    //描述信息
:chkconfig --add httpd    //添加为系统服务
:chkconfig --list httpd   //查看自启动状态
9)启动服务
:/usr/local/httpd/bin/apachectl start
三 httpd服务的目录结构
主要目录和文件:
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_log
错误日志: /usr/local/httpd/log/error_log
四 httpd.conf配置文件
:vim /usr/local/httpd/conf/httpd.conf
常用的全局配置参数
ServerRoot:服务目录
ServerAdmin:管理员邮箱
User:运行服务的用户身份
Group:运行服务的组身份
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
Listen:监听的IP地址、端口号
PidFile:保存httpd进程PID号的文件
DirectoryIndex:默认的索引页文件
ErrorLog:错误日志文件的位置
CustomLog:访问日志文件的位置
LogLevel:记录日志的级别,默认为warn
Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:需要包含进来的其他配置文件
区域配置项

  实验步骤:
  要求1(使用域名访问站点)
  1 安装DNS服务并配置
:vim /var/named/chroot/etc/named.conf    //创建正向区域
options {
directory "/var/named";
};
zone "benet.com." IN {
type master;
file "benet.com.zone";
};
:vim /var/named/chroot/var/named/benet.com.zone    //添加主机记录
$TTL 86400
@ SOA benet.com. admin.benet.com. (
2013030201
3H
15M
1W
1D
)
@ IN NS mazi.benet.com.
IN MX 10 mail.benet.com.
www IN A 192.168.1.100
2 安装web服务并配置
:vim /usr/local/httpd/conf/httpd.conf
ServerName mazi.benet.com:80        配置网站名称
3 重启服务
:service named start                启动dns服务
:/usr/local/httpd/bin/apachectl start        启动web服务

要求2(客户机地址限制)
:vim /usr/local/httpd/conf/httpd.conf
        //访问控制的网页
……
Order deny,allow        //允许所有未经阻止的
deny from 192.168.1.10        //阻止此ip访问

:/usr/local/httpd/bin/apachectl start        //重启服务
要求3(用户授权限制)
1 创建用户认证数据库
:cd /usr/local/httpd/
:bin/htpasswd -c /usr/local/httpd/conf/.awspwd u1        新建u1用户和数据库
New password:                    //密码
Re-type new password:            //再次输入密码
Adding password for user u1            
:bin/htpasswd /usr/local/httpd/conf/.awspwd u2     //创建新用户
: cat /usr/local/httpd/conf/.awspwd                //确认创建的用户

  • 添加用户授权配置
    :vim /usr/local/httpd/conf/httpd.conf
        //要用户认证的网页
    AuthName "nihao"           //登录对话框提示信息
    AuthType Basic            //认证类型为基本认证
    AuthUserFile /usr/local/httpd/conf/.awspwd        //密码文件路径
    require valid-user            //只有认证用户才能访问

    地址限制和用户授权限制可以同时针对一个站点生效
    要求4(构建基于域名的虚拟主机)

  •   为虚拟主机提供域名解析(指向相同ip)
    vim /var/named/chroot/etc/named.conf         //创建两个正向区域
    options {
    directory "/var/named";
    };
    zone "benet.com." IN {
    type master;
    file "benet.com.zone";
    };
    zone "accp.com." IN {
    type master;
    file "accp.com.zone";
    };
    :vim /var/named/chroot/var/named/benet.com.zone    //创建区域文件添加主机记录
    $TTL 86400
    @ SOA benet.com. admin.benet.com. (
    2013030201
    3H
    15M
    1W
    1D
    )
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.100
    ftp IN CNAME www
    : vim /var/named/chroot/var/named/accp.com.zone    //创建区域文件添加主机记录
    $TTL 86400
    @ SOA accp.com. admin.accp.com. (
    2013030201
    3H
    15M
    1W
    1D
    )
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.100
    ftp IN CNAME www
    :service named restart            //重启DNS服务
    2.为虚拟主机准备网页文档
    :mkdir -p /var/www/html/benet     创建网页站点目录
    :mkdir -p /var/www/html/accp
    :echo "benet.com" > /var/www/html/benet/index.html    创建网页文档
    :echo "accp.com" > /var/www/html/accp/index.html

  •   添加虚拟主机配置(相同ip相同端口)
    :vim /usr/local/httpd/conf/extra/httpd-vhosts.conf    //创建独立的配置文件
           //设置目录访问权限
    Order allow,deny
    Allow from all                    //允许所有

    NameVirtualHost 192.168.1.100:80      //设置监听地址
            //设置benet虚拟站点区域
    DocumentRoot "/var/www/html/benet"    //虚拟站点地址
    ServerName www.benet.com              //域名
    ErrorLog "logs/dummy-host.example.com-error_log"        //错误日志目录
    CustomLog "logs/dummy-host.example.com-access_log" common

                   
    DocumentRoot "/var/www/html/accp"        //设置accp虚拟站点区域
    ServerName www.accp.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common

    3 加载独立的配置文件
    :vim /usr/local/httpd/conf/httpd.conf       
    Include conf/extra/httpd-vhosts.conf        //加载独立的配置文件
    :/usr/local/httpd/bin/apachectl restart    //重启服务
    要求5(构建基于ip的虚拟主机)
    1 给服务器再配置一个ip模拟两个ip
    :ifconfig etho:1 192.168.1.101    //配置ip
    2 添加主机记录(指向不同ip)
    :vim /var/named/chroot/var/named/benet.com.zone
    .....................
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.100
    ftp IN CNAME www

    :vim /var/named/chroot/var/named/accp.com.zone
    .....................
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.101
    ftp IN CNAME www
    3 创建独立的配置文件(只需修改不同ip即可)
    :vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
               //设置目录访问权限
    Order allow,deny
    Allow from all                        //允许所有

            //设置benet虚拟站点区域
    DocumentRoot "/var/www/html/benet"    //虚拟站点地址
    ServerName www.benet.com              //域名
    ErrorLog "logs/dummy-host.example.com-error_log"    //错误日志目录
    CustomLog "logs/dummy-host.example.com-access_log" common

                   
    DocumentRoot "/var/www/html/accp"        //设置accp虚拟站点区域
    ServerName www.accp.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common

    4 加载独立的配置文件
    :vim /usr/local/httpd/conf/httpd.conf       
    Include conf/extra/httpd-vhosts.conf      //加载独立的配置文件
    :/usr/local/httpd/bin/apachectl restart   //重启服务
    :service named restart                    //重启服务
    要求6(构建基于端口的虚拟主机
    1添加主机记录(指向相同ip)
    :vim /var/named/chroot/var/named/benet.com.zone.
    ....................
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.100

    :vim /var/named/chroot/var/named/accp.com.zone
    .....................
    @ IN NS mazi.benet.com.
    www IN A 192.168.1.100
    2 创建独立的配置文件(只需修改不同端口即可)

    :vim /usr/local/httpd/conf/extra/httpd-vhosts.conf    //创建独立的配置文件
           //设置目录访问权限
    Order allow,deny
    Allow from all                    //允许所有

          //设置benet虚拟站点区域
    DocumentRoot "/var/www/html/benet"  //虚拟站点地址
    ServerName www.benet.com            //域名
    ErrorLog "logs/dummy-host.example.com-error_log"        //错误日志目录
    CustomLog "logs/dummy-host.example.com-access_log" common

                    
    DocumentRoot "/var/www/html/accp"        //设置accp虚拟站点区域
    ServerName www.accp.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common

    3 加载独立配置文件并设置监听端口
    :vim /usr/local/httpd/conf/httpd.conf
    Include conf/extra/httpd-vhosts.conf
    Listen 80
    Listen 88
    :/usr/local/httpd/bin/apachectl restart   //重启服务
    :service named restart                    //重启服务





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638901-1-1.html 上篇帖子: 启动apache 报错:libphp5.so:undefined symbol: zend_parse_parameters 下篇帖子: Windows下 Zend Studio 7 + Apache2.2 + PHP5.3 + Mysql5.1配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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