先下载相关软件
httpd下载地址:https://httpd.apache.org/
apr相关软件下载地址:https://apr.apache.org/
pcre下载地址:http://www.pcre.org/
expat-devel下载地址:https://pkgs.org/download/expat-devel
gcc-c++下载地址:https://pkgs.org/download/gcc-c++
以上共7个软件包,2个rpm包,4个压缩安装包。
根据需求下载自己需要的版本,gcc-c++如果已经有则不需要
必须的包为:apr、apr-util、expat-devel、pcre、httpd (注:带devel的是包含了头文件和链接文件,其他程序编译时需要使用的话,就需要用devel的,其他几个文件同理,若都为rpm包则只需要下载普通rpm包)
rpm包的安装方法为:
rpm -ivh *.rpm
如果安装时出现 "Header V3 DSA signature: NOKEY, key ID*****" 错误,则安装时在后面加上
--force --nodeps
rpm -ivh *.rpm --force --nodeps
若嫌编译安装麻烦,可在http://www.rpmfind.net/或者https://pkgs.org种搜索相应的rpm包,安装方法如上,直接rpm即可
安装完后跳过下面的编译安装
//安装apr
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=/usr/local/apr //指定安装路径
make & make install
//安装apr-util
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make & make install
//安装pcre
tar -zxvf pcre-8.45.tar.gz
cd pcre-8.45
//注:安装时需指定,不然可能会安装失败,或安装httpd时报找不到执行脚本
./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
make & make install
//安装httpd
tar -zxvf httpd-2.4.48.tar.gz
cd httpd-2.4.48
./configure --prefix=/usr/local/apache \
--sysconfdir=/etc/httpd \
--with-pcre=/usr/local/pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
make & make install
Httpd配置
vi /etc/httpd/httpd.conf
找到,改成你需要监听的端口,多个端口则添加Linsten
修改域名或直接注释掉
初始为Require all deny(拒绝所有主机访问)
法则 | 功能 |
---|---|
Require all granted | 允许所有主机访问 |
Require all deny | 拒绝所有主机访问 |
Require ip IPADDR | 授权指定来源地址的主机访问 |
Require not ip IPADDR | 拒绝指定来源地址的主机访问 |
Require host HOSTNAME | 授权指定来源主机名的主机访问 |
Require not host HOSTNAME | 拒绝指定来源主机名的主机访问 |
添加项目
该标签下具体属性参考:Apache服务器VirtualHost常用配置_极客开发者的博客-CSDN博客
添加httpd服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在文件末尾添加以下内容
#!/bin/bash
# chkconfig: 35 85 21
#description: Startup script for the Apache HTTP Server
chkconfig --add httpd //添加httpd为系统服务
chkconfig --level 35 httpd on //设置开机自启
systemctl start httpd //启动服务