Linux:http服务(Apache 2.4.57)源码编译——配置网站 || 入门到入土

目录

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了) 

报错的话改为

 

 

访问成功 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值