Apache,PHP,MySQL独立安装
最近在工作中常常接触到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
- ApacheHaus提供Apache独立安装包
- Apache Lounge提供Apache独立安装包
- BitNami WAMP Stack提供集成环境安装包
- WampServer提供集成环境安装包
- XAMPP提供集成环境安装包
今天我们选择在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独立安装的更多相关文章
- Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)
Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...
- Apache和mysql的安装设置
Apache和mysql的安装较简单,主要是安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行phpmyadmin,主要是配置文件的问题,把phpMyAdmi ...
- 虚拟机+apache+php+mysql 环境安装配置
虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...
- Ubuntu杂记——Apache+PHP+MySQL的安装
昨天晚上,参考博客园的另一篇文章,在自己的Ubuntu上搭建了一个Apache+PHP+MySQL的服务器,在此谨记,以备不时之需. 一.安装Apache sudo apt-get install a ...
- Apache+PHP+MySql 的安装及配置
每一项技术用的人多了,就会有人将其进行优化,做成一个简单.实用.大众化的工具,这对于初识者来说是非常方便的,但是对于长久学习或工作这方面的人技术人员来说是不可取的,所以还是要学习基础的实用方法.因此, ...
- Apache,PHP,MySQL的安装,配置
Apache 1. 下载 Apache版本号为2.2.22. 最好下载msi安装文件.下载地址为:http://www.apache.org/dist/httpd/binaries/win32/ 如果 ...
- ubuntu下的apache+php+mysql的安装
平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...
- php apache phpmyadmin mysql环境安装
文件下载: Apache: http://httpd.apache.org/download.cgi PHP,phpMyAdmin,mysql,API下载:http://pan.baidu.com/s ...
- linux网站服务Apache+php+mysql的安装
1.挂载光盘 自己习惯将光盘挂载在/media/cdrom目录,在做本地yum源的时候此目录为默认目录之一 [root@localhost /]# mount /dev/cdrom /media/cd ...
随机推荐
- java接口应用—策略设计模式
策略模式:定义了一系列算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化 strategy pattern:The Strategy Pattern defi ...
- 解读Secondary NameNode的功能
1.概述 最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把Second ...
- 29-hadoop-使用phtonenix工具&分页&数据导入
因为rowkey一般有业务逻辑, 所以不可以直接使用rowkey进行分页, startkey, endkey 想要使用SQL语句对Hbase进行查询,需要使用Apache的开源框架Phoenix. 安 ...
- Docker快速入门(一)
Docker是Go语言开发实现的容器.2013年发布至今,备受推崇.相关文档.学习资料十分详尽.近期公司docker项目要推进,得重新学习一下.博客以笔记. 1 容器诞生背景及优势 (1)软件开发和运 ...
- 第五章 Web应用程序状态管理
状态管理概述 Cookie Session URL重写 状态管理概述: HTTP协议使用的是无状态的连接 对容器而言,每一个请求都来自于一个新的客户 这里我们有四种方法来解决这个状态: a:表 ...
- android开发学习笔记系列(5)--fragment与viewpage
前言 在前面的博客写到我针对一个项目完成了动态布局的效果,顿时感觉很爽,那么下面我针对我在前文中所讲的tabhost的实现做出一个新的方法,tabhost基本已经被启用,现在基本使用Fragment与 ...
- df说磁盘空间满了, du说没有,到底谁是对的
同事求助, 他在删掉一个很大的文件后, 磁盘空间依旧没释放.上去一看, 果然 df 看到磁盘空间占用依旧是100%,等等 du 看了一把,磁盘空间剩余很大. 造成这个原因是因为进程依旧打 ...
- linux 安装 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash 或者 wget -qO- htt ...
- GCD之定时器dispatch_source_t(转载暂时未完全理解)
#import "ViewController.h" @interface ViewController (){ IBOutlet UIButton *l_timeButton; ...
- 分布式理论(三)—— 一致性协议之 2PC
前言 为了使系统尽量能够达到 CAP,于是有了 BASE 协议,而 BASE 协议是在可用性和一致性之间做的取舍和妥协. 人们往往需要在系统的可用性和数据一致性之间反复的权衡.于是呢,就产生我们标题中 ...