本文原创,话费两天才搭建并整理好文档,请不要抄袭,可以作为技术文档收藏,不可共享到网络,侵权必究!!!!!!!
首先,程序版本和平台一定要下载对不然,会报各种错。比如apache 64位,php32 位 ,会报一下错误:httpd.exe: Syntax error on line 118 of C:/AppServ/Apache2.4/conf/httpd.conf: Cannot load C:/AppServ\\php5.6.36\\php5apache2_4.dll into server: %1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3
第一步下载并解压:
由于apache 只提供源码,不提供编译好的安装程序,这里提供一个下载地址
apache下载地址 https://www.apachehaus.com/cgi-bin/download.plx
php下载地址 https://windows.php.net/downloads/releases/
mysql 下载地址 https://dev.mysql.com/downloads/mysql/5.7.html#downloads这里以在64位Windows Server 2008 R2上搭建为例进行讲解,通过以上链接下载:
httpd-2.4.33-x64-vc11-r2.zip php-5.6.36-Win32-VC11-x64.zip mysql-5.7.22-winx64.zip
解压到C盘C:\AppServ目录下(楼主贫穷,买了个阿里云 2核4G内存 3年1600毛爷爷,,只要了个C盘40G,不过做网站是够用了)有兴趣下单连接https://s.click.taobao.com/t?e=m%3D2%26s%3DoiGq4bM2Dq8cQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAvoz9%2BQZLSKmrxXXzX96Xo%2BOJcnm1kBGCWh5MTSh%2FWduINkpnHpJDjQYjmFuVPVomRmIkXBqRClNTcEU%2BDykfuSM%2BhtH71aX6uIOTs4KMj3yjpOyWSRdiSZDEm2YKA6YIrbIzrZDfgWtwGXLU4WXsy8CZuZoOOkzXFxfvOyje0ynomfkDJRs%2BhU%3D
如图二、配置apache
- 注意:windows环境下的配置中所有文件目录都要使用‘绝对路径’,相对路径会报错!
C:\AppServ\apache2.4\bin\httpd -k install
注意:如果提示缺少MSVCR110.dll 请下载VC++2012 x64
下载地址:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679
2、编辑apahce/conf/httpd.conf,修改Define SRVROOT 为根目录,不然启动apache会报错:
Define SRVROOT "C:\AppServ\apache2.4" ServerRoot "${SRVROOT}
3、win+r 输入service.msc 查看服务是否安装成功,找到apache2.4为成功
4、编辑apahce/conf/httpd.conf,添加apache以模块方式运行php,并添加php文件扩展名支持以及php.ini路径配置
LoadModule php5_module C:/AppServ/php5.6.36/php5apache2_4.dll AddType application/x-httpd-php .php .html .htm PHPIniDir "C:/AppServ/php5.6.36"
5、编辑apahce/conf/httpd.conf, 找到
<IfModule dir_module> DirectoryIndex index.html </IfModule>
修改为,添加自动首页匹配index.php:
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
6、在C:/AppServ下网站文件存放目录www,编辑apahce/conf/httpd.conf,找到DocumentRoot,修改为
DocumentRoot "C:/AppServ/www"
<Directory "${SRVROOT}/htdocs"> 修改为 <Directory "C:/AppServ/www">
7、隐藏浏览器Response header中 Server 字段中 Apache版本信息:
ServerSignature Off
ServerTokens Prod
三、配置php.ini
1、在C:AppServ/php5.6.33 目录下有两个php.ini模板配置文件php.ini-production和php.ini-development,前者为生产环境,安全相关配置级别较高,后者为测试环境,级别相对较低,一些错误提示及异常会抛出。这里是配置生产环境,将前者重命名为php.ini。打开php.ini 找到扩展extension_dir目录配置去掉分号,改为
extension_dir = "C:AppServ/php5.6.33/ext"
2、找到以;extension=php_XXXXX.dll开头的这几行,根据需要开启的扩展去掉开始的分号';' php5.6.33中默认开启php_pdo所以extension=php_pdo.dll再次不适用。
extension=php_curl.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll extension=php_sockets.dll
注意:php5.5.0开始不再建议使用php_mysql.dll,替换方案为php_mysqli.dll, php7.0开始彻底废除,开启扩展会报错!
3、隐藏浏览器 response header 中 X-Powered-By字段中 php版本信息
在php.ini 中找到 expose_php = On 修改为 expose_php = Off
三、安装mysql
1、新增系统环境变量名:MYSQL_HOME,变量值:C:/AppServ/MySQL
path里添加:%MYSQL_HOME%\bin;
2、在C:AppServ/MySQL/分目录下新建mysql配置文件php.ini
[client] port=3306 default-character-set=utf8 [mysqld] # 设置为自己MYSQL的安装目录 basedir=D:\MySQL # 设置为MYSQL的数据目录 datadir=C:/AppServ\MySQL\data port=3306 character_set_server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER #开启查询缓存 explicit_defaults_for_timestamp=trueskip-grant-tables
3、从控制台进入到MySQL解压目录下的 bin 目录下,即C:/AppServ/MySQL/bin 执行:
mysqld -install
- 注意:如果报错缺少MSVCR120.DLL。请执行步骤6!
4、Mysql初始化data数据库,执行:
mysqld --initialize-insecure --user=mysql
5 、更改mysql密码,mysql5.7版本更改root密码与之前的命令不同,首先打开一个cmd窗口,在mysql\bin\文件夹下执行:
net stop mysql //停掉服务 mysqld --skip-grant-tables //跳过权限表运行
此时不要关闭当前cmd窗口,然后再打开一个cmd窗口,输入:
mysql -u root -p use mysql update user set authentication_string = password('root123'), password_expired = 'N', password_last_changed = now() where user = 'root';
6、楼主启动过程中报错,查找原因楼主系统为64位win Server 2008 R2,系统中安装的 vc++2013为32位,需要下载64位,安装后不再报错
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=40784