最近在工作中常常接触到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服务器的了解,为下一步的服务器安全配置打下基础。目前只是初步安装完成,要想达到上线使用还有很多安全配置工作要做,在接下来的一篇博客中我将总结一下基本的安全配置工作。

Apache,PHP,MySQL独立安装的更多相关文章

  1. Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)

    Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...

  2. Apache和mysql的安装设置

    Apache和mysql的安装较简单,主要是安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行phpmyadmin,主要是配置文件的问题,把phpMyAdmi ...

  3. 虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  4. Ubuntu杂记——Apache+PHP+MySQL的安装

    昨天晚上,参考博客园的另一篇文章,在自己的Ubuntu上搭建了一个Apache+PHP+MySQL的服务器,在此谨记,以备不时之需. 一.安装Apache sudo apt-get install a ...

  5. Apache+PHP+MySql 的安装及配置

    每一项技术用的人多了,就会有人将其进行优化,做成一个简单.实用.大众化的工具,这对于初识者来说是非常方便的,但是对于长久学习或工作这方面的人技术人员来说是不可取的,所以还是要学习基础的实用方法.因此, ...

  6. Apache,PHP,MySQL的安装,配置

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

  7. ubuntu下的apache+php+mysql的安装

    平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...

  8. php apache phpmyadmin mysql环境安装

    文件下载: Apache: http://httpd.apache.org/download.cgi PHP,phpMyAdmin,mysql,API下载:http://pan.baidu.com/s ...

  9. linux网站服务Apache+php+mysql的安装

    1.挂载光盘 自己习惯将光盘挂载在/media/cdrom目录,在做本地yum源的时候此目录为默认目录之一 [root@localhost /]# mount /dev/cdrom /media/cd ...

随机推荐

  1. 全网最详细的Xshell或SecureCRT下spark-shell里出现无法退格或者删除的问题现象的解决办法(图文详解)

    不多说,直接上干货! 前言 打开spark的命令行后,发现输错字符了,但是无法退格或者删除,这是比较苦恼的问题. 这个问题,得看你是用Xshell,还是SecureCRT. 一般是出现在SecureC ...

  2. php -- 4种嵌入标记

    ----- 001-tags.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv="c ...

  3. JavaScript基础(一)概述

    JavaScript 概述 JS作用 验证表单(以前的网速慢) 页面特效(PC端的网页效果) 移动端(移动web和app) 异步和服务器交互(AJAX) 服务端开发(nodejs) 语言类型 js是一 ...

  4. Linux之SElinux安全上下文件(1)

    SELinux:Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Courpo ...

  5. Netty 接受请求过程源码分析 (基于4.1.23)

    前言 在前文中,我们分析了服务器是如何启动的.而服务器启动后肯定是要接受客户端请求并返回客户端想要的信息的,否则要你服务器干啥子呢?所以,我们今天就分析分析 Netty 在启动之后是如何接受客户端请求 ...

  6. Spring Security认证配置(二)

    学习本章之前,可以先了解下上篇Spring Security基本配置. 本篇想要达到这样几个目的: 1.访问调用者服务时,如果是html请求,则跳转到登录页,否则返回401状态码和错误信息 2.调用方 ...

  7. WebForm 基础学习

    C/S   客户端应用程序(Client/Server)  客户端——服务器端 两种技术      WinForm       WPF                                 ...

  8. (转)mssql sp_addextendedproperty 用法,作用

    sp_addextendedproperty [ @name = ] { 'property_name' } [ , [ @value = ] { 'value' } [ , [ @level0typ ...

  9. Java JDBC的基础知识(一)

    一.为什么引入JDBC 在学习JDBC之前,抛开它的概念,我先按照我的理解解释一下,为什么要引入JDBC.在我看来,引入JDBC跟我之前学过的引入JVM(Java虚拟机)有些相似之处.当然,关于JVM ...

  10. Java基础——网络编程(三)

    TCP 网络编程 -- tcp 分为客户端和服务端 -- 客户端对应的对象是 Socket -- 服务端对应的对象是 ServerSocket -- 如果客户端先启动,则出现 connection r ...