安装 httpd 服务
输入下面命令安装 httpd 服务,注意要使用带有 root 权限
的用户,我是从普通用户切回超级用户 root 再开始执行命令的:
yum -y install httpd
报错:Cannot find a valid baseurl for repo: base/7/x86_6
上网查找问题,发现有三种原因:
- 不能上网
- DNS 配置有问题
- 无法解析yum源
不能上网解决方法
查看网卡名字,输入命令:
ip addr
查看网卡名字,输入命令,注意不一定是 enp0s3:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
按 i 表示要插入内容,把 ONBOOT=no,改为 ONBOOT=yes
保存退出,按 Esc,再输入下面命令:
:wq
发现还是不行。
DNS 配置问题解决方法
修改 DNS 配置
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
按 i 表示要插入内容,在文件末尾追加 DNS:
DNS1=8.8.8.8
DNS2=4.2.2.2
保存退出,按 Esc,再输入下面命令:
:wq
重启网络,输入命令:
ifup enp0s3
再输入安装 httpd 命令
yum -y install httpd
发现开始安装了,等待几分钟,安装成功。
访问 IP 地址
启动 apache 服务器:
systemctl start httpd
设置开机自动启动:
systemctl enable httpd
检查 httpd 服务状态:
systemctl status httpd.service
看到绿色的 active(running)
表示正常运行,查看 IP 地址:
ip add
然后输入下面命令:
curl 127.0.0.1
发现访问不了,这一般是防火墙的问题,我们需要设置一下,允许访问:
service iptables stop
发现提示没有安装 iptables,需要安装一下:
yum install iptables-services
然后输入下面命令:
systemctl stop iptables && systemctl disable iptables
其实 CentOS 从 7 开始默认用的是 firewalld,这个是基于 iptables 的,虽然有 iptables 的核心,但是 iptables 的服务是没安装的。所以只要停止 firewalld 服务即可:
systemctl stop firewalld.service && systemctl disable firewalld.service
然后再输入:
curl 127.0.0.1
发现可以看到 HTML 代码,表示可以访问该 IP 地址。
参考
CentOS 7 安装报错:Cannot find a valid baseurl for repo: base/7/x86_6