一、服务器准备:
1、操作系统版本:7.5.1804
2、IP地址:192.168.1.231
二、服务器配置:
1、配置hosts文件,设置IP与主机名;
2、开启80与443端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
3、重新载入:firewall-cmd --reload
4、查看开启情况:
firewall-cmd --zone=public --query-port=80/tcp
firewall-cmd --zone=public --query-port=443/tcp
5、临时关闭防火墙准备安装apache:systemctl stop firewalld
6、临时关闭selinux: setenforce 0
[root@localhost ~]# sudo systemctl status firewalld
â firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2020-11-27 17:51:40 PST; 42s ago
Docs: man:firewalld(1)
Main PID: 5079 (firewalld)
Tasks: 2
CGroup: /system.slice/firewalld.service
ââ5079 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Nov 27 17:51:39 localhost.localdomain systemd[1]: Starting firewalld - dynami...
Nov 27 17:51:40 localhost.localdomain systemd[1]: Started firewalld - dynamic...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --zone=public --query-port=80/tcp
yes
[root@localhost ~]# firewall-cmd --zone=public --query-port=443/tcp
yes
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]#
三、apache服务的搭建与配置
1、使用yum包安装Apache软件:
[root@Apache ~]# yum -y install httpd*
[root@Apache ~]# rpm -qa | grep httpd --查看安装的http包
httpd-manual-2.4.6-97.el7.centos.noarch
httpd-devel-2.4.6-97.el7.centos.x86_64
httpd-tools-2.4.6-97.el7.centos.x86_64
httpd-2.4.6-97.el7.centos.x86_64
安装成功后,会产生下面两个文件
/etc/httpd/conf/httpd.conf # 主配置文件
/var/www/html # 默认网站家目录
[root@localhost ~]# ls /etc/httpd/conf
httpd.conf magic
[root@localhost ~]# ls /var/www
cgi-bin html
[root@localhost ~]#
2、认识httpd.conf配置文件
[root@Apache ~]# vim /etc/httpd/conf/httpd.conf
31 serverRoot "/etc/httpd" # 存放配置文件的目录
42 Listen 80 # Apache服务监听端口
66 User apache # 子进程的用户
67 Group apache # 子进程的组
86 ServerAdmin root@localhost # 设置管理员邮件地址
119 DocumentRoot "/var/www/html" --网站家目录
# 设置DocumentRoot指定目录的属性
131 <Directory "/var/www/html"> # 网站容器开始标识
144 Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
151 AllowOverride None # none不使用.htaccess控制,all允许
156 Require all granted # granted表示运行所有访问,denied表示拒绝所有访问
157 </Directory> # 容器结束
164 DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问
316 AddDefaultCharset UTF-8 # 字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
3、启动apache网站
[root@Apache ~]# systemctl start httpd.service
[root@Apache ~]# lsof -i:80 --查看httpd服务是否启动
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 20585 root 4u IPv6 402909 0t0 TCP *:http (LISTEN)
httpd 20586 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
httpd 20587 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
httpd 20588 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
httpd 20589 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
httpd 20590 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
启动成功后使用浏览器:输入自己的IP地址会看到一个红帽的欢迎页面:
每次打开浏览器不是很方便,因此我们可以使用文本浏览器,方便测试。
[root@Apache ~]# yum -y install elinks --安装elinks文本浏览器
[root@Apache ~]# elinks 192.168.1.231 --按ctrl + c退出
[root@Apache ~]# curl 192.168.1.231 --或者使用curl
四、后记优化
1、目前默认的配置为地址输入后目录下有index.html则显示网页,如果没有则显示目录,为了文件安全需要删除该选项,没有网页时不显示目录.
修改httpd.conf文件 :vi /etc/httpd/conf/httpd.conf 去掉该选项中的 Indexes
Options Indexes FollowSymLinks #---------->Options FollowSymLinks
2、目前apache服务没有随服务器自动启动,需要设置服务自启动:、
systemctl enable httpd.service #开机启动
3、404页面开启:在httpd.conf文件 中找到相应的参数修改如下
ErrorDocument 404 /404.html
4、apache常用命令:
第一、启动、终止、重启
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
第二、设置开机启动/关闭
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动
第三、检查httpd状态
systemctl status httpd.service