配置 apache + php + mysql 搭建web服务器

目录:

下载安装

tip:安装时尽量安装到一个目录下

apache-2.2.22 点击下载php-5.3.13 点击下载mysql-5.5.24 点击下载


配置 apache 运行 php 代码

  • 装载php5模块,更改配置文件 httpd.conf ( 所在目录为 apache安装目录/conf ),在其中添加以下配置
#载入php模块 "E:\amp\php-5.3.13\php5apache2_2.dll" 是php模块的安装路径(这里改为自己 php 的安装路径)
LoadModule php5_module "E:\amp\php-5.3.13\php5apache2_2.dll"
  • 指定php后缀的的文件应该调用该php模块去执行(有两种方法可实现)

    httpd.conf 文件中添加以下配置:

#指定 php 后缀的文件应该调用该php模块去“执行”
<FilesMatch "\.php$">
       setHandler application/x-httpd-php
</FilesMatch>

或在 IfModule mime_module 标签中末尾添加以下配置:

#指定 php 后缀的文件应该调用该php模块去“执行”
#设定了3种文件后缀(.php、.php3、.xxx 可以自定义执行后缀)都由php模块来“执行”
AddType application/x-httpd-php .php .php3 .xxx

这个时候就已经可以运行 php 脚本代码了


这时虽可以运行php脚本代码了,但是还不能满足开发需求,比如:时间函数的使用、数据库的连接……,我们还需对 php 的进一步配置。


配置 php 的基本运行环境

  • 打开php的安装目录其中 php.ini 前缀的文件就是 php 的配置文件模板,选其一复制改名为 php.ini
    这里写图片描述
    这个时候 apache 只知道 php 代码要使用 php模块来执行,但是不知道 php 模块用什么文件去配置,需要指定 apache 去使用 php.ini 来配置 php。

  • 指定php配置文件(php.ini)的位置

    httpd.conf 文件中添加以下配置:

#设置 php.ini 文件的位置(只需设定文件夹) 
PHPIniDir "E:\amp\php-5.3.13"

将路径设置为 php 的安装路径

  • 为 php 配置时区

    php.ini文件中查找 timezone 字段,设置为 PRC(中国时区),这时就可以使用时间函数了(可使用 date() 函数测试)。

date.timezone = PRC

php虽然本身是作为 apache 的一个模块,被 apache 调用,但是,php作为一个完整的语言包,其内部又是有很多个“子模块”构成。mysql 也是其中之一。


配置 php 使用 mysql 数据库

  • 打开 php.ini 中的 mysql 模块的注释(这里开启三种使用 mysql 的子模块)
    这里写图片描述
    这个时候还是不可以用,因为 php 找不到 mysql 的模块文件。就和 apache 中配置 php 模块一样的,不过有点区别,php 的子模块都集中存放在安装目录下 ext 目录中。

  • php 中 配置常用子模块的物理路径(其中包括 mysql 模块),在 php.ini 中搜索 extension_dir 关键字,设置为php安装目录下的 ext 文件夹路径。

 #配置 php 常用子模块路径
 extension_dir = "E:\amp\php-5.3.13\ext"

重启apache服务器,mysql 数据库就可以使用了。

虚拟主机配置(在 apache 中)

端口监听

apache的端口监听设置,是指设定apache这个软件针对当前服务器的哪些端口提供web服务。如果需要多端口监听,则需配置多个端口。打开 httpd.conf,配置方式如下:

#对80端口提供服务
Listen 80 
#对81端口提供服务
Listen 81
#对82端口提供服务
Listen 82

主机配置关键项

一个主机(站点),最核心的就两件事:
主机(站点)的名字:ServerName “主机名”
主机(站点)的实际文件夹位置:DocumentRoot “站点的实际完整路径”
apache 的作用其实就是一个”转换”角色:将当前电脑中的某个文件夹,对外以某个域名(站点)的方式展现出来。
换句话说:站点的本质就是一个文件夹。

我们可以在 httpd.conf 中来修改它。

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName www.test.com:80

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "E:/amp/apache/htdocs"

配置文件夹访问权限

<Directory "E:/amp/apache/htdocs">
    #当无可显示网页的时候,可显示文件列表
    Options Indexes
    #设置权限的排判断顺序,先允许,后拒绝
    Order allow,deny
    #表示允许所有用户访问
    Allow from all
    #表示拒绝 192.100.1.1 这个用户访问
    Deny from 192.100.1.1
</Directory>

配置默认网页

打开 apache 的 httpd.conf检索 DirectoryIndex 修改即可

<IfModule dir_module>
    #这里就配置了三种默认网页,如果你访问的地址不存在,那么就会在这三种之中依次查找显示
    DirectoryIndex index.html index.php xindex.html
</IfModule>

--------------------------------------------------------------------------------------

#如果在文件夹访问权限中配置 DirectoryIndex 那么只在该文件夹中生效
<Directory "E:/amp/apache/htdocs">
    Options Indexes
    Order allow,deny
    Allow from all
    Deny from 192.100.1.1
    #配置了三种默认网页
    DirectoryIndex index.html index.php xindex.html
</Directory>

目录别名设置Alias

目录别名也叫虚拟目录,在一个站点中,如果不存在某个文件夹(目录),我们可以通过配置项,来做到“对外”看起来却存在一样。假设站点中不存在 test 目录,我们需要打开 httpd.conf,检索到 alias_module ,在其中添加配置 :

<IfModule alias_module>
   #将虚拟目录转到 C:Demo/work 目录下
   Alias /soft "C:Demo/work"
</IfModule>

文件夹访问控制的文件控制方式

通常,我们在 httpd.conf 配置文件中,使用 Directory 配置项,目的是用来控制文件夹的访问权限。
但我们也可以使用一个独立的文件来控制某文件夹的访问权限。该文件名必须是:.htaccess

注意:
1,只有后缀和点号(无文件名部分)
2,该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件)
3,其‘上级文件夹’(通常是Directory设定中的文件夹)必须使用如下代码允许.htaccess发挥作用: AllowOverride All
4,.htaccess文件中出现代码,几乎可以跟 Directory 设定中出现的代码一样。
5,如果.htaccess文件有效,则其设置会覆盖其上级设置。
6,此.htaccess文件修改后可以立即发挥作用,无需重启apache

多站点配置

首先,在httpd.conf中打开多站点配置文件:检索 httpd-vhosts.conf将其注释打开
注意:一旦进行多站点配置,则原来httpd.conf中的默认站点配置就失效了

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

打开该文件(httpd-vhost.conf)该文件在 apache 安装目录 conf/extra/httpd-vhost.conf 设置要进行多站点配置的 ip 和端口 形式如下:

# "*"可以代表当前服务器的所有IP地址(通常也就一个)
NameVirtualHost *:80
#配置站点1
<VirtualHost *:80>
    DocumentRoot "E:\amp\apache\htdocs\php_work1"
    ServerName www.test1.com
    <Directory "E:\amp\apache\htdocs\php_work1">
        Options Indexes
        AllowOverride All
        Order allow,deny
        allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>

#配置站点2
<VirtualHost *:80>
    DocumentRoot "E:\amp\apache\htdocs\php_work2"
    ServerName www.test2.com
    ServerAlias test2.com

    <Directory "E:\amp\apache\htdocs\php_work2">
        Options Indexes
        AllowOverride All
        Order allow,deny
        allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>

主机别名设置

在应用中,我们常常可以使用一下两种形式来访问一个站点:www.test.com、test.com。通常,现在越来越流行后者。此时,就相当于两个站点(主机名)但访问的是一个内容,此时就需要使用主机别名来实现:

<VirtualHost *:80>
    DocumentRoot "E:\amp\apache\htdocs\php_work1"
    ServerName www.test.com
    #主机别名(可设置多个,前提:需要在dns服务器注册)
    ServerAlias test.com test1.com test2.com 

    <Directory "E:\amp\apache\htdocs\php_work1">
        Options Indexes
        AllowOverride All
        Order allow,deny
        allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>

注意事项

  • 修改 httpd.conf 和 php.ini 一定要重启 apache 服务器,否则不会生效
  • 调试时一定注意浏览器缓存,及时清理,防止数据不准确
  • 调试时使用域名访问失败时,检查域名是否在 C:\Windows\System32\drivers\etc\hosts 中配置
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
总括说明:本套件为绿色Wamp服务器搭建套件,目前只支持放于C盘,请解压后放于C盘并确保存在目录:C:\myphp\root。 一、本套件使用的程序版本信息: MySQL: 5.0.67 PHP:5.26 apache:2.2.3 phpMyAdmin - 2.11.9.2 二、各文件目录作用说明: Apache202:apache目录 MySQLMySQL数据库目录 phpphp安装文件目录 root:Web网站目录,php程序的文件此目录下。本机访问可使用:http://127.0.0.1进行访问 安装批处理.bat:第一次使用请双击此文件,开启服务用的文件,之后可以使用系统右下脚(状态栏)出现的红色图标控制apache运行状态。 卸载批处理.bat:卸载服务的文件,一般情况不需要使用。 ApacheMonitor:控制Apache启动的东东 MySQLInstanceConfig:MySQL数据库设置向导,一般不用操作此文件,有兴趣就……随便看了 三、数据库用户名和密码 用户名:root 密码: 其中密码为空,启动apache后,可以访问http://127.0.0.1/phpmyadmin对数据库密码进行修改。强烈建议第一次使用时就去修改。 四、开启扩展方法: 本套件默认之开启php_gd2.dll、php_mbstring.dll、php_mcrypt.dll、php_mhash.dll、php_mysql.dll扩展,即支持gd2画图和mysql数据库功能。用户需要开启更多扩展请用记事本打开C:\myphp\php\php.ini找到类似;extension=php_pdo.dll的内容去掉前面的;保存再重起apache就可以了。(一般在你了解什么是pdo\sqlite之前是不需要去开启更多扩展的) 五、附言: 关于两个bat文件的说明:两个bat文件都可以用记事本程序打开查看...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值