1、httpd安装步骤
1.1下载阿里的base和epel源:
[root@httpd-2 ~]# cd /etc/yum.repos.d/
[root@httpd-2 yum.repos.d]# rm -rf *.repo
[root@httpd-2 yum.repos.d]# wget https://mirrors.aliyun.com/repo/Centos-7.repo
[root@httpd-2 yum.repos.d]# https://mirrors.aliyun.com/repo/epel-7.repo
修改base源:
[root@httpd-2 yum.repos.d]# vi Centos-7.repo
#删除阿里内部使用的下边两个网址
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
1.2安装httpd
[root@httpd-2 ~]# yum install httpd –y
使用yum源安装时,httpd的版本一般不会是最新的,最新的版本只能去Apache官网下载源码包安装。
1.3启动httpd
[root@httpd-2 ~]# systemctl start httpd
[root@httpd-2 ~]# systemctl enable httpd //设置开机自启
1.4查看httpd状态
查看httpd进程:
[root@httpd-2 ~]# ps -ef | grep httpd
root 1976 1 0 16:52 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1977 1976 0 16:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1978 1976 0 16:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1979 1976 0 16:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1980 1976 0 16:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1981 1976 0 16:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 2002 1753 0 16:54 pts/0 00:00:00 grep --color=auto httpd
yum方式安装会自动创建一个apache用户,以这用户的方式启动服务。
查看httpd端口:
[root@httpd-2 ~]# netstat -lntup | grep httpd
tcp6 0 0 :::80 :::* LISTEN 1976/httpd
至此,安装httpd已经完成。接下来介绍httpd的各种网页及配置文件。
2、站点根目录的配置
2.1 站点根目录和首页文件
站点根目录:是用来存放网页文件的目录,里面有许多文件,其中就有首页文件。如果是静态文件,首页文件名称通常是index.html,index.htm,如果是动态网页,首页文件名称可能是index.jsp或者index.php。
查找首页文件:
[root@httpd-2 ~]# grep "DirectoryIndex" /etc/httpd/conf/httpd.conf
# DirectoryIndex: sets the file that Apache will serve if a directory
DirectoryIndex index.html
[root@httpd-2 ~]# grep "DocumentRoot" /etc/httpd/conf/httpd.conf
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/var/www/html"
[root@httpd-1 ~]# grep "DirectoryIndex" /app/httpd/conf/httpd.conf
DirectoryIndex index.html
[root@httpd-1 ~]# grep "DocumentRoot" /app/httpd/conf/httpd.conf
DocumentRoot "/app/httpd-2.4.37/htdocs"
DocumentRoot定义站点根目录,DirectoryIndex定义首页文件,因此首页文件全路径是:/var/www/html/index.html。
这里说明一下源码包安装的httpd和yum源安装的httpd的重要文件位置的区别:
主配置目录:
源码包位于手动指定目录下的conf/httpd.conf;yum的位于/etc/httd/conf/httpd.conf。
二进制命令存放目录:
源码包位于手动指定目录下的bin/目录;yum的位于/usr/sbin/目录。
日志存放目录:
源码包位于手动指定目录下的logs/目录;yum的位于/var/log/httpd/目录。
网页文件存放目录(站点根目录):
源码包位于手动指定目录下的htdocs/目录;yum的位于/var/www/html/目录。
2.2 站点优化—禁止显示根目录
在首页文件不存在的情况下,浏览器访问网站可能会显示网站的目录结构,被黑客看到,会顺藤摸瓜,找到网站的漏洞进行入侵。所以,在首页文件不存在的情况下,一定要禁止显示网站的目录结果:
解决方法如下:
[root@httpd-2 ~]# cd /etc/httpd/conf/
[root@httpd-2 conf]# cp httpd.conf httpd.conf.bak
[root@httpd-2 conf]# vi httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks //将这个Indexes删掉
[root@httpd-2 conf]# apachectl graceful
//源码包方式安装的也类似修改
修改完再次访问网站,就会报403错误,而不会显示站点的目录结构了。