我的运行环境,阿里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