目录
1.下载源码包
2.配置httpd运行环境
3.编译源码包安装apache软件
4.优化执行路径
5.添加httpd系统服务
#正文
1.httpd服务器的基本配置
2.Linux命令行访问网站
3. 网站日志
4.控制网站访问
5.创建用户认证数据库
#构建虚拟web主机
1.构建虚拟主机——基于域名
2.构建虚拟主机——基于ip
3.构建虚拟主机——基于端口
我的服务器为centos7系统
1.下载源码包
访问官方网站↓↓↓
Welcome! - The Apache HTTP Server Project
↑↑↑
选择 Download
你可以选择
httpd-2.4.57.tar.bz2
也可以选择
httpd-2.4.57.tar.gz
他俩只是归档压缩的方式不一样,使用解归档的命令也有点差别外就没什么了
我这里选择的是httpd-2.4.57.tar.bz2
直接点击httpd-2.4.57.tar.bz2就会自动下载
将这个文件传入Linux中
2.配置httpd运行环境
现在httpd-2.4.57.tar.bz2已经传入当前工作目录
tar xfj httpd-2.4.57.tar.bz2 -C /usr/src/
# 将他解归档解入/usr/src/
在开始配置编译他之前我们还要做一些准备工作!!!
rpm -e httpd --nodeps
# 如果系统自带httpd这个软件要删除掉,两个软件不能同时运行
yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre gcc make
# 安装一下需要的环境
现在运行环境准备完成了 就可以去编译安装了
3.编译源码包安装apache软件
cd /usr/src/httpd-2.4.57/
在 /usr/src/httpd-2.4.57目录下使用
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
中途千万别切换目录,中途千万别切换目录,中途千万别切换目录
# 把他安装到/usr/local/httpd 后面的参数意思如下
--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
到这里还没完!!!! 接着使用make继续编译安装
make
需要耐心等待
等到结束 还没有结束 !!!!中途千万别切换目录 使用make install继续安装
make install
还需耐心等待 这次编译安装完成 就是真正的完成了
现在就编译安装完成了
但是现在如果要开启服务还要跑到很远的路径下开启服务,别急,看下面的优化
4.优化执行路径
现在他只是安装到了系统上了,也是可以去启动他,去配置文件也能实现效果
但是启动他还是十分的费劲,总感觉他不是系统的一部分
而且他还没有写入环境变量所以直接输入
在系统的bin环境里并没有他的东西
ln -s /usr/local/httpd/bin/* /usr/local/bin/
# 把他的bin文件链接到bin下,这时再去 httpd -v
让他真正变成系统的一部分
5.添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
# 把他启动程序复制到 init.d 下实现开机自启
vi /etc/init.d/httpd
# 配置一下他 只需要修改他的前三行
这个是他默认文档,修改为
#!/bin/bash # chkconfig: 35 85 15 # description: Startup script for the Apache HTTP Server
# chkconfig--- 服务识别参数,在运行级别3,5中启动。服务启动和关闭顺序分别为85、15.
# description----服务描述信息
chkconfig --add httpd
#将其改为开机自启
开机自启
正文
1.httpd服务器的基本配置
修改你的主机名,因为等会配置文件要用(默认的也可以,只要不输入错误就行)
我这里使用的永久修改的命令,配文件也是一样的效果
hostnamectl set-hostname + 你的主机名
hostname
查看当前主机名
vim /usr/local/httpd/conf/httpd.conf
201 行 (如果你的版本是以前的,可以:200 跳转到第200行,基本就离200不是很远)
在202行写入
ServerName 你的主机名
我的主机名是 www.tarro.com所以写入
ServerName www.tarro.com
/usr/local/httpd/bin/apachectl -t
检测文件是否出错
/etc/init.d/httpd start
开启成功
这里如果没有访问成功。那就要关闭你系统的防火墙和selinux
systemctl stop firewalld
setenforce 0
你可以对html进行简易的编辑查看效果
vi /usr/local/httpd/htdocs/index.html
2.Linux命令行访问网站
curl
curl http://192.168.254.1
# curl + 域名
elinks
yum -y install elinks
# 先用yum安装一下elinks http://192.168.254.1
elinks + 域名
第一次进可以回车 或者esc再次进入 退出就用 ctrl + c
3. 网站日志
/usr/local/httpd/logs
里面的连接日志是access_log
4.控制网站访问
vim /usr/local/httpd/conf/httpd.conf
跳转到251行
默认的是允许全部人去访问
Require ip +允许的ip
这个是 只 允许192.168.254.100访问
现在允许192.168.254.100 去访问
除了255.100其他的成功拦截
这个是允许所有人访问 但是拒绝 192.168.254.100 和 192.168.1.0的网段全部主机
这个是只允许8.100访问 不允许192.168.254.100 和整个1网段
这个意义不大但是要知道一下
5.创建用户认证数据库
cd /usr/local/httpd/
bin/htpasswd -c /usr/local/httpd/conf/.awspwd tarro1
bin/htpasswd -c /usr/local/httpd/conf/.awspwd 用户名
# 新建一个用户用于登录
htpasswd conf/.awspwd tarro2
# 新增第二个用户
vi /usr/local/httpd/conf/httpd.conf
# 进入之后到251行左右(新版旧版有几行差距但是不大)
Require all granted 注释掉 变成
# Require all granted
然后添加
AuthName "shu ru mi ma"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
构建虚拟web主机
1.构建虚拟主机——基于域名
www.tarro1.com,IP地址为 192.168.254.10
www.tarro2.com,IP地址为 192.168.254.10
由于dns需要去搭建可以通过主机的hosts也可以
如果想搭建可以去另外一个博客学习
Linux:DNS服务(bind)_鲍海超-GNUBHCkalitarro的博客-CSDN博客
mkdir -p /var/www/html/tarrocom
mkdir -p /var/www/html/tarro1com
echo "<h1>www.tarro1.com</h1>" > /var/www/html/tarrocom/index.html
echo "<h1>www.tarro2.com</h1>" > /var/www/html/tarro1com/index.html
# 这个是往那俩目录里放index.html
# 然后往里编写不同的内容
vim /usr/local/httpd/conf/extra/vhosts.conf
写入
<VirtualHost *:80>
ServerName www.tarro.com
DocumentRoot /var/www/html/tarrocom
ErrorLog logs/www.tarro.com.error_log
CustomLog logs/www.tarro.com.access_log common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.tarro1.com
DocumentRoot /var/www/html/tarro1com
ErrorLog logs/www.tarro1.com.error_log
CustomLog logs/www.tarro1.com.access_log common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
vim /usr/local/httpd/conf/httpd.conf
# 跳转到486行(新版旧版可能会有差别,但是差别不大)插入
Include conf/extra/vhosts.conf
这里你如果做的dns那就把dns指向dns服务器,如果要是没做那就修改本地默认hosts文件
去改主机的hosts文件
C:\Windows\System32\drivers\etc\hosts
2.构建虚拟主机——基于ip
我们可以有多个网卡配置ip或者一个网卡上配置子接口有多个ip
ifconfig
可以看到已经有一个ip为192.168.254.10了
再在本网卡上添加一个子接口ip为:192.168.254.11
ifconfig ens33:0 192.168.254.11/24
vim /usr/local/httpd/conf/extra/vhosts.conf
在刚刚的基础上修改ip
然后就可以正常访问了
3.构建虚拟主机——基于端口号
如果你刚刚做了上一个区分ip访问不同网页现在就要重启一下网卡
让他去掉子接口
systemctl restart network
vim /usr/local/httpd/conf/extra/vhosts.conf
下面有几个上面就要写几个 (这样一部分主机可以还有一部分主机自动已经监听80了)
报错的话改为
文章来源:https://www.toymoban.com/news/detail-605607.html
访问成功 文章来源地址https://www.toymoban.com/news/detail-605607.html
到了这里,关于Linux:http服务(Apache 2.4.57)源码编译——配置网站 || 入门到入土的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!