您的位置:首页 > 运维架构 > Apache

Apache,PHP,MySQL的单独安装以及使用时的相关配置(主要结合之前博客配合安装php和mysql)

2014-05-21 14:53 1106 查看
说明:本文转自博客园的某网友,感觉写的比较详细,所以我就没有再写一篇了,基本按照博主的步骤就可以成功,我之前已经安装过apache了,所以这里主要是看php,mysql的安装和相关配置,另外,相关的软件,php,mysql我会上传到我的资源,需要的可以在这里下载(不好意思,mysql安装文件太大,我现在的权限还只有80M,软件有mysql-5.1.73-win32.msi,php-5.3.28-Win32-VC9-x86.zip,python-2.7.6.msi大家有需要的直接邮件我:xujiaphp@gmail.com),那么经过win7(32bit)下完整的搭建apache(2.2.x)+openssl(0.9.6->1.0.1升级)过程以及本博文,基本上apache+openssl+php+mysql的win7下的环境还有配置就全部弄好了,坐等heartbleed的攻击与测试了。

下面来看一下我转载的这篇博文

Apache

1. 下载

Apache版本号为2.2.22. 最好下载msi安装文件。下载地址为:http://www.apache.org/dist/httpd/binaries/win32/

如果想下载2.4.4版本的,可以去http://www.anindya.com/apache-http-server-2-4-4-and-2-2-24-x86-32-bit-and-x64-64-bit-windows-installers/

2. 安装

一路Next安装即可。注意默认安装,其所配置的端口为80. 这与IIS和MSSQLServer的Reporting Services Configuration Manager工具的端口冲突。有2种方法解决

(1)修改Apache的端口。

打开\Apache2.2\conf\httpd.conf,搜索“Listen 80”,将80修改为8080.

(2)关闭IIS服务器:

控制面板-管理工具-服务-World Wide Web Publishing Service,先停止后禁用

修改MSSQLServer的Reporting Services Configuration Manager工具的端口:

开始-Microsoft SQL Server 2008 R2-配置工具-Reporting Services 配置管理器-弹出对话框,点击连接 -点击Web服务URL-将TCP端口改为8082或别的端口,单击应用。

注意:

关闭IIS服务器后需要重启机器以释放80端口,因为IIS所在的服务进程svchost.exe不仅仅只包含IIS服务,还包含其他许多服务。关闭IIS服务,其所在svchost进程并不会关闭,所以80端口仍会被该进程占用。
最好修改Apache的安装路径,使其目录树中不含空格,这样在配置PHP时不容易出问题,否则配置httpd.conf时 ,如果里面包含空格,apache服务会启动失败。

3. 启动服务

apache安装成功后,默认会在控制面板Services中添加一个服务:apache2.2. 我们可以使用命令行来操纵启动关闭服务:

cmd.exe->cd apache根目录下的bin目录

(1)install service

httpd.exe -k install -n apache2.2

(2) uninstall service

httpd.exe -k uninstall -n apache2.2

(3) start service

net start apache2.2

(4) stop service

net stop apache2.2

配置

(1)现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,你的安装目录下的Apache2.2\htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。找到安装目录“C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf”下的httpd.conf,找到DocumentRoot,将源目录“C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”修改为新目录“C:/Program
Files (x86)/Apache Software Foundation/wwwpages”。注意将反斜杠"\"改为正斜杠“/”。

(2)找到“DirectoryIndex”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开。我将默认值“index.html”改为了“mypage.html phpinfo.php”。

(3)寻找“# This should be changed to whatever you set DocumentRoot to.”内容下的“Directory”节点。将其值"C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" 改为修改后的网页根目录“C:/Program Files (x86)/Apache Software Foundation/wwwpages”。注意将反斜杠"\"改为正斜杠“/”。

(4)配置完毕。



PHP

1. 下载

下载PHP版本5.3.*,注意不要下载太新或太老的版本,以避免和Apache不能协同工作。下载.zip包,解压即可。下载地址为:http://windows.php.net/download/,选择下载 VC9
x86 Thread Safe版本。

2. 安装

(1)解压php-5.3.25-Win32-VC9-x86.zip,为配置方便,将其放于Apache的安装目录C:\Program Files (x86)\Apache Software Foundation中,修改目录名php-5.3.25-Win32-VC9-x86->php5.3.25.

(2)找到php5.3.3目录下的php.ini-development文件,将其重名为php.ini。

3. 配置

配置Apache服务器支持PHP文件的解析:

(1)打开C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf文件,

查找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,在其后面添加如下代码, 注意,将路径中的反斜杠“\”换成斜杠“/”.

LoadModule php5_module "C:/Program Files (x86)/Apache Software Foundation/php5.3.25/php5apache2_2.dll"

PHPIniDir "C:/Program Files (x86)/Apache Software Foundation/php5.3.25"

第一行是指以module方式加载php,第二行是指明php的配置文件php.ini的位置.

查找 AddType application/x-gzip .gz .tgz,在其后添加代码:

AddType application/x-httpd-php .php .html

这里是定义能够执行php文件类型,即.php和.html的文件能执行PHP程序。

注意这个地方:

添加的代码LoadModule前面,不要加“#”号,添加“#”是注释的意思
C:/Program Files (x86)/Apache Software Foundation/php5.3.25/php5apache2_2.dll中含有空格,一开始配置好后,启动Apache发现报告错误,错误指向的行正是该行。原因是“有空格的话Apache就会认为你在使用 LoadModule的时候用了>2个参数,而这个命令的参数只能是2个”。我这里对该参数添加了双引号,发现Apache能正常启动了。但为确保Apache正常工作,最好将PHP放置在一个不含空格的目录树中。
如果启动Apache失败,为了能够看到具体失败原因,最好使用命令行启动Apache:cmd.exe->apache根目录下的bin目录,执行 httpd.exe -w -k start。php5apache.dll文件和 apache 的版本对应关系如下,可见"不要下载太新或太老的版本,以避免和Apache不能协同工作"很重要。

php5apache.dll 只适用于apache 版本1的;
php5apache2.dll 只适用于apache2.0.*版本;
php5apache2_2.dll适用于apache2.2.*以上版本;

以上,请参见 http://www.juziku.com/beston/wiki/1762.htm

(2)打开php5.3.25文件夹下的php.ini文件,查找到extension_dir,复制路径"C:/Program Files (x86)/Apache Software Foundation/php5.3.25/ext",替换原来的"./",并且将该行前面的“;”去掉(分号是ini文件的注释)。注意,将路径中的反斜杠“\”换成斜杠“/”.

(3) 重新启动Apache服务。

(4)在Apache网站根目录C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs下创建一个 phpinfo.php 文件:

<?php
phpinfo();
?>


在浏览器中打开http://localhost:8080/phpinfo.php.



MySQL

1. 配置PHP先支持MySQL

(1)打开php5.3.25文件夹下的php.ini文件,查找到"extension=php_mysql.dll"和"extension=php_mysqli.dll"。去掉二者之前的";",此时的PHP已经支持MySQL了。

(2) 重启一下Apache,重新刷新一下http://localhost:8080/phpinfo.php。在网页中搜索"mysql",这时就可以看到页面中有mysql和mysqli模块被加载了。

2. 下载

下载MySQL版本5.1.51.

3. 安装

注:转自“http://wenku.baidu.com/view/7b9bbdc1aa00b52acfc7ca5f.html”所列的安装步骤

(1)双击安装,选”Custom“安装方式,修改安装路径为Apache和PHP同一目录下:”C:\Program Files (x86)\Apache Software Foundation\MySQL5.1.51\“。

(2)注意:点击”MySQL Server“下的"MySQL Server datafiles", 请注意存放数据的目录,默认为:”C:\ProgramData\MySQL\MySQL Server 5.1\“。我把它改到了E盘:"E:\ProgramData\MySQL\MySQL Server 5.1\".

(3)将Developer Component选择上:点击Developer Components,选择"This feature,and all subfeatures,will be installed on local hard driver".

(4)开始安装,安装完成后,在最后一个页面中,保持”Configure the MySQL Server now“复选框的默认选中状态。在后面所出现的页面中,保持默认选择”Detailed Configuration“。下一个页面,选择服务器类型,有三个选项可供选择:“Developer
Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,保持默认选择”Developer Machine“

(5)之后,选择数据库的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(服务器类型,专注于事务处理)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional)。保持默认选择。

(6)配置InnoDB Tablespace,为数据库文件选择一个存储空间,默认是MySQL的安装路径。如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,我在"E:\ProgramData\MySQL\MySQL Server 5.1\"目录下创建了一个InnoDBData文件夹,将其路径修改为”E:\ProgramData\MySQL\MySQL
Server 5.1\InnoDBData“。

(7)配置mysql能同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,这里选“Decision Support(DSS)/OLAP”。

(8)是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器访问mysql数据库了。选择启用,并勾选"Add firewall exception for this port",支持防火墙。保持默认选择“Enable Strict Mode”,这样MySQL就不会允许细小的语法错误,它可以降低有害数据进入数据库的可能性。

(9)对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择“gbk”,使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。

(10)选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便)。全选。

(11)设置默认root用户(超级管理)的密码(默认为空),如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码)。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create
An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般不用勾选。

(12)确认无误后,按“Execute”使设置生效。

*这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

(13)测试:写一文件“mysqltest.php”到“C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs”目录下



<?php
$mycon=mysql_connect("localhost","root","你所设置的root账户的密码");
if($mycon) {
    echo "Connect Successfully!";
}
else {
    echo "Connect failed!";
}    
?>




在浏览器中打开"http://localhost:8080/mysqltest.php"。若显示“Connect Successfully!”,表明配置成功。

*如果出现

Warning: mysql_connect() [function.mysql-connect]: [2002] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试 (trying to connect via tcp://localhost:3306) in XXX\mycon.php on line 2

Warning: mysql_connect() [function.mysql-connect]: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 in E:\apache\htdocs\mycon.php on line 2

需要修改C:\WINDOWS\system32\drivers\etc\hosts文件。用记事本打开,修改

# 127.0.0.1 localhost

将#去掉保存。如果无法修改,就拷到别的地方修改好后再粘贴过来。



参考:


1. Win7下Apache2.2.16+php5.3.3+mysql5.1.51安装与配置图解(http://wenku.baidu.com/view/7b9bbdc1aa00b52acfc7ca5f.html

2. Apache的配置httpd.conf杂谈(http://www.juziku.com/beston/wiki/1762.htm

3. Windows下PHP安装配置http://www.cnblogs.com/tigertall/archive/2010/01/28/1658869.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: