什么是Apache?

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似。

Apache主要特点

1、开放源代码、跨平台应用

2、支持多种网页编程语言

3、模块化设计 、运行稳定、良好的安全性

Apache软件版本

1.X

1、目前最高版本是1.3,运行稳定

2、向下兼容性较好,但缺乏一些较新的功能

2.X

1、目前主要包括2.0和2.2两个版本

2、具有更多的功能特性

3、与1.X相比,配置管理风格存在较大差异

Apache编译安装的优点

1、具有较大的自由度,功能可定制

2、可及时获得最新的软件版本

3、普遍适用于大多数Linux版本,便于移植使用

一:实验要求

1:学会编译安装httpd服务器

2:熟悉httpd服务的部署过程及常见配置

3:学会构建AWStats日志分析系统

4:httpd服务的访问控制

客户机的地址限制

用户授权限制

5:构建虚拟WEB主机

基于域名的虚拟主机

基于IP地址、端口的虚拟主机

二:实验环境

1:需要的软件包

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

httpd-2.4.25.tar.gz

2:搭建服务器的环境

RHEL6.5版本

IP地址:192.168.1.63 255.255.255.0

配置好yum仓库

三:实验代码

第一块:搭建apache服务器

主要目录和文件:

服务目录:/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

第1步:卸载httpd软件及相关软件包

[root@linuxidc ~]# 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

注释:--nodeps是强制接触依赖关系

第2步:检查手工编译需要的4中软件包是否安装

[root@linuxidc ~]# rpm -q gcc

gcc-4.4.7-4.el6.x86_64

[root@linuxidc ~]# rpm -q gcc-c++

gcc-c++-4.4.7-4.el6.x86_64

[root@linuxidc ~]# rpm -q make

make-3.81-20.el6.x86_64

[root@linuxidc ~]# yum install pcre-devel -y

第3步:解压软件包

[root@linuxidc ~]# tar zxvf httpd-2.4.25.tar.gz -C /opt/

[root@linuxidc ~]# tar -zxvf apr-1.5.2.tar.gz -C /opt/

[root@linuxidc ~]# tar -zxvf apr-util-1.5.4.tar.gz -C /opt/

[root@linuxidc opt]# cp -r apr-1.5.2/ httpd-2.4.25/srclib/apr

[root@linuxidc opt]# cp -r apr-util-1.5.4/ httpd-2.4.25/srclib/apr-util

注释:解压后复制到httpd的srclib解压目录中(不带版本号)

第4步:源码编译安装Apache

[root@linuxidc ~]# cd /opt/httpd-2.4.25/

[root@linuxidc httpd-2.4.25]# ./configure \ #源码

--prefix=/usr/local/apache \

--enable-so \

--enable-rewrite \

--enable-mods-shared=most \

--with-mpm=worker \

--disable-cgid \

--disable-cgi

[root@linuxidc httpd-2.4.25]# echo $?

0

[root@linuxidc httpd-2.4.25]# make -j 4 #编译,将编译程序变为可执行程序

[root@linuxidc httpd-2.4.25]# make install #安装

参数解释:

--prefix=  //来指定安装路径

--enable-so  //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让 Apache 可以支持DSO模式

--enable-rewrite  //支持 URL 重写

--enable-mods-shared=most  //选项:告诉编译器将所有标准模块都动态编译为DSO模块。

--with-mpm=worker // 让apache以worker方式运行

--with-mpm=worker  //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.

--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本

--disable-cgi //禁止编译 CGI 版本的 PHP

第5步:命令链接到PATH变量并且管理service

[root@linuxidc httpd-2.4.25]# ls /usr/local/apache/bin/apachectl #检查apachectl命令

/usr/local/apache/bin/apachectl

[root@linuxidc httpd-2.4.25]# echo $PATH #查看PATH变量

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

注释:Linux系统中所有的命令都是放在PATH变量中的,可以放在/usr/local//sbin或者/usr/local//bin下。

[root@linuxidc httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin/

[root@linuxidc httpd-2.4.25]# ls -l /usr/local/bin/apachectl  /usr/local/bin/httpd

lrwxrwxrwx 1 root root 31 3月  9 17:32 /usr/local/bin/apachectl -> /usr/local/apache/bin/apachectl

lrwxrwxrwx 1 root root 27 3月  9 17:32 /usr/local/bin/httpd -> /usr/local/apache/bin/httpd

注释:优化路径,将/usr/local/apache/bin/下的所有命令内容链接到PATH变量中的路径下。

只有将命令链接到PATH变量的路径中,命令才可以被使用。

[root@linuxidc httpd-2.4.25]# grep -v "#" /usr/local/apache/bin/apachectl  > /etc/init.d/httpd

[root@linuxidc httpd-2.4.25]# vim /etc/init.d/httpd

#!/bin/sh

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web server.

[root@linuxidc httpd-2.4.25]# chmod  +x  /etc/init.d/httpd

[root@linuxidc httpd-2.4.25]# chkconfig --add httpd

[root@linuxidc httpd-2.4.25]# chkconfig --list httpd

httpd          0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭

注释:使程序可以使用service 管理,"service管理的命令都在/etc/init.d/这个目录下的"。如果是rpm命令安装的软件包就不需要使用service命令管理,可以直接执行service命令,但是手工源码编译的软件包,程序就不可以直接执行service命令。

第6步:将配置文件链接到/etc下

[root@linuxidc httpd-2.4.25]# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf

[root@linuxidc httpd-2.4.25]# vim /etc/httpd.conf

ServerName www.example.com:80

[root@linuxidc httpd-2.4.25]# service httpd start #启动服务没有效果

[root@linuxidc httpd-2.4.25]# netstat -anutp | grep http #监听http服务

tcp        0      0 :::80                      :::*                        LISTEN      32974/httpd

第7步:物理机验证http服务

[root@linuxidc httpd-2.4.25]# service iptables stop #关闭防火墙

[root@linuxidc httpd-2.4.25]# cd /usr/local/apache/ #

[root@linuxidc apache]# cat htdocs/index.html

It works!

注释:在/usr/local/apache/htdocs/下存放着apache服务自带的index。Html网页,用于验证,次服务是否启动成功,在此目录下,可以创建更多的网页文件。

[root@linuxidc htdocs]# vim a.html  创建一个新的网页

This is my first homepage!!!!------mobanche !

--------Welcome my homepage----------

linux apache 文件服务器,Linux下搭建Apache服务器全过程详解相关推荐

  1. mysql服务器搭建方法_windows下搭建MySQL服务器步骤详解

    Mysql是一个数据库系统,它包括数据库服务器,并且有一个数据库管理系统对数据库服务器进行管理,同时还包括有一个数据库客户端,用于与用户交互. 从官方网站下载Mysql数据库系统的安装包程序,http ...

  2. Windows XP系统下架设FTP服务器实例详解

    Windows XP系统下架设FTP服务器实例详解 [实例1]公司网络环境:ADSL + 路由器 + 交换机  + PC机,我们单位要在客户端架设FTP服务器,当然在服务器端也是可以的,主要用于内部资 ...

  3. linux python乱码_linux下python中文乱码解决方案详解

    linux下python中文乱码解决方案详解 发布时间:2020-09-06 20:24:49 来源:脚本之家 阅读:68 1. 场景描述 linux服务器下安装了Anaconda3,执行Pyhton ...

  4. cs1.5 linux服务端,Linux系统下CS1.5服务器架设详解

    Linux系统下如何进行CS1.5服务器架设操作呢,其实知道的朋友应该不难上手的,快来看看下面的Linux系统下CS1.5服务器架设文章教程吧. 首先你要下载两个文件.hlds_l_3110_full ...

  5. dd linux 尾部添加0_Linux 下的dd命令使用详解(摘录)

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  6. dd linux 尾部添加0_linux下的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  7. Python使用socketServer包搭建简易服务器过程详解

    官方提供了socketserver包去方便我们快速的搭建一个服务器框架. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案 ...

  8. linux 6 dns,RHEL6下搭建DNS服务器

    DNS是大部分网络服务基石,DNS解释的主要作用就是让域名替换IP,即:人们通过记忆的域名找到该域名所对应的物理主机的真实地址,可以方便人记忆.所以说DNS解释是大部分网络服务的基石,可想而知,人记I ...

  9. Fedora文件服务器,Fedora下搭建FTP服务器-VSFTP

    Fedora版本:Fedora 12 1. 安装vsftp #yum install vsftpd 一路yes,最后提示安装成功. 2. 配置vsftpd.conf. #vi /etc/vsftpd/ ...

最新文章

  1. 服务器里这么修改404页面,网站404页面怎么做
  2. 收集一些深度学习视频
  3. 分布式事务原理及实战seata(转自微信公众号 终码一生 )
  4. 【译】On Path Independence
  5. GDCM:处理JAI-JPEGLS错误的测试程序
  6. iis web.config 配置 经典模式_django部署在iis下,webconfig错误
  7. android 返回图标布局,Android 开发BottomNavigationView学习
  8. LA 2957 最大流,最短时间,输出路径
  9. 导出excel 数据取一次合理还是分页取合理_一张报表模板替代数百张Excel表格,用它让报表工作更轻松...
  10. html制作翻牌游戏,基于javascript实现句子翻牌网页版小游戏
  11. h3c交换机堆叠(IRF)配置三步完成
  12. 搭建教育直播平台,对教育机构有什么优势?
  13. [转] A trip through the Graphics Pipeline
  14. 蒸汽流量计算软件_补偿型涡街流量计
  15. hssfrow 单元格样式_poi导出excel单元格中画斜线_AnyReport报表
  16. 一首歌曲,没有寻找到试听资源
  17. jeecms服务器响应失败,后台提示“服务请求发生了错误”,原因不明
  18. 智能工艺并不等同于计算机辅助工艺,关于人工智能技术在计算机辅助工艺设计中应用的探讨...
  19. C Primer Plus 第六版---编程练习4
  20. 独家|喜马拉雅:如何揪出App推广假量?

热门文章

  1. 应用监控指标采集器 Prometheus 核心介绍
  2. 2019互联网大厂的月饼哪家强?
  3. Java 服务端推送消息有那么难吗?
  4. IntelliJ IDEA 2019.2最新解读:性能更好,体验更优,细节处理更完美!
  5. Apache的架构师们遵循的30条设计原则
  6. 使用Consul做服务发现的若干姿势
  7. matlab 霍特林变换,数字图像处理(第3版面向CS2013计算机专业规划教材)
  8. pyinstaller 'utf-8' codec can't decode byte 0xce in position 123: invalid continuation byte
  9. Paddle Detection
  10. python opencv 旋转图片