目录
1.下载源码包
2.配置httpd运行环境
3.编译源码包安装apache软件
4.优化执行路径
5.添加httpd系统服务
正文
1.httpd服务器的基本配置
2.本章持续更新
访问官方网站↓↓↓
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中
现在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
# 安装一下需要的环境
现在运行环境准备完成了 就可以去编译安装了
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
还需耐心等待 这次编译安装完成 就是真正的完成了
现在就编译安装完成了
但是现在如果要开启服务还要跑到很远的路径下开启服务,别急,看下面的优化
现在他只是安装到了系统上了,也是可以去启动他,去配置文件也能实现效果
但是启动他还是十分的费劲,总感觉他不是系统的一部分
而且他还没有写入环境变量所以直接输入
在系统的bin环境里并没有他的东西
ln -s /usr/local/httpd/bin/* /usr/local/bin/
# 把他的bin文件链接到bin下,这时再去 httpd -v
让他真正变成系统的一部分
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
#将其改为开机自启
开机自启
修改你的主机名,因为等会配置文件要用(默认的也可以,只要不输入错误就行)
我这里使用的永久修改的命令,配文件也是一样的效果
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