CentOS7安装Apache httpd服务

我的运行环境,阿里ECS服务器,系统是CentOS7.4
我使用的是Mac笔记本,使用终端ssh命令远程登录服务器。
以下为原创,写的比较杂。

安装教程:
使用RPM安装httpd
先使用命令查看是否安装了服务

rpm -qi httpd

package httpd is not installed
没有安装过,使用yum命令进行安装

yum -y install httpd

大约5秒就安装完毕了
//安装过程httpd会自动安装以下依赖包
apr
apr-util
httpd-tools
mailcap

再次检查会发现,环境都安装好了
[root@iZuf6cgkp2jyuocr1lk3n7Z ~]# rpm -qi httpd
Name : httpd
Version : 2.4.6
Release : 45.el7.centos.4
Architecture: x86_64
Install Date: Fri 11 Aug 2017 01:40:15 AM CST
Group : System Environment/Daemons
Size : 9823677
License : ASL 2.0
Signature : RSA/SHA256, Thu 13 Apr 2017 09:04:44 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-45.el7.centos.4.src.rpm
Build Date : Thu 13 Apr 2017 05:05:23 AM CST
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem http://bugs.centos.org
Vendor : CentOS
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

下面开始修改配置文件
去配置文件,备份一下配置,然后看一下里面的内容
[root@iZuf6cgkp2jyuocr1lk3n7Z ~]# cd /etc/httpd/conf
[root@iZuf6cgkp2jyuocr1lk3n7Z conf]# ls
httpd.conf magic
[root@iZuf6cgkp2jyuocr1lk3n7Z conf]# cp httpd.conf http.confd.origin
[root@iZuf6cgkp2jyuocr1lk3n7Z conf]# more httpd.conf
有一项,配置文件
DocumentRoot "/var/www/html"

还有一项,新的Apache 2.4默认拒绝所有请求

AllowOverride none
Require all denied

把Apache设置为自动启动

systemctl enable httpd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

配置WEB站点,主要的目录放在这里

mkdir /wwwroot

mkdir /wwwroot/www

手动代码创建首页
echo “Hello World" > /wwwroot/www/index.html

配置虚拟主机

cd /etc/httpd

mkdir vhost-conf.d

echo "Include vhost-conf.d/*.conf" >> conf/httpd.conf

vi vhost-conf.d/vhost-name.conf

加入以下代码

ServerName www.9ddog.com
DocumentRoot /wwwroot/www/

Require all granted


因为一开始代码输入错误,结果使用检查运行状态,系统报错,改了后好了。

systemctl status httpd

AH00526: Syntax error on line 7 of /etc/httpd/vhost-con...onf
Failed to start The Apache HTTP Server.
//显示文件和第7行有错。

特意重启了一下服务

systemctl stop httpd

systemctl start httpd

这里就全好了,打开浏览器,然后输入IP地址http://106.15.94.70/,可以访问啦

遇到问题:
因为要安装wordpress,发现需要安装Apache的mod_rewrite模块
发现httpd.conf 文件里没有这一项
先去目录httpd/modules里查看,有mod_rewrite.so这个文件
转到http/conf文件目录下,找httpd.conf 配置文件,把模块加载命令加写到文件尾:

echo "LoadModule rewrite_module modules/mod_rewrite.so" >> httpd.conf

然后再加入条件,这两句加到自定义的配置文件vhost-conf.d下面的vhost-name.conf,在目录定义区里面加两句

Options Indexes FollowSymLinks
AllowOverride All

但是感觉这个又出了新问题。因为加了AllowOverride All 之后,输入任何错误 的网站,都会指向index.html其它网页都不起作用了,而且php不能工作。
还是要把AllowOverride 的All改成None

上一篇:MaxCompute/DataWorks权限问题排查建议


下一篇:PyODPS 0.7.15版本发布