最近在工作中常常接触到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. spring事务源码解析

    前言 在spring jdbcTemplate 事务,各种诡异,包你醍醐灌顶!最后遗留了一个问题:spring是怎么样保证事务一致性的? 当然,spring事务内容挺多的,如果都要讲的话要花很长时间, ...

  2. TypeScript 优秀开源项目大合集

    TypeScript出来有段时间了,也冒出了很多用TypeScript开发的优秀开源项目,搜寻了一些基于TypeScript项目,分享给大家: https://github.com/brookshi/ ...

  3. HTML 5入门知识(三)

    <canvas>标签 在网页中使用canvas元素,像使用其他HTML标签一样简单,然后利用JavaScript脚本调用绘图API,绘制各种图形.canvas拥有多种绘制路径.矩形.圆形. ...

  4. 算法模板——sap网络最大流 3(递归+邻接表)

    实现功能:同前 程序还是一如既往的优美,虽然比起邻接矩阵的稍稍长了那么些,不过没关系这是必然,但更重要的一个必然是——速度将是一个质的飞跃^_^(这里面的point指针稍作了些创新——anti指针,这 ...

  5. 本地化 NSLocal

    本地化封装了关于语言,文化以及技术约定和规范的信息.用于提供于用户所处地域相关的定制化信息和首选项信息的设置.通过获取用户的本地化信息设置,我们可以为用户提供更加友好人性化的界面设置,包括更改更改应用 ...

  6. Java实现读取文章中重复出现的中文字符串

    在上个星期阿里巴巴一面的时候,最后面试官问我如何把一篇文章中重复出现的词或者句子找出来,当时太紧张,答的不是很好.今天有时间再来亲手实现一遍.其实说白了也就是字符串的处理,所以难度并不是很大. 以下是 ...

  7. C#实现无边框窗体点击任务栏图标正常最小化和还原

    protected override CreateParams CreateParams{ get { const int WS_MINIMIZEBOX = 0x00020000; // Winuse ...

  8. iOS开发之transform

    transform主要应用于动画 1.让一个按钮每次向上移动100的距离 UIButton *head = (UIButton *)[self.view viewWithTag:10]; head.t ...

  9. div的onblur事件

    一般情况下,onblur事件只在input等元素中才有,而div却没有,因为div没有tabindex属性,所以要给div加上此属性. 如: <div tabindex="0" ...

  10. C#.Net面试题

    点这里,有很多篇<C#..Net经典面试题02> 在线阅读本文:http://3y.uu456.com/bp_5dcve363vi7px008u2lt_1.html C#..Net经典面试 ...