最近在工作中常常接触到PHP,自己也写过一些简单的PHP页面。我们知道PHP是在服务器端运行的脚本语言,因此我们需要配置服务器环境。之前为了省事直接使用的是wamp集成环境,但是突然某一天领导要求我们做好Apache服务器的安全配置工作,自己下来就开始查阅各种资料和教程,还好任务上线问啥大问题。今天我就来记录一下自己是如何安装并配置一个web服务器。

Apache2.4.23安装

下载

打开Apache官网,选择左侧的Download->From a Mirror,在网页中可以看到最新的Apache HTTP Server,由于我实在win7系统中安装,因此选择Files for Microsoft Windows,点开后可以看到

Apache HTTP服务器项目本身不提供二进制版本的软件,只有源代码。

如果你自己不能编译Apache HTTP服务器,你可以选择这些官方推荐的第三方提供编译的网站。。

布置在windows系统上比较常用的配置包括Apache httpd,PHP,MySQL

今天我们选择在Apache Lounge提供的安装包为例做一次演示,打开网站后选择适合自己电脑(32位or64位)的安装包,下载下来后将其解压到H:/Apache24文件夹(安装路径自定义),在安装之前需要确认你的电脑是否已安装对应的VC环境,这里我使用的是VC2015,这个文件在Apache Lounge网站上也提供下载

Be sure that you have installed the latest C++ Redistributable Visual Studio 2015 : vc_redist_x64/86.exe

至此安装Apache所需文件已下载完,接下来进行安装

安装

我们需要通过命令行进入Apahce24目录下的bin文件夹,并执行http -k install命令

win+r输入cmd,在cmd窗口命令行中输入

D:
cd webserver
cd Apache24
cd bin
httpd -k install

执行完后我们可以看到

Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using fe80::d4a4:6f0f:a01b:afb. Set the 'ServerName' directive globally t
o suppress this message

这里报错提示是无法确定服务器域名,请修改http.conf文件中ServerName指令

我们进入Apache24目录下的conf文件夹找到httpd.conf文件,用文本编辑器将其打开,找到ServerName指令(220行),这里将#注释去掉并将www.example:80修改为127.0.0.1:80。httd.conf文件中默认是将Apache安装在C盘的。所以需要修改以下路径:

37行改为ServerRoot "D:/webserver/Apache24"
244行改为DocumentRoot "H:/"将文档等目录改为H盘
244行改为<Directory "H:/">
361行改为ScriptAlias /cgi-bin/ "D:/webserver/Apache24/cgi-bin/"
377行改为<Directory "D:/webserver/Apache24/cgi-bin">

修改完成后我们执行httpd -k start没有任何提示,通过windows任务管理器我们可以看到Apache2.4正在运行

此时我们在浏览器中输入localhost,回车,我们能看到It works!

至此Apache已安装完成

PHP5.6.30安装

下载

打开PHP官网点击Downloads,这里我们选择PHP5.6.30版本,点击windows downloads,这里我们可以看到有

Non Thread Safe 非线程安全与IIS搭配环境
Thread Safe 线程安全与apache搭配的环境

这里我选择的是VC11 x86 Thread Safe,这里的VC11提示我们在安装PHP之前需要安装Visual C++ Redistributable for Visual Studio 2012,网页也提供了下载的链接x86 or x64,安装好后我们将下载的PHP5.6.30安装包解压到D:/webserver/PHP5

安装

PHP解压后无需其他安装,只需修改相关文件即可:

将php.ini-production文件改名为php.ini,并用文本编辑器将其打开做以下修改:

第734行取消extension_dir = "ext"前面的";"这个是指向扩展库目录的路径

第882行这里展示的是windows下的各种库文件,可以自己手动载入要用到的扩展,我一般载入以下扩展文件:

php_fileinfo.dll libmagic库的一个封装,可以用来获得文件的一些信息
php_gd2.dll GD库图像函数库
php_mysql.dll MySQL函数库
php_mysqli.dll MySQLi函数库
php_pdo_mysql.dll PDO mysql库

去掉库文件前面的";"即可载入相应的库文件。保存,退出,至此PHP安装完成

与Apache2.4.23整合

在apache配置文件httpd.conf文件末尾添加以下内容;

# php5 support
LoadModule php5_module D:/webserver/PHP5/php5apache2_4.dll
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir "D:/webserver/PHP5"

这里是载入PHP5模块和指明PHP.ini的位置

我们可以将以下代码保存为phpinfo.php文件,并放在文档根目录中这里是H:/,在浏览器中输入localhost/phpinfo.php回车即可看到已安装的PHP全部信息

<?php php.info() ?>

MySQL5.7.18安装

MySQL官网点击Downloads -> windows -> MySQL Installer.这里我们可以看到两个mysql安装器:

mysql-installer-web-community 如果在有网络的环境上运行MySQL,建议选择这个
mysql-installer-community 如果在没有网络的环境上运行MySQL,建议选择这个

这里我们选择mysql-installer-web-community,下载后双击运行即可,和一般的软件安装方式一样,

这里我们选择自定义安装,选择安装了MySQL Server 5.7.18和MySQL Documentation 5.7.18,这里直接默认安装在C盘,具体详细图文安装教程可参考如何安装mysql5.7

安装完成后我们win+r输入mysql,选择command line client - Unicode,我们可以看到提示我们输入自己设置的MySQL数据库密码,输完密码回车看到

Welcome to the MySQL  monitor.……

至此MySQL安装成功

如果通过cmd进入mysql,我们需要将“C:\Program Files\MySQL\MySQL Server 5.7\bin”添加到系统环境变量中,可通过mysql -u root -p连接上数据库

注意

这种安装方式配置文件和数据库文件在“C:\ProgramData\MySQL\MySQL Server 5.7”

结束

通过此次亲自安装实验,加深了对Apache服务器的了解,为下一步的服务器安全配置打下基础。目前只是初步安装完成,要想达到上线使用还有很多安全配置工作要做,在接下来的一篇博客中我将总结一下基本的安全配置工作。

Apache2.4.23+PHP5.6.30+MySQL5.7.18安装教程的更多相关文章

  1. windows7 下 apache2.4 和 php5.5 及 mysql5.6 的安装与配置

    要准备的软件 httpd-2.4.9-win32-VC11.zip http://www.apachelounge.com/download/ php-5.5.13-Win32-VC11-x86.zi ...

  2. centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8

    以虚拟机VirtualBox 版本是4.1.20(内存设置为512M,centos安装是文本模式下安装),全新以最小化包安装了32位的 CentOS6.3系统,作为本地web环境,上次讲了在windo ...

  3. win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装

    win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装 http://blog.csdn.net/jiangzeyun/article/details/41676639

  4. Centos7.3下mysql5.7.18安装并修改初始密码的方法

    Centos7.3下mysql5.7.18安装并修改初始密码的方法 原文链接:http://www.jb51.net/article/116032.htm 作者:Javen205 字体:[增加 减小] ...

  5. windows版mysql5.7.18安装

    windows版mysql5.7.18安装 初始化命令:C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe --defaults-file=& ...

  6. Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    第一步:下载安装的文件 1. MySQL:下载地址mysql-5.1.49-win32.msi: 2. Apache: 下载地址httpd-2.2.16-win32-x86-openssl-0.9.8 ...

  7. Mysql5.7 Linux安装教程

    1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...

  8. mysql5.5下载安装教程

    下载地址:https://dev.mysql.com/downloads/mysql/ 这里选择的是5.5的版本: 步骤1: 步骤2: 步骤三: 步骤四: 步骤5: 步骤6: 步骤7: 步骤8: 步骤 ...

  9. wamp(win1064位家庭版+apache2.4.20+php5.5.37+mysql5.5.50)环境搭建

    wamp环境搭建之软件准备 *php:http://windows.php.net/downloads/releases/php-5.5.37-Win32-VC11-x86.zip *apache:h ...

随机推荐

  1. Struts2学习第二天——动态方法调用

    method属性 在前面的例子里,Action默认使用execute()方法来处理请求.但是,如果有多个不同的请求需要同一个Action进行不同处理,怎么办?在Struts.xml文件中,需要指定Ac ...

  2. H5微信播放全屏问题

    在ios和安卓手机里的微信下播放视频时,会遇到不少问题,例如需要手动点击,视频才会播放,并且视频会跳出微信框,出现控制条,如果视频不是腾讯视频,播放完毕会出现腾讯视频的广告推送等问题 解决办法:给vi ...

  3. golang中的rpc包用法

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. 我所在公司的项目是采用基于Restful的微服务架构,随着微服 ...

  4. 队列工厂之(MSMQ)

    最近vs2017神器正式版发布让人很是激动,vs2017支持了很多语言的开发,从前端-后端-底层的支持,堪称是工具中的神器:netcore我喜爱的架构之一也得到了大力的宣传,应群友的邀请将在队列工厂( ...

  5. HTML5初步了解

        一.使用HTML5的十大原因 你难道还没有考虑使用HTML5? 当然我猜想你可能有自己的原因:它现在还没有被广泛的支持,在IE中不好使,或者你就是喜欢写比较严格的XHTML代码.HTML5是w ...

  6. Java学习笔记 11/15:一个简单的JAVA例子

    首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java   // TestJava.java,java 的简单范例  public ...

  7. 深入浅出数据结构C语言版(5)——链表的操作

    上一次我们从什么是表一直讲到了链表该怎么实现的想法上:http://www.cnblogs.com/mm93/p/6574912.html 而这一次我们就要实现所说的承诺,即实现链表应有的操作(至于游 ...

  8. iOSiOS开发之数据存储之NSKeyedArchiver

    1.概述 NSKeyedArchiver归档和plist文件存储不同的是NSKeyedArchiver可以直接保存对象.如果对象是NSString.NSDictionary.NSArray.NSDat ...

  9. firefox无法使用yslow的解决方案

    首先,Yslow不支持firefox 36及以上版本. 解决方案:使用yslow的书签版本 使用方法:1.访问这里 http://yslow.org/mobile/ 2.把页面最后的那个 Deskto ...

  10. Linux系统date命令的参数及获取时间戳的方法

    date指令相关用法示例 date 用法: date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] ...