一台新的linux CentOS服务器,安装好php环境后,发现apache默认解析路径是/var/www/html,如果不想使用这个默认路径,可以自己设置一个目录。
例:在根目录下新建/data/website文件夹用来存放项目。
准备工作:
创建目录
在根目录下
1 mkdir data
2 cd data
3 mkdir website
操作步骤:
1、vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot “/var/www/html” 这一段 #apache的根目录
把/var/www/html 这个目录改为/data/website
再找到 #定义apache /var/www/html这个区域
把 /var/www/html改成/data/website
这样我们就把apahce的默认路径改掉了
1 service httpd restart #重启Apache服务器
2、访问localhost的时候,会发现访问拒绝,这是为什么呢?
主要是因为你的/home/wwwroot/web1/htdocs的权限是750,apache这个用户没有权限访问,你需要更改掉权限,可以这样改
1 chmod -R 755 /data/website
然后去访问 发现正常运行了(apache的用户:apache 运行apache的组:apache)
至此,Apache默认网站目录更改成功。
然后把你的项目移到配置好的目录下即可。
Linux下修改Apache根目录问题:
1.直接修改/etc/httpd/conf/httpd.conf中修改DocumentRoot和Directory处的路径、重启即可2.但是修改之后,路径正确,目录权限改为755也产生问题:没有权限 (You don't have permission...)。
3.终极原因:Linux开启了SELinux,关闭即可:setenforce 1(临时,重启无效)、修改/etc/selinux/config 的配置加入enforcing=0(重启有效)
======================================================
原理:
网络封包进入主机的流程一、经过防火墙的分析:
Linux 系统有内建的防火墙机制,因此你的联机能不能成功,得要先看防火墙的脸色才行。预设的 Linux 防火墙就有两个机制,这两个机制都是独立存在的,因此我们预设就有两层防火墙喔。第一层是封包过滤式的 netfilter 防火墙, 另一个则是透过软件控管的 TCP Wrappers 防火墙。1.封包过滤防火墙:IP Filtering 或 Net Filter
要进入 Linux 本机的封包都会先通过 Linux 核心的预设防火墙,就是称为 netfilter 的咚咚,简单的说,就是 iptables 这个软件所提供的防火墙功能。为何称为封包过滤呢?因为他主要是分析 TCP/IP 的封包表头来进行过滤的机制,主要分析的是 OSI 的第二、三、四层,主要控制的就是 MAC, IP, ICMP, TCP 与 UDP 的埠口与状态 (SYN, ACK...) 等。详细的资料我们会在第九章防火墙介绍。
2.第二层防火墙:TCP Wrappers
通过 netfilter 之后,网络封包会开始接受 Super daemons 及 TCP_Wrappers 的检验,那个是什么呢? 说穿了就是 /etc/hosts.allow 与 /etc/hosts.deny 的配置文件功能啰。 这个功能也是针对 TCP 的 Header 进行再次的分析,同样你可以设定一些机制来抵制某些 IP 或 Port ,好让来源端的封包被丢弃或通过检验;透过防火墙的管控,我们可以将大部分来自因特网的垃圾联机丢弃,只允许自己开放的服务的联机进入本机而已, 可以达到最基础的安全防护。