Apache和PHP的安装配置以及外网访问自己的网站

时间:2022-09-17 08:22:50

Apache是web服务器,响应web请求,对其中的PHP程序交由PHP脚本解释器解析

1 安装Apache

Apache的windows安装与大多数windows安装程序类似。
里我选用的是Apache2.2版本。

win8下启动Apache的命令行为net start apache2.2

停止Apache的命令行为net stop apache2.2

前提是在win+x时,启动有管理员权限的命令提示符cmd,否者,会没有启动权限
Apache安装在D:\Program Files\   

2安装PHP 

将PHP压缩包解压,放到C:\下,之前放在D盘下发现PHP未能正确配置,具体原因未明。解压的根目录下找到php.ini-development,是用于开发环境的配置文件;还有一个php.ini-production,这个是用于生产环境的配置文件。PHP 安装程序不能自动配置 Apache,因此需要手动进行配置。即PHP作为Apache服务器的一个模块添加到服务器中。

3配置php

为了使php能够调用其他模块,可以以extension关键字搜索,定位到如下,去除选项前用于注释的分号,打开此模块的支持。

加载的模块越多,占用的资源要稍微多些,可以忽略。比如要启用mysql的支持,则找到如下

;extension=php_mysql.dll

去除前面的";"注释就可以了。

所有的模块都放在php解压目录下的ext目录中,可以根据需要启用。

Apache和PHP的安装配置以及外网访问自己的网站

  • 有时启动Apache的时候会提示“找不到指定模块”的错误,是因为没有指定这些模块文件的位置,定位关键字“extension_dir”,修改Windows下为你的PHP模块的目录。
extension_dir=c:/php/ext
  • 将doc_root指令修改为指向web服务器的根路径。我们使用的是Apache,根目录设置为
doc_root="D:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

4配置Apache

找到D:\Program Files\Apache Software Foundation\Apache2.2\conf文件夹下的httpd.conf配置文件

为使Apache能调用php解释器,需加载php模块到Apache中。加入如下语句:

LoadModule php5_module c:/php/php5apache2_2.dll

AddType application/x-httpd-php .php .html
  PHPIniDir "c:/php/"

每次修改了conf配置文件件,都要重新启动Apache才能使配置文件生效。


局域网测试Apache与PHP是否配置成功

在“D:/Program Files/Apache Software Foundation/Apache2.2/htdocs"下创建一个test.php的文件

加入最简单的php测试代码

如:

<?php

echo "hello php";

?>

在游览器中输入

http://localhost/test.php或http://192.168.0.100/test.php(由于本机的ip是192.168.0.100)

会看到如下输出

Apache和PHP的安装配置以及外网访问自己的网站

5配置端口映射

现在局域网测试成功了,那么怎么在外网也能访问我的web呢。

首先,我们要到D:\Program Files\Apache Software Foundation\Apache2.2\conf文件夹下的httpd.conf配置文件中修改

Listen 192.168.0.100:80
Listen 80

即,Apache监听80端口。

其次在路由器设置上要进行

Apache和PHP的安装配置以及外网访问自己的网站

使路由器将外网请求转发至主机的80端口。

最后安装nat123,配置端口映射。这样,直接访问外网域名就能访问我们主机上设置的网页了。

Apache和PHP的安装配置以及外网访问自己的网站

测试外网访问,输入wangxuan.nat123.net/test.php,还是我们刚才的测试代码

会看到如下输出:

Apache和PHP的安装配置以及外网访问自己的网站

为了确保我们的网站是外网访问的,我们打开手机的数据流量,我们从微信上登录我们的网站。

Apache和PHP的安装配置以及外网访问自己的网站


这里我们就成功实现了自己配置Apache与PHP,并成功设置了自己独立的域名,从外网能够访问我们的网站了。