Apache源码安装与虚拟主机配置

 Apache
 开一台主机安装即可:
 源码安装apache
 需要源码编译安装的软件包
 httpd-2.4.28.tar.gz #Apache主程序包
 apr-1.5.2.tar.gz #Apache依赖包
 apr-util-1.5.4.tar.gz #Apache依赖包
 pcre-8.41.tar.gz #Apache依赖包
 准备安装包:
 、
 安装make、gcc、openssl等编译工具和开发包
 [root@localhost ~]# yum -y install make gcc gcc-c++ openssl openssl-devel expat-devel
 编译安装依赖包

 编译安装依赖包apr-1.5.2.tar.gz
 [root@localhost ~]# cd lamp
 [root@localhost lamp]# ls
 apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz httpd-2.4.28.tar.gz mysql-boost-5.7.19.tar.gz pcre-8.41.tar.gz php-5.6.36.tar.gz
 解压缩apr-1.5.2.tar.gz
 [root@localhost lamp]# tar zxvf apr-1.5.2.tar.gz
 [root@localhost lamp]# cd apr-1.5.2
 预编译指定安装路径
 [root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr

 解决报错:
 [root@localhost apr-1.5.2]# vim configure
 修改
 29605 RM=‘KaTeX parse error: Unexpected character: '' at position 5: RM' ̲ 为:  29605 …RM -f’
 预编译报错,解决错误,重新执行预编译
 [root@localhost apr-1.5.2]# echo $? #检测上条命令是否执行成功
 0
 开始编译
 [root@localhost apr-1.5.2]# make && make install
 [root@localhost apr-1.5.2]# echo $?
 0
 编译安装依赖包apr-util-1.5.4.tar.gz
 [root@localhost lamp]# tar -zxvf apr-util-1.5.4.tar.gz
 [root@localhost lamp]# cd apr-util-1.5.4
 预编译
 [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/bin/apr-1-config
 [root@localhost apr-util-1.5.4]# echo $?
 0
 编译安装
 [root@localhost apr-util-1.5.4]#make && make install
 [root@localhost apr-util-1.5.4]# echo $?
 0
 3.编译安装依赖包pcre-8.41.tar.gz
 [root@localhost lamp]# tar -zxvf pcre-8.41.tar.gz
 [root@localhost lamp]# cd pcre-8.41
 预编译
 [root@localhost pcre-8.41]# ./configure --prefix=/usr/local/pcre
 [root@localhost pcre-8.41]# echo $?
 编译并安装:
 [root@localhost pcre-8.41]# make && make install
 [root@localhost pcre-8.41]# echo $?
 0
 4编译安装Apache
 [root@localhost lamp]# tar -zxcf httpd-2.4.28.tar.gz
 [root@localhost lamp]# cd httpd-2.4.28
 预编译
 [root@localhost httpd-2.4.28]# ./configure --prefix=/usr/local/apache
 --enable-so
 --enable-rewrite
 --enable-ssl
 --with-apr=/usr/local/apr
 --with-apr-util=/usr/local/apr-util/
 --with-pcre=/usr/local/pcre/
 --libdir=/usr/lib64
 注:
 --enable-so #支持动态加载模块
 --enable-rewrite #支持网站地址重写
 --enable-ssl #支持ssl加密
 --with-apr=/usr/local/apr #关联apr
 --with-apr-util=/usr/local/apr-util #关联apr-util
 --with-pcre=/usr/local/pcre #关联pcre
 --libdir=/usr/lib64 #关联库文件

 [root@localhost httpd-2.4.28]# echo $?
 0
 编译安装
 [root@localhost httpd-2.4.28]# make && make install
 [root@localhost httpd-2.4.28]# echo $?
 0
 配置文件
 [root@localhost httpd-2.4.28]# ls /usr/local/apache/conf/httpd.conf
 /usr/local/apache/conf/httpd.conf
 [root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
 Listen 80 #监听端口
 ServerRoot “/usr/local/apache” #配置文件根目录
 ServerAdmin you@example.com #管理员邮箱
 ServerName localhost:80 #服务器主机名
 DocumentRoot “/usr/local/apache/htdocs” #网站根补录
 DirectoryIndex index.html #默认首页打开html文件

 网站根目录
 [root@localhost httpd-2.4.28]# ls /usr/local/apache/htdocs/
 index.html
 [root@localhost ~]# cat /usr/local/apache/htdocs/index.html

It works!


 生成启动脚本
 [root@localhost ~]# cp /usr/local/apache/bin/apachectl /etc/init.d/
 [root@localhost ~]# chmod +x /etc/init.d/apachectl
 [root@localhost ~]# ll /etc/init.d/apachectl
 -rwxr-xr-x. 1 root root 3434 4月 23 03:17 /etc/init.d/apachectl
 写个apache系统服务脚本, 以754的权限保存此文件
 [root@localhost ~]# vim /usr/lib/systemd/system/apache.service
 [Unit]
 Description=apache
 After=network.target
 [Service]
 Type=forking
 ExecStart=/etc/init.d/apachectl start
 ExecReload=/etc/init.d/apachectl restart
 ExecStop=/etc/init.d/apachectl stop
 PrivateTmp=true
 [Install]
 WantedBy=multi-user.target
 [root@localhost ~]# chmod 754 /usr/lib/systemd/system/apache.service
 添加开机自启动
 [root@localhost ~]# systemctl enable apache
 Created symlink from /etc/systemd/system/multi-user.target.wants/apache.service to /usr/lib/systemd/system/apache.service.
 启动服务
 [root@localhost ~]# /etc/init.d/apachectl restart
 报错:
 AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::48aa:e778:8276:5257. Set the ‘ServerName’ directive globally to suppress this message
 [root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
 修改192行
 192 #ServerName www.example.com:80
 为:
 192 ServerName localhost:80
 重新启动:
 [root@localhost ~]# /etc/init.d/apachectl restart
 或者:
 [root@localhost ~]# systemctl restart apache
 查看端口
 [root@localhost ~]# netstat -antup | grep 80
 tcp6 0 0 :::80 ::😗 LISTEN 100326/httpd
 客户端测试

配置apache虚拟主机
 apache虚拟主机实现有三种方法:
 1、通过不同的IP地址
 2、通过不同的域名
 3、通过不同的端口号
 三种都需要把虚拟主机功能打开:
 开启虚拟主机功能:
 [root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
 #配置文件最下面 启用这一行
 475 #Include conf/extra/httpd-vhosts.conf
 去掉#号
 475 Include conf/extra/httpd-vhosts.conf
 重启服务
 [root@localhost ~]# systemctl restart apache
 通过不同的IP地址,解析不同的域名
 给服务器增加IP(另一个域名解析)
 [root@localhost ~]# ifconfig ens33:1 192.168.100.66
 [root@localhost ~]# ifconfig
 创建站点目录
 [root@localhost ~]# mkdir /www/html/{web1,web2} -p
 创建站点网页
 [root@localhost ~]# echo “www.baidu.com” > /www/html/web1/index.html
 [root@localhost ~]# echo “www.bdqn.com” > /www/html/web2/index.html
 定义虚拟主机文件:
 [root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf

 <VirtualHost 192.168.100.101:80>
 ServerAdmin root@baidu.com
 DocumentRoot “/www/html/web1/”
 ServerName www.baidu.com
 ServerAlias www.dummy-host.example.com
 ErrorLog “logs/dummy-host.example.com-error_log”
 CustomLog “logs/dummy-host.example.com-access_log” common


 <VirtualHost 192.168.100.66:80>
 ServerAdmin root@bdqn.com
 DocumentRoot “/www/html/web2/”
 ServerName www.bdqn.com
 ErrorLog “logs/dummy-host2.example.com-error_log”
 CustomLog “logs/dummy-host2.example.com-access_log” common


 重启服务
 [root@localhost ~]# systemctl restart apache
 测试
在这里插入图片描述
在这里插入图片描述

 通过不同的域名配置虚拟主机
 定义虚拟主机文件
 [root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
在这里插入图片描述
 [root@localhost ~]# vim /etc/hosts
192.168.100.101 www…baidu.com
192.168.100.66 www.bdqn.com

 重启服务
 [root@localhost ~]# systemctl restart apache
 修改电脑hosts文件C:\Windows\System32\drivers\etc\hosts作解析
在这里插入图片描述
测试:
在这里插入图片描述
 通过不同的端口配置虚拟主机
 增加监听端口
 [root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
 在52行添加监听端口
 51 Listen 80
 52 Listen 8080

 定义虚拟主机文件:
 [root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
 <VirtualHost *:80>
 ServerAdmin root@baidu.com
 DocumentRoot “/www/html/web1/”
 ServerName www.baidu.com
 ServerAlias www.dummy-host.example.com
 ErrorLog “logs/dummy-host.example.com-error_log”
 CustomLog “logs/dummy-host.example.com-access_log” common


 <VirtualHost *:8080>
 ServerAdmin root@bdqn.com
 DocumentRoot “/www/html/web2/”
 ServerName www.bdqn.com
 ErrorLog “logs/dummy-host2.example.com-error_log”
 CustomLog “logs/dummy-host2.example.com-access_log” common


 重启服务
 [root@localhost ~]# systemctl restart apache
 验证
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值