httpd
1.httpd安装 。使用yum安装: 。httpd命令 。curl命令 。编译安装httpd-2.4 2.httpd常用配置 。访问控制法则: 3.虚拟主机: 。相同ip不同端口的配置: 。不同IP相同端口配置: 。相同IP相同端口不同域名配置 。ssl httpd //配置文件说明
文件/目录 对应的功能
/var/log/httpd/access.log 访问日志
/var/log/httpd/error_log 错误日志
/var/www/html/ 站点文档目录
/usr/lib64/httpd/modules/ 模块文件路径
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.modules.d/*.conf 模块配置文件
/etc/httpd/conf.d/*.conf 辅助配置文件
。httpd命令
//语法:httpd [options]
//常用的options:
-l //查看静态编译的模块,列出核心中编译了哪些模块。 \
//它不会列出使用LoadModule指令动态加载的模块
-M //输出一个已经启用的模块列表,包括静态编译在服务 \
//器中的模块和作为DSO动态加载的模块
-v //显示httpd的版本,然后退出
-V //显示httpd和apr/apr-util的版本和编译参数,然后退出
-X //以调试模式运行httpd。仅启动一个工作进程,并且 \
//服务器不与控制台脱离
-t //检查配置文件是否有语法错误
。curl命令 curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。
curl支持以下功能:
1.https认证 2.http的POST/PUT等方法 3.ftp上传 4.kerberos认证 5.http上传 6.代理服务器 7.cookies 8.用户名/密码认证 9.下载文件断点续传 10.socks5代理服务器 11.通过http代理服务器上传文件到ftp服务器
//语法:curl [options] [URL ...]
//常用的options:
-A/--user-agent <string> //设置用户代理发送给服务器
-basic //使用Http基本认证
--tcp-nodelay //使用TCP_NODELAY选项
-e/--referer <URL> //来源网址
--cacert <file> //CA证书(SSL)
--compressed //要求返回时压缩的格式
-H/--header <line> //自定义请求首部信息传递给服务器
-I/--head //只显示响应报文首部信息
--limit-rate <rate> //设置传输速度
-u/--user <user[:password]> //设置服务器的用户和密码
-0/--http1 //使用http 1.0版本,默认使用1.1版本。这个选项是数字0而不是字母o
-o/--output //把输出写到文件中
-#/--progress-bar //进度条显示当前的传送状态
//通过curl下载文件
[root@scl ~]# curl -o myblog.html https://blog.csdn.net/whell_scl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15137 0 15137 0 0 47412 0 --:--:-- --:--:-- --:--:-- 47750
[root@scl ~]# ls
myblog.html
。编译安装httpd-2.4
httpd依赖于apr-1.4+,apr-util-1.4+,[apr-icon]
1.安装开发环境
[root@add ~]# yum groupinstall "Development Tools"
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 autoconf.noarch.0.2.69-11.el7 将被 安装
--> 正在处理依赖关系 m4 >= 1.4.14,它被软件包 autoconf-2.69-11.el7.noarch 需要
--> 正在处理依赖关系 perl(Data::Dumper),它被软件包 autoconf-2.69-11.el7.noarch 需要
---> 软件包 automake.noarch.0.1.13.4-3.el7 将被 安装
--> 正在处理依赖关系 perl(Thread::Queue),它被软件包 automake-1.13.4-3.el7.noarch 需要
--> 正在处理依赖关系 perl(TAP::Parser),它被软件包 automake-1.13.4-3.el7.noarch 需要
---> 软件包 bison.x86_64.0.3.0.4-2.el7 将被 安装
---> 软件包 byacc.x86_64.0.1.9.20130304-3.el7 将被 安装
---> 软件包 cscope.x86_64.0.15.8-10.el7 将被 安装
--> 正在处理依赖关系 emacs-filesystem,它被软件包 cscope-15.8-10.el7.x86_64 需要
---> 软件包 ctags.x86_64.0.5.8-13.el7 将被 安装
---> 软件包 diffstat.x86_64.0.1.57-4.el7 将被 安装
---> 软件包 doxygen.x86_64.1.1.8.5-3.el7 将被 安装
---> 软件包 elfutils.x86_64.0.0.172-2.el7 将被 安装
---> 软件包 flex.x86_64.0.2.5.37-6.el7 将被 安装
---> 软件包 gcc.x86_64.0.4.8.5-36.el7 将被 安装
--> 正在处理依赖关系 cpp = 4.8.5-36.el7,它被软件包 gcc-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 libmpfr.so.4()(64bit),它被软件包 gcc-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 libmpc.so.3()(64bit),它被软件包 gcc-4.8.5-36.el7.x86_64 需要
---> 软件包 gcc-c++.x86_64.0.4.8.5-36.el7 将被 安装
--> 正在处理依赖关系 libstdc++-devel = 4.8.5-36.el7,它被软件包 gcc-c++-4.8.5-36.el7.x86_64 需要
---> 软件包 gcc-gfortran.x86_64.0.4.8.5-36.el7 将被 安装
--> 正在处理依赖关系 libquadmath-devel = 4.8.5-36.el7,它被软件包 gcc-gfortran-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 libquadmath = 4.8.5-36.el7,它被软件包 gcc-gfortran-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 libgfortran = 4.8.5-36.el7,它被软件包 gcc-gfortran-4.8.5-36.el7.x86_64 需要
--> 正在处理依赖关系 libgfortran.so.3()(64bit),它被软件包 gcc-gfortran-4.8.5-36.el7.x86_64 需要
---> 软件包 git.x86_64.0.1.8.3.1-19.el7 将被 安装
--> 正在处理依赖关系 perl-Git = 1.8.3.1-19.el7,它被软件包 git-1.8.3.1-19.el7.x86_64 需要
--> 正在处理依赖关系 rsync,它被软件包 git-1.8.3.1-19.el7.x86_64 需要
--> 正在处理依赖关系 perl(Term::ReadKey),它被软件包 git-1.8.3.1-
已安装:
autoconf.noarch 0:2.69-11.el7
automake.noarch 0:1.13.4-3.el7
bison.x86_64 0:3.0.4-2.el7
byacc.x86_64 0:1.9.20130304-3.el7
cscope.x86_64 0:15.8-10.el7
ctags.x86_64 0:5.8-13.el7
diffstat.x86_64 0:1.57-4.el7
doxygen.x86_64 1:1.8.5-3.el7
elfutils.x86_64 0:0.172-2.el7
flex.x86_64 0:2.5.37-6.el7
gcc.x86_64 0:4.8.5-36.el7
gcc-c++.x86_64 0:4.8.5-36.el7
gcc-gfortran.x86_64 0:4.8.5-36.el7
git.x86_64 0:1.8.3.1-19.el7
indent.x86_64 0:2.2.11-13.el7
intltool.noarch 0:0.50.2-7.el7
libtool.x86_64 0:2.4.2-22.el7_3
patch.x86_64 0:2.7.1-10.el7_5
patchutils.x86_64 0:0.3.3-4.el7
rcs.x86_64 0:5.9.0-5.el7
redhat-rpm-config.noarch 0:9.1.0-87.el7.centos
rpm-build.x86_64 0:4.11.3-35.el7
rpm-sign.x86_64 0:4.11.3-35.el7
subversion.x86_64 0:1.7.14-14.el7
swig.x86_64 0:2.0.10-5.el7
systemtap.x86_64 0:3.3-3.el7
作为依赖被安装:
boost-date-time.x86_64 0:1.53.0-27.el7
boost-system.x86_64 0:1.53.0-27.el7
boost-thread.x86_64 0:1.53.0-27.el7
bzip2.x86_64 0:1.0.6-13.el7
cpp.x86_64 0:4.8.5-36.el7
dwz.x86_64 0:0.11-3.el7
dyninst.x86_64 0:9.3.1-2.el7
efivar-libs.x86_64 0:36-11.el7
emacs-filesystem.noarch 1:24.3-22.el7
gdb.x86_64 0:7.6.1-114.el7
gettext-common-devel.noarch 0:0.19.8.1-2.el7
gettext-devel.x86_64 0:0.19.8.1-2.el7
glibc-devel.x86_64 0:2.17-260.el7
glibc-headers.x86_64 0:2.17-260.el7
gnutls.x86_64 0:3.3.29-8.el7
kernel-debug-devel.x86_64 0:3.10.0-957.el7
kernel-headers.x86_64 0:3.10.0-957.el7
libdwarf.x86_64 0:20130207-4.el7
libgfortran.x86_64 0:4.8.5-36.el7
libmodman.x86_64 0:2.0.1-8.el7
libmpc.x86_64 0:1.0.1-3.el7
libproxy.x86_64 0:0.4.11-11.el7
libquadmath.x86_64 0:4.8.5-36.el7
libquadmath-devel.x86_64 0:4.8.5-36.el7
libstdc++-devel.x86_64 0:4.8.5-36.el7
m4.x86_64 0:1.4.16-10.el7
mokutil.x86_64 0:15-1.el7.centos
mpfr.x86_64 0:3.1.1-4.el7
neon.x86_64 0:0.30.0-3.el7
nettle.x86_64 0:2.7.1-8.el7
pakchois.x86_64 0:0.4-10.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-Error.noarch 1:0.17020-2.el7
perl-Git.noarch 0:1.8.3.1-19.el7
perl-TermReadKey.x86_64 0:2.30-20.el7
perl-Test-Harness.noarch 0:3.28-3.el7
perl-Thread-Queue.noarch 0:3.02-2.el7
perl-XML-Parser.x86_64 0:2.41-10.el7
perl-srpm-macros.noarch 0:1-8.el7
rsync.x86_64 0:3.1.2-4.el7
subversion-libs.x86_64 0:1.7.14-14.el7
systemtap-client.x86_64 0:3.3-3.el7
systemtap-devel.x86_64 0:3.3-3.el7
systemtap-runtime.x86_64 0:3.3-3.el7
trousers.x86_64 0:0.3.14-2.el7
unzip.x86_64 0:6.0-19.el7
zip.x86_64 0:3.0-11.el7
完毕!
2.2.安装相关依赖包
[root@add ~]# yum -y install openssl-devel pcre-devel expat-devel libtool
3.下载apr-1.6.3和apr-util-1.6.1和httpd-2.4
首先准备3个httpd包
apr-util-1.6.1.tar.bz2
apr-1.6.3.tar.bz2
httpd-2.4.34.tar.bz2
然后用Xftp传递进Xshell里面
4.解压下好的tar包
[root@aad src]# tar xf apr-1.6.3.tar.bz2
[root@aad src]# tar xf apr-util-1.6.1.tar.bz2
[root@aad ~]# tar xf httpd-2.4.34.tar.bz2
[root@aad src]# ls
apr-1.6.3 apr-util-1.6.1 debug
apr-1.6.3.tar.bz2 apr-util-1.6.1.tar.bz2 kernels
5.安装
[root@aad src]# cd apr-1.6.3
[root@aad apr-1.6.3]# vim configure
` # $RM "$cfgfile" //将此行加上注释,或者删除此行`
[root@aad apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@aad apr-1.6.3]# make && make install
// 编译安装apr-util-1.6.1
[root@aad apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@aad apr-util-1.6.1]# make && make install
// 编译安装httpd-1.4
[root@add httpd-2.4.34]# ./configure --prefix=/usr/local/apache \
> --sysconfdir=/etc/httpd24 \
> --enable-so \
> --enable-ssl \
> --enable-cgi \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util/ \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=prefork
[root@add httpd-2.4.34]# make && make install
添加环境变量:
[root@add ~]# echo "export PATH=/usr/local/apache/bin:$PATH" >/etc/profile.d/httpd.sh
[root@add ~]# . /etc/profile.d/httpd.sh
[root@add ~]# which httpd
/usr/local/apache/bin/httpd
在浏览器输入ip验证:
[root@add ~]# /usr/local/apache/bin/apachectl start // 启动服务
[root@add~]# vim /etc/httpd24/httpd.conf
ServerName www.example.com:80 // 将这一行前面的注释去掉
[root@add ~]# systemctl stop firewalld // 关闭防火墙