目录
1、HTTP简介
Apache HTTP (简称),中文名:阿帕奇,是的一个开放源码的网页服务器
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中,可以在大多数
计算机操作系统
中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一
2、关闭防火墙
为了避免不必要的麻烦,我们先关闭防火墙和selinux,等搭建成功之后再开启防火墙和相应的端口
[root@centos7 ~]# systemctl status Firewalld.service# 查看防火墙状态[root@centos7 ~]# systemctl stop firewalld.service# 停止防火墙服务[root@centos7 ~]# systemctl disable firewalld.service# 关闭防火墙开启自启动# 把文件中的SELINUX=enforcing 改为SELINUX=disabled[root@centos7 ~]# vim /etc/selinux/config[root@centos7 ~]# setenforce 0# 使修改马上生效
3、安装HTTP软件包
查看一下系统版本
[root@centos7 ~]# rpm -q centos-releasecentos-release-7-9.2009.0.el7.centos.x86_64
查看是否已经安装了http服务器
# 如果没有返回任何结果,表示没有安装;如果返回文件包名,这表示已经安装了该服务;[root@centos7 ~]# httpd -versionServer version: Apache/2.4.6 (CentOS)Server built:Oct1 2020 16:52:05# 代表已安装[root@centos7 ~]# rpm -qa|grep httpdhttpd-manual-2.4.6-95.el7.centos.noarchhttpd-tools-2.4.6-95.el7.centos.x86_64httpd-2.4.6-95.el7.centos.x86_64# 代表已安装[root@centos7 ~]# rpm -e httpd-manual-2.4.6-95.el7.centos.noarch# 卸载httpd[root@centos7 ~]# rpm -e httpd-2.4.6-95.el7.centos.x86_64[root@centos7 ~]# rpm -e httpd-tools-2.4.6-95.el7.centos.x86_64# 再次检查[root@centos7 ~]# rpm -qa|grep httpd[root@centos7 ~]# httpd -version-bash: /usr/sbin/httpd: 没有那个文件或目录.
开始安装
采用在线安装方式
[root@centos7 ~]# yum install -y mod_ssl openssl httpd
采用离线安装方式
*.rpm下载:
# 进入准备好httpd服务所需要依赖的目录[root@centos7 ~]# cd /data/http/httpuser/[root@centos7 httpuser]# ll总用量 4740-rw-r--r-- 1 sftpuser sftp106124 8月12 23:55 apr-1.4.8-7.el7.x86_64.rpm-rw-r--r-- 1 sftpuser sftp94132 8月12 23:55 apr-util-1.5.2-6.el7.x86_64.rpm-rw-r--r-- 1 sftpuser sftp18976 8月12 23:55 apr-util-ldap-1.5.2-6.el7.x86_64.rpm-rw-r--r-- 1 sftpuser sftp 2846172 8月12 23:55 httpd-2.4.6-95.el7.centos.x86_64.rpm-rw-r--r-- 1 sftpuser sftp 1409564 8月13 10:21 httpd-manual-2.4.6-95.el7.centos.noarch.rpm-rw-r--r-- 1 sftpuser sftp95136 8月12 23:55 httpd-tools-2.4.6-95.el7.centos.x86_64.rpm-rw-r--r-- 1 sftpuser sftp31264 8月12 23:55 mailcap-2.1.41-2.el7.noarch.rpm-rw-r--r-- 1 sftpuser sftp116812 8月12 23:55 mod_ssl-2.4.6-95.el7.centos.x86_64.rpm-rw-r--r-- 1 sftpuser sftp239900 8月12 23:55 postgresql-libs-9.2.24-4.el7_8.x86_64.rpm# 开始安装- 安装依赖的顺序按照以下先后顺序进行- 安装rpm包的命令:rpm -ivh 包名[root@centos7 httpuser]# rpm -ivh apr-1.4.8-7.el7.x86_64.rpm[root@centos7 httpuser]# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm[root@centos7 httpuser]# rpm -ivh apr-util-ldap-1.5.2-6.el7.x86_64.rpm[root@centos7 httpuser]# rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm[root@centos7 httpuser]# rpm -ivh postgresql-libs-9.2.24-4.el7_8.x86_64.rpm[root@centos7 httpuser]# rpm -ivh httpd-tools-2.4.6-95.el7.centos.x86_64.rpm[root@centos7 httpuser]# rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm[root@centos7 httpuser]# rpm -ivh httpd-manual-2.4.6-95.el7.centos.noarch.rpm[root@centos7 httpuser]# rpm -ivh mod_ssl-2.4.6-95.el7.centos.x86_64.rpm
采用编译安装方式
*.tar.gz下载此方法的安装过程自行百度,此处不在做介绍
设置为开机自动启动服务
[root@centos7 ~]# systemctl enable httpd.service
启动httpd服务
# http服务器的服务名是httpd,相关的操作如下:[root@centos7 ~]# systemctl starthttpd.service# 启动服务systemctl stophttpd.service# 停止服务systemctl restart httpd.service# 重启服务systemctl status httpd.service# 查看服务状态systemctl enable httpd.service# 设置开机自启动httpd服务systemctl disable httpd.service# 禁用开机自启动httpd服务
4、配置HTTP服务器
备份配置文件
# Apache默认将网站的根目录指向/var/www/html# 默认的主配置文件/etc/httpd/conf/httpd.conf# 配置存储在的/etc/httpd/conf.d/目录# 防止后期配置文件出错后无法还原[root@centos7 ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup[root@centos7 ~]# cd /etc/httpd/conf/[root@centos7 ssh]# ll......-rw-r--r-- 1 root root 11752 8月13 12:02 httpd.conf-rw-r--r-- 1 root root 11752 8月16 22:10 httpd.conf.backup......
其余配置默认就好
新建一个测试文件
# 先新建一个存放文件的文件夹并授权[root@centos7 ~]# mkdir -p /var/www/html/upload[root@centos7 ~]# chmod 755 /var/www/html/upload# 进入文件夹[root@centos7 ~]# cd /var/www/html/upload# 新建测试文件,然后保存退出[root@centos7 ~]# vim 测试_20220712.txt[root@centos7 upload]#
5、重启并配置防火墙
systemctl enable firewalld.service# 重启防火墙开机自启动systemctl restart firewalld.service# 重启防火墙服务firewall-cmd --version# 查看防火墙版本firewall-cmd --list-all# 查看已开放的端口firewall-cmd --query-port=80/tcp# 查询TCP的80端口占用情况firewall-cmd --permanent --zone=public --add-port=80/tcp# 开通http服务80端口firewall-cmd --reload# 刷新防火墙,重新载入# 设置关闭SELinux对ftp的限制setsebool -P ftpd_full_access onsed -i s#enforcing#disabled#g /etc/sysconfig/selinuxsetenforce 0 && getenforcegetenforce
6、重启HTTP服务
systemctl restart httpd.service
至此,HTTP其实就已经搭建成功,可以登录了!
7、访问测试
查看IP地址
注意:
云服务器的ip地址为
公网ip地址
虚拟机的ip地址为NAT模式下的
固定ip地址
,下图用的就是固定ip
浏览器访问测试
在浏览器中输入:
http:// 你的ip地址
,显示如下
8、拓展配置
文件目录列表访问问题
vim /etc/httpd/conf.d/welcome.conf
# 修改/etc/httpd/conf.d/welcome.conf配置文件# 把Options -Indexes中的减号改为加号......cationMatch "^/+$">Options +IndexesErrorDocument 403 /.noindex.html......# 重启httpd服务[root@centos7 ~]# systemctl restart httpd.service
静态资源名称乱码问题
vim /etc/httpd/conf/httpd.conf
# 编辑httpd配置文件,增加(或修改)页面的默认编码类型为UTF-8......IndexOptions Charset=UTF-8......# 重启httpd服务[root@centos7 ~]# systemctl restart httpd.service
点击链接直接在浏览器中打开的问题
vim /etc/httpd/conf/httpd.conf
# 编辑本地配置文件,将预期直接下载的文件扩展名配置上# *.txt文件直接下载AddType application/x-txt-compressed .txt# *.pdf文件直接下载AddType application/x-pdf-compressed .pdf# *.json文件直接下载AddType application/x-json-compressed .json# 重启httpd服务[root@centos7 ~]# systemctl restart httpd.service# 清理浏览器缓存
注意:
配置完成并重启服务后先清理一下浏览器缓存,有可能会出现因为浏览器缓存未清理,而导致未达到预期效果的问题
文件名较长显示不全的问题
vim /etc/httpd/conf.d/autoindex.conf
# 编辑httpd配置文件,增加(或修改)索引名长度限制为*(任意长度,不作限制)......IndexOptions FancyIndexing HTMLTable VersionSort NameWidth=*......# 重启httpd服务[root@centos7 ~]# systemctl restart httpd.service
指定目录启用用户授权的问题
# 添加访问用户并设置密码[root@centos7 ~]# htpasswd -c /etc/httpd/auth.pwd httpuserNew password:# 密码输入不显示,正常输入后直接按回车就行Re-type new password:Adding password for user httpuser[root@centos7 ~]## 添加用户访问权限配置,直接在配置文件中新增以下内容即可[root@centos7 ~]# vim /etc/httpd/conf/httpd.confAuthName"xxxxx"AuthTypebasicAuthUserFile/etc/httpd/auth.pwdRequirevalid-user# Requireuser httpuser01 # 重启httpd服务[root@centos7 ~]# systemctl restart httpd.service
以上就是CentOS7 安装配置HTTP服务器详解的详细内容,更多相关资料请阅读主机测评网其它文章!














发表评论