源码安装httpd

源码安装httpd-2.4

  • httpd依赖于apr-1.4+,apr-util-1.4+,[apr-icon]

    apr:apache portable runtime

//安装httpd服务之前,需要安装环境和相关开发工具(安装过程省略)

	[root@xaii-client ~]# yum groups mark install "开发工具"	//可用yum grouplist查看
	[root@xaii-client ~]# groupadd -r apache	//创建apache组
	[root@xaii-client ~]# useradd -r -M -s /sbin/nologin -g apache apache	//创建apache用户
	[root@xaii-client ~]# yum -y install openssl-devel pcre-devel expat-devel libtool

//下载httpd所需源码包,并安装,安装顺序为:
①apr-1.6.5
②apr-util-1.6.1
③httpd-2.4.37

    [root@xaii-client src]# tar -xf apr-1.6.5.tar.gz 
	[root@xaii-client apr-1.6.5]# cd apr-1.6.5
	[root@xaii-client apr-1.6.5]# vim configure
	cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    # $RM "$cfgfile"        //将此行加上注释,或者删除此行
	[root@xaii-client apr-1.6.5]# yum -y install gcc gcc-c++		
	[root@xaii-client apr-1.6.5]# ./configure --prefix=/usr/local/apr	//执行配置文件
	[root@xaii-client apr-1.6.5]# make && make install		//安装

	
	[root@xaii-client src]# tar xf apr-util-1.6.1.tar.gz 
	[root@xaii-client src]# cd apr-util-1.6.1
	[root@xaii-client apr-util-1.6.1]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/		//apr-util-1.6.5依赖于apr-1.6.1


	[root@xaii-client src]#tar xf httpd-2.4.37.tar.gz 
	[root@xaii-client src]#cd httpd-2.4.37
	[root@xaii-client httpd-2.4.37]#./configure --prefix=/usr/local/apache \
	--sysconfdir=/etc/httpd24 \
	--enable-so \
	--enable-ssl \
	--enable-cgi \
	--enable-rewrite \
	--with-zlib \
	--with-pcre \
	--with-apr=/usr/local/apr \
	--with-apr-util=/usr/local/apr-util/ \
	--enable-modules=most \
	--enable-mpms-shared=all \
	--with-mpm=prefork
	[root@xaii-client httpd-2.4.37]# make && make install 

//添加环境变量

	[root@xaii-client ~]# vim /etc/profile.d/httpd.sh 	
	 export PATH=/usr/local/apache/bin:$PATH
	[root@xaii-client ~]# . /etc/profile.d/httpd.sh
	[root@xaii-client ~]# vim /etc/httpd24/httpd.conf
		//	将ServerName www.example.com:80这一行取消注释

//利用apachectl来控制httpd,不是用systemctl,关闭防火墙

	[root@xaii-client ~]# apachectl start 	
	[root@xaii-client ~]# systemctl stop firewalld
	[root@xaii-client ~]# setenforce 0

验证:
在这里插入图片描述

虚拟主机

三类虚拟主机

  • 相同IP不同端口
  • 不同IP相同端口
  • 相同IP相同端口不同域名

访问控制法则

法则功能
Require all granted允许所有主机访问
Require all deny拒绝所有主机访问
equire ip IPADDR授权指定来源地址的主机访问
Require not ip IPADDR拒绝指定来源地址的主机访问
Require host HOSTNAME授权指定来源主机名的主机访问
Require not host HOSTNAME拒绝指定来源主机名的主机访问
  • 注意:httpd-2.4版本默认是拒绝所有主机访问的,所以安装以后必须做显示授权访问

实例

	// 添加虚拟主机,修改httpd的主配置文件
	[root@xaii-client ~]# vim /etc/httpd24/httpd.conf 
	
	
	//在配置文件的最后加上如下内容
	[root@xaii-client html]# tail -30 /etc/httpd24/httpd.conf 
	
	
	#virtual host 1     # 虚拟主机1的配置
	<VirtualHost 192.168.157.19:80>
	    ServerName www.xaii.com
	    DocumentRoot "/var/www/html/xaii"
	    ErrorLog "/var/log/httpd/xaii/error_log"
	    CustomLog "/var/log/httpd/xaii/access_log" combined
	    <Directory /var/www/html/xaii>
	        <RequireAll>
	        Require all granted
	        Require not ip 192.168.157.33
	        </RequireAll>
	    </Directory>
	</VirtualHost>
	
		# virtual host 2     # 虚拟主机2的配置
	<VirtualHost 192.168.157.19:80>
	    ServerName www.bebejo.com
	    DocumentRoot "/var/www/html/bebejo"
	    ErrorLog "/var/log/httpd/bebejo/error_log"
	    CustomLog "/var/log/httpd/bebejo/access_log" combined
	    <Directory /var/www/html/bebejo>
	        <RequireAll>
	          Require all granted
	        </RequireAll>
	    </Directory>
	</VirtualHost>


	//创建网页目录并修改属主属组
	[root@xaii-client html]# mkdir xaii bebejo
	[root@xaii-client html]# chown -R apache.apache xaii
	[root@xaii-client html]# chown -R apache.apache bebejo
	[root@xaii-client html]# ll
	总用量 0
	drwxr-xr-x 2 apache apache 6 1月  17 18:32 bebejo
	drwxr-xr-x 2 apache apache 6 1月  17 18:32 xaii


	//创建网页
	[root@xaii-client html]# echo "hello l am xaii" > xaii/index.html
	[root@xaii-client html]# echo "hello l am bebejo" > bebejo/index.html


	//创建相应网页的日志目录
	[root@xaii-client log]# mkdir httpd
	[root@xaii-client log]# cd httpd/
	[root@xaii-client httpd]# mkdir xaii  bebejo
	[root@xaii-client httpd]# chown -R apache.apache /var/lo
	local/ lock/  log/   
	[root@xaii-client httpd]# chown -R apache.apache /var/log/httpd/
	[root@xaii-client httpd]# ll
	总用量 0
	drwxr-xr-x 2 apache apache 6 1月  17 18:39 bebejo
	drwxr-xr-x 2 apache apache 6 1月  17 18:39 xaii


	启动服务并查看是否有80端口
	[root@xaii-client httpd]# apachectl stop
	[root@xaii-client httpd]# systemctl start httpd
	[root@xaii-client httpd]# ss -antl |grep 80
	LISTEN     0      128         :::80                      :::*    

验证
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值