最近在工作中常常接触到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. web前端升级之路

    web前端菜鸟如何升级到大神(转载) 标签:web前端 随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习 Web前端开发 吗 ? 若想成为web前端工程师需要掌握哪些知识?今天小编总结了成 ...

  2. .net程序员必知必会

    1.C#,.Net和ASP.Net的区别: C#(Csharp):  .net平台下的一种语言:注:(其他语言也可以开发.Net程序)                   .net      :    ...

  3. 用ASP.NET创建网站

    ASP.NET提供三种框架来创建web应用:WebForms,ASP.NET MVC和ASP.NET WebPages.这三种框架都是稳定成熟的,你可以用任何一种方式开发一个很棒的web应用.不管你选 ...

  4. cocoapods 删除已导入项目的第三方库和移除项目中的cocoapods

    第一部分将介绍如何删除项目中已经由cocoapods配置好的第三方 1.打开项目中的Podfile文件 2.删除选中的pod Snapkit的命令行3.打开终端cd到当前项目的根目录下重新执行pod ...

  5. TokuDB性能测试报告

    一 .背景介绍 近年来,TokuDB作为MySQL的大数据(Big Data)存储引擎受到人们的普遍关注.其架构的核心基于一种新的叫做分形树(Fractal Trees)的索引数据结构,该结构是缓存无 ...

  6. ACM 序号互换

    序号互换 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字 ...

  7. poj 2892---Tunnel Warfare(线段树单点更新、区间合并)

    题目链接 Description During the War of Resistance Against Japan, tunnel warfare was carried out extensiv ...

  8. HibernateSessionFactory类的主要方法

    package com.app.www.hibernate; import java.sql.SQLException; import org.hibernate.HibernateException ...

  9. OpenCV使用FindContours进行二维码定位

    我使用过FindContours,而且知道有能够直接寻找联通区域的函数.但是我使用的大多只是"最大轮廓"或者"轮廓数目"这些数据.其实轮廓还有另一个很重要的性质 ...

  10. iOS多线程——同步异步串行并行

    串行并行异步同步的概念很容易让人混淆,关于这几个概念我在第一篇GCD中有解释,但是还不够清晰,所以这里重写一篇博客专门对这几个概念进行区分: 先说一下队列和任务: (1)队列分为串行和并行,任务的执行 ...