`

php配置之Apache配置

    博客分类:
  • php
阅读更多

学Java的一直干php开发,有点小杯具。最近整理自己的项目时,发现以前用到的一些东西从来没有整理过,刚好最近没啥事干,把以前的与开

发有关的东西都整理整理。php方就从配置开始整理。

    很多人对于配置望而却步,因为配置是很难的事,因此都使用一些集成的工程完成配置例如php使用EasyPHP,这样很多的参数配置都是使

用默认的配置,但是对于不同的项目来说所对应的需求是不同的,比如:安全等 ,所以我们应该为不同的项目采用不同的配置策略。

安装php5、apache2.0、mysql 5.0等软件,安装步骤就不详细说明。网上有的是。
各自的安装目录为
php  D:\php
apache D:\apache
mysql  D:\mysql
文档的主目录为 D:\www


配置Apache

第一步:配置ServerRoot,修改D:\apache\httpd.conf文件的ServerRoot 指定到你Apache安装目录,如果是安装版的会自动设置为你Apache所在

目录
ServerRoot "D:/apache"
其它配置文件的相对路径是基于此目录。

第二步:导入php module即指定php5apache2_2.dll所在的位置,在LoadModule模块的最后追加(php配置下篇再介绍)。
LoadModule php5_module "d:/php/php5apache2_2.dll"

第三步:将PHPIniDir模块修改为你php.ini所在的目录,这里我们php.ini在php文件下(php配置下篇再介绍)。
PHPIniDir "D:/php"

第四步:添加可以执行php的文件类型
AddType application/x-httpd-php .php
如果没有追加该类型将无法执行后缀为 .php 的文件
同理可知 AddType application/x-httpd-php .txt,这样的话普通的文本格式文件也能运行php程序

第五步:配置ServerName,已注册DNS服务名称可以配置DNS服务的名称,如果没有可以配置为IP。
ServerName localhost

第六步:配置DocumentRoot,该指令用于配置web文档的根目录,可以是绝对路径也可以是相对路径,相对路径指的时相对ServerRoot指令的路


DocumentRoot "d:/www"

第七步:配置Directory,标记对指定目录做出访问权限控制,配置是必不可少的,部分的安全控制就在它下面配置,先介绍几个常用的配置参数
AllowOverride 确定允许读取.htaccess文件中的指令类型
避免使用.htaccess文件有主要原因是性能。如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,
因此,无论是否真正用到,启用.htaccess都会导致性能的下降。
另外,对每一个请求,都需要读取一次.htaccess文件。   
还有,Apache必须在所有上级的目录中查找.htaccess文件,
以使所有有效的指令都起作用(参见指令的生效),所以,如果请求/www/test/index.html中,
Apache必须查找以下文件
/.htaccess   
/www/.htaccess   
/www/test/.htaccess   
将AllowOverride设置为none可以完全禁止使用.htaccess文件
Options指令控制了在特定目录中将使用哪些服务器特性。
主要介绍两个会常用到的(其他看后面的链接)
  Indexes 如果一个映射到目录的URL被请求,而此目录中又没有DirectoryIndex(例如:index.html),那么服务器会返回由mod_autoindex生

成的一个格式化后的目录列表。
  FollowSymLinks 服务器允许在此目录中使用符号连接。
开发时可以配置为 Options Indexes FollowSymLink
在发布时为了安全配置为 Options None
开启None条件(网上拷的)
1. 如果没有启用mod_rewrite,可以用Options None 来保证安全性。
2. 如果启用了mod_rewrite, 那么Options就一定要启用FollowSymLinks或者SymLinksifOwnerMatch, 否则会出现Fobidden页面禁止访问的错误


查看错误日志会有这样的出错信息:(Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule

directive is forbidden:**)

order 控制默认的访问状态
Deny,Allow
Deny指令在Allow指令之前被评估。默认允许所有访问。任何不匹配Deny指令或者匹配Allow指令的客户都被允许访问。
Allow,Deny
Allow指令在Deny指令之前被评估。默认拒绝所有访问。任何不匹配Allow指令或者匹配Deny指令的客户都将被禁止访问

order Deny,Allow
allow from all
deny from 127.0.0.1
先评估Deny的指令127.0.0.1不可访问,在评估Allow指令可以访问,允许所有访问所以127.0.0.1可以访问
order Allow,Deny
allow from all
deny from 127.0.0.1
先评估Allow指令可以访问,允许所有访问,再评估Deny的指令127.0.0.1不可访问,所以127.0.0.1不可以访问
该指令可以屏蔽某些流氓爬虫抓取你的网站
Directory的配置就讲这些,指令请参考这里一下是一个完全的Directory的配置。
<Directory "D:/www">
    Options None
    AllowOverride None
    order Allow,Deny
    allow from all
    deny from www.google.com.hk
</Directory>

第八步:配置WEB主页文件名
在httpd.conf文件中成对的<IfModule dir_module>标记中,用DirectoryIndex参数指定WEB主页文件名。例如
<IfModule dir_module>
    DirectoryIndex index.html index.php index.php3 index.php4 index.php5
</IfModule>
在URL中没有指明要访问的文件名,则就是对此目录下的主页文件的访问。这里指定了4个作为主页文档的文件,每两个文件名之间用英文空格

分隔。排列在左边的优先权最高,排列在右边的优先权最低。例如:按照上述配置,当对此WEB服务器做URL请求为http://127.0.0.1时,即请

求其WEB根路径,则将在指定的WEB根目录下寻找名为 inex.html 的文件作为主页返回给客户端浏览器。如果 index.php 不存在,则寻找

index.htm 文件;否则寻找 index.php3 文件;否则寻找 index.php4 文件……。指定的主页文档都不存在,如果Directory该目录Options配

置为Indexes FollowSymLinks,则还回该目录的文件列表,如果配置为none对此路径的请求将失败,浏览器返回404错误。

第九步:配置URL与文件系统的映射
在httpd.conf文件中成对的<IfModule dir_module>标记中,使用Alias参数来指导URL与文件系统映射关系,这样映射的文件系统可以是

Documentroot以外的本地系统中。主意该命令必须与Directory一起使用。如
Alias /test "d:/test"
<Directory "d:/test">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order deny,allow
        allow from all
</Directory>
访问test目录用127.0.0.1/test就能访问该目录文件

第十步:配置虚拟主机
追加NameVirtualHost指令 设置为 *:80
NameVirtualHost *:80
配置虚以主机
<VirtualHost *:80>
ServerAdmin xxx@example.com
DocumentRoot "D:/test"
ServerName xxx.com
</VirtualHost>
注意如果要访问,xp必须修改本机的 C:\WINDOWS\system32\drivers\etc目录下的hosts文件追加
127.0.0.1      xxx.com
配置完成即可以通过http://xxx.com

十步是Apache的正常配置地方,日志配置在这里就不介绍了。
注:安装完Apache后有官方已经给出很多的配置用例,它们所在的目录为Apache的安装目录conf\default\目录下,根据你的配置需求可以参考

官方的一些配置
注:如果只要Apache启动只要配置 第一步,第五步,第六步
    如果要Apache支持php,则要配置 第一步,第二步,第三步,第四步,第五步,第六步,第七步,其他采用默认配置就行。
    其他配置指令请参考 http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html

 

最近配置Apache是碰见 libmysql.dll 丢失的问题,其实是没有加载相应的 libmysql.dll 文件

LoadModule php5_module "d:/php/php5apache2_2.dll"

前加入 LoadFile "d:\php\libmysql.dll"
php配置下次再写

 

0
4
分享到:
评论

相关推荐

    APACHE与PHP配置方法

    Apache 与 PHP 配置是将这两个开源软件结合在一起,以提供动态网页服务。Apache 是一个流行的网络服务器,而 PHP 是一种广泛使用的服务器端脚本语言,常用于创建交互式 Web 应用程序。 **Apache 的安装与配置** 1....

    Apache24和PHP7.2配置教程

    如果一切正常,您应该能看到关于PHP配置的详细信息页面。 #### 四、常见问题及解决方案 在配置过程中可能会遇到一些常见问题,例如: - **Apache无法启动**:检查`httpd.conf`中的配置是否有误。 - **PHP文件无法...

    如何在windows底下配置Apache+php+MySQL配置

    接下来是配置Apache。找到Apache安装目录下的httpd.conf配置文件,通常是`D:/apache2.2/conf/httpd.conf`。在这个文件中,你需要做以下修改: 1. 修改`DocumentRoot`,将其指向你想要存放网页的目录,例如`...

    Apache+php+mysql在windows下的安装与配置图解(最新版)

    Apache+PHP+MySQL 在 Windows 下的安装与配置图解(最新版) 本资源摘要信息将详细介绍 Apache、PHP 和 MySQL 在 Windows 平台下的安装和配置过程。该资源提供了详细的图解和一步步的安装指南,使得用户可以轻松地...

    CentOS Apache配置详解

    在本文中,我们详细介绍了 CentOS 上的 Apache 配置,包括安装、设置、配置文件、模块、文档根目录、错误日志文件、控制脚本、 MySQL 配置文件和 PHP 配置文件等。通过这些配置,我们可以实现一个功能强大且安全的...

    apache + php 的运行环境配置程序

    3. **关联Apache与PHP**:在Apache的配置文件httpd.conf中,添加LoadModule指令加载php_module,然后设置PHP处理器的配置,如AddHandler和Action,让Apache知道如何处理.php文件。 如果计划使用MySQL数据库,还需要...

    Apache+PHP配置要点

    ### Apache+PHP配置要点 ...通过以上步骤,我们可以成功地配置Apache 2.2和PHP 5.2.8,实现动态网页服务的基础环境搭建。这对于开发基于PHP的应用程序非常重要,同时也为后续的开发工作奠定了坚实的基础。

    apache服务器配置php的方法

    5. **测试PHP配置** 在Apache的网页根目录(通常为`/var/www/html`)下创建一个名为`info.php`的文件,输入以下内容: ``` &lt;?php phpinfo(); ?&gt; ``` 保存文件并访问`http://your_server_ip/info.php`,如果...

    apache + php 环境配置

    下面是一个详细的步骤来说明如何配置Apache + PHP环境: 1. **下载Apache和PHP**:首先,你需要从官方网站下载适合你操作系统的Apache服务器(例如,httpd.apache.org)和PHP(例如,php.net)。确保选择与你的系统...

    Apache MySQL PHP安装与配置

    本文将详细介绍在Windows环境下,如何安装和配置Apache、MySQL、PHP以及phpMyAdmin。 首先,我们需要准备好相应的软件安装包。对于Apache,我们可以选择Apache 2.2版本的Windows安装包(httpd-2.2.16-win32-x86-no_...

    php配置+mysqlAdmin配置+apache配置的实现教程

    ### PHP配置 + MySQLAdmin配置 + Apache配置的实现教程 #### Windows环境下的配置总结 本文将详细介绍如何在Windows环境下配置Apache、PHP以及MySQLAdmin,以便搭建一个支持PHP动态页面且能够管理MySQL数据库的Web...

    apache2.4 配置文件

    apache2.4 完整配置教程, php+apache serverRoot

    Apache+PHP安装与配置

    本文将详细介绍Apache与PHP的安装和配置过程,以及如何将它们结合起来工作。 首先,我们需要了解Apache和PHP的基本概念。Apache是一款免费的、跨平台的Web服务器软件,支持多种操作系统,如Windows、Linux和Mac OS...

    Windows下PHP5和Apache的安装与配置.rar

    4. **配置Apache与PHP**: 在Apache的conf目录下的httpd.conf文件中,添加以下内容: ``` LoadModule php5_module "C:/php5/php5apache2_2.dll" AddType application/x-httpd-php .php PHPIniDir "C:/php5" ``` ...

    CentOS系统中安装配置Apache+PHP+MySQL环境.docx

    CentOS系统中安装配置Apache+PHP+MySQL环境 本文档旨在指导用户在CentOS系统中安装配置Apache、PHP和MySQL环境,涵盖了Apache、PHP和MySQL的安装和配置过程。 Apache安装和配置 在CentOS系统中安装Apache需要下载...

    php+Apache 安装配置实践(+全套配置文件与安装文件)

    2. **配置Apache** 打开`C:\Apache24\conf\httpd.conf`,这是Apache的主要配置文件。我们需要在这里设置PHP模块的支持。找到`#LoadModule php_module modules/mod_php.so`这行,去掉前面的注释符号,使其变为`...

Global site tag (gtag.js) - Google Analytics