安裝 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