LAMP是Linux + Apache + MySQL +PHP/Python的缩写,是一组常用来搭建动态网站服务器的开源软件。它们本身都是各自独立的程序,但是因为开源并且常放在一起使用,所以拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序开发平台。

  • Linux:Linux 处在最底层,提供操作系统。它的灵活性和可定制化的特点意味着它能够产生一种高度定制的平台,让其它组件在上面运行。
  • Apache:Apache位于第二层,它是一个Web 服务器软件,提供可让用户获得 Web 页面的机制。Apache 是一款功能强大、稳定、可支撑关键任务的Web服务器,Internet 上超过50%的网站都使用它作为 Web 服务器。(开源的主流服务器还有Nginx)
  • MySQL:MySQL是最流行的开源关系数据库管理系统,是LAMP的数据存储端。它分为社区版和商业版,由于其开源、体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
  • PHP:PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web动态网站开发。Perl 和 Python 类似。

一、安装Apache2

在终端运行下面的命令:

sudo yum install httpd

配置开机启动Apache,输入命令:

sudo systemctl enable httpd.service

启动Apache服务器:

sudo systemctl start httpd.service
// 重启为systemctl restart httpd.service

打开浏览器,访问http://localhost ,如果看到下面的页面,说明安装成功!

二、安装PHP5

虽说在web应用上Python比PHP有优势,而且更有前景,但是就目前国内来看,Web应用开发的主流还是PHP,所以我就决定学PHP了。

需要安装 PHP5 和 Apache PHP5 模块,运行命令:

sudo yum install php

重启Apache服务器:

sudo systemctl restart httpd.service

我的Fedora20上Apache默认站点根目录是/var/www/html/,当然你可以修改Apache配置文件/etc/httpd/conf/httpd.conf改变它的DocumentRoot,这里我们在默认目录下新建一个info.php文件来测试PHP5:

<?php
phpinfo();
?>

在浏览器里访问http://localhost/info.php,你会看见下面的页面:

phpinfo()会输出PHP当前状态的大量信息,包含了 PHP 编译选项、启用模块、PHP 版本、服务器信息、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。当你看到这个页面,说明PHP5正在运行。查看PHP5中已经启用的模块,MySQL没有被列入其中,这意味着现在还不支持MySQL。

三、让PHP支持MySQL

我们需要安装一个模块使得php5支持Mysql(Mysql数据库的安装看我上一篇文章:Linux下C++访问Mysql数据库),你可以先使用yum search php查询一下安装包,我们需要安装的是下面几个包:

sudo yum install php-mysqlnd php-mssql php-opcache

重启Apache服务器,然后刷新http://localhost/info.php页面,看PHP5是否已经支持MySQL:

当然我们可以在/var/www/html/目录下写个test.php测试一下:

<?php
$link=mysql_connect('localhost','root','songlee');
if(!$link)
echo "fail!";
else
echo "success!";
mysql_close();
?>

重启Apache服务,访问http://localhost/test.php,如果看到页面输出success!,表示php连接mysql数据库成功。

另外,为了方便我们可以安装phpMyAdmin(一款基于php语言编写的管理 MySQL数据库的图形化软件)来管理Mysql数据库。

Fedora下搭建LAMP开发环境的更多相关文章

  1. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  2. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  3. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

  4. Windows下搭建Git开发环境

    Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...

  5. Ubuntu 12.04下搭建Qt开发环境

    http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...

  6. Ubuntu系统下搭建Python开发环境

    之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...

  7. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  8. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

  9. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

随机推荐

  1. Python中*args和**kwargs的使用

    函数定义 使用*args和**kwargs传递可变长参数: *args用作传递非命名键值可变长参数列表(比如元组) **kwargs用作传递键值可变长参数列表(比如字典) 函数入参 *args 传递一 ...

  2. 循环插入记录,id每次加1

    sql语句写法: begin for i in 1 .. 100 loop insert into table_name values(....); end loop; commit; end; 例子 ...

  3. 百度人脸识别AI实践.doc

    0, 前言 百度开放了很多AI能力,其中人脸识别就是其中之一. 本文对百度人脸识别AI进行实践检验,看看其使用效果如何. 鉴于是最为基础的实践,基本都是在其接口范例代码修改而来. 百度人脸识别AI网站 ...

  4. 阿里云机器学习tensorflow实践

    1,前言 伴随人工智能和深度学习的应用越来越普及,越来越多的开发人员开始投入到智能算法的编程中.由于算法成熟且公开,软件编码这一块不存在难度:但模型训练和预测所需的时间与硬件设备的配置有极大关系,很多 ...

  5. js中获取class封装

    1.封装 //封装getClass function getClass(tagName,className) //获得标签名为tagName,类名className的元素 { if(document. ...

  6. caffe2:conda路径和权限问题

    在使用conda之后,总是不能直接使用 conda install 命令,需要把codna添加到系统路径,取代默认Python. 在-/.bashrc中,添加 # added by Anaconda2 ...

  7. 【DVWA】【SQL Injection】SQL注入 Low Medium High Impossible

    1.初级篇 low.php 先看源码,取得的参数直接放到sql语句中执行 if( isset( $_REQUEST[ 'Submit' ] ) ) { // Get input $id = $_REQ ...

  8. 并发编程学习笔记(14)----ThreadPoolExecutor(线程池)的使用及原理

    1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去 ...

  9. 散列(hash)

    散列(hash)是常用的算法思想之一,在很多程序中都会有意无意地使用到. 先来看一个简单的问题:给出N个正整数,再给出M个正整数,问这M个数中每个数分别是否在N个数中出现过. 例如N=5,M=3,N个 ...

  10. Haoop Mapreduce 中的FileOutputFormat类

    FileOutputFormat类继承OutputFormat,需要提供所有基于文件的OutputFormat实现的公共功能,主要有以下两点: (1)实现checkOutputSpecs方法 chec ...