CentOS7 安装 apache-httpd,并修改站点目录
CentOS7 安装 apache-httpd,并修改站点目录
1 一、准备工作:更新
本文全部操作,是在 CentOS7 环境中,使用 use r账号(非 root,有 sudo 权限)进行。
完成后可以取消user账号的sudo权限
|
|
2 二、安装 Apache
|
|
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: inactive (dead) since …
|
|
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since …
到这里已经安装完成
使用浏览器访问这台服务器 IP ,能看到 ”欢迎页“ ,如下:
3 三、写一个 HelloWorld 测试
|
|
Ctrl+o
保存文件,Ctrl+x
退出 “nano” 编辑器
再次使用浏览器访问这台服务器IP,能看到 ”Hello World!“ 了,如下:
4 四、修改站点目录
设想:把站点目录改到用户目录 /home/user/www/html
下,方便用user用户更新网站
4.1 1、创建文件夹
|
|
/home/user
└── www
└── html
└── index.html
2 directories, 1 file
4.2 2、修改 Apache 配置文件
|
|
两处需要修改,如图:
|
|
再次使用浏览器访问这台服务器 IP ,遇到一个问题,被 Forbidden ,提示权限问题:
原因:用户目录下的文件,默认文件/文件夹所有人为该用户,其他用户没有任何权限(700),而 Apache 服务是以 apache 用户在运行
4.3 3、修改目录权限
|
|
再次使用浏览器访问这台服务器IP,遇到另一个问题,显示的是欢迎页
查了一些资料,最后确认是 SELinux 的问题1
|
|
再次使用浏览器访问这台服务器IP,这次正常显示 “Hello World!” 了。
证实是 SELinux 导致,如果是自己装的 CentOS ,默认是开启了 SELinux ;云平台的话,有的厂商是默认开启,有的默认关闭,有的是在创建服务器时的可选项。
如果是开发、测试环境,可以直接关闭 SELinux ,如果是生产环境,建议还是配置一下。
4.4 4、修改 SELinux 设置23
对比预设目录和新目录的 SELinux 权限
|
|
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 www
|
|
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html
|
|
drwxr-xr-x user user unconfined_u:object_r:user_home_dir_t:s0 user
drwxr-xr-x user user unconfined_u:object_r:user_home_dir_t:s0 www
/home/user/www:
drwxr-xr-x user user unconfined_u:object_r:user_home_dir_t:s0 html
/home/user/www/html:
-rwxr-xr-x root root unconfined_u:object_r:user_home_dir_t:s0 index.html
|
|
再次使用浏览器访问这台服务器IP,这次正常显示 “Hello World!”