一,LAMP的安装流程:mysql、apache、php或者apache、mysql、php。php放到最后的原因是,php在编译安装的时候是依赖于前2者的。

二,Mysql的安装:

1.下载mysql,可以通过http://mirrors.sohu.com/下载mysql软件。

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

2.解压并重命名

tar -zxvf  mysql-5.1.73-linux-i686-glibc23.tar.gz

 mv mysql-5.1.73-linux-i686-glibc23     /usr/local/mysql/
3.建立MySQL用户,创建datadir目录。
useradd -s /sbin/nologin mysql
mkdir -p /data/mysql/
chown mysql /data/mysql/
4,初始化数据库。
 cd /usr/local/mysql  
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/  查看是否有2个OK或者echo $?以此判断初始化数据库是否成功。
初始化成功后会在/data/mysql生成mysql和test的2个目录。
5,拷贝配置文件、启动脚本,并将mysql添加到服务列表设置开机启动。
cp support-files/mysql-large.cnf /etc/my.cnf  
cp support-files/mysql.server /etc/init.d/mysqld  修改/etc/init.d/mysqld的配置文件中的basedir datadir。
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on 
/etc/init.d/mysqld start 

三,安装apache

1,下载httpd并解压。

wget  http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz

tar -zxvf httpd-2.2.31.tar.gz

2,编译前的参数配置

cd /usr/local/ httpd-2.2.31

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
其中 --prefix 指定安装到哪里, --enable-so 表示启用DSO,这个是用来支持安装扩展模块的,比如你rewrite这个模块没有安装但是你是在编译启动了DSO,这个时候你就可以扩展安装rewrite模块了,使用的工具是apache自动的apxs扩展工具。其实这个就是一个perl脚本,具体如何扩展安装其他模块,后续会在此处添加链接。
 --enable-deflate=shared 表示共享的方式编译deflate,后面的参数同理。
上述操作是否成功,可以通过echo $?的返回值来确认。
 
3,编译
make    make后会在当前目录生成一个makefile的一个文件,如果没有编译前的配置,直接make就会出现找不到makefile。
 
4,安装
make install   将软件安装到你指定的目录。
 
5,启动httpd
/usr/local/apache2/bin/apachectl start,会有一行提示,

httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
这个是因为没有开启ServerName,修改httpd的配置文件,vim /usr/local/apache2/conf/httpd.conf将ServerName注释取消掉即可。
ps aux|grep httpd     用浏览器访问,是否显示It works.

 
 
四,安装php
4.1 ,下载php并解压。
tar -zxvf php-5.3.28.tar.gz
cd php-5.3.28
4.2,编译前的参数配置
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--with-apxs2=/usr/local/apache2/bin/apxs        让系统自动加载phplib5.so的扩展模块 ,并且在httpd.conf添加php模块,是个扩展工具。
 
编译前的参数配置会出现各种报错,但是都是缺少库文件而已。可以根据报错信息,安装对应的库文件即可。
 
configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法是:

yum install -y libxml2-devel

还有错误:

configure: error: Cannot find OpenSSL's <evp.h>

解决办法是:

yum install -y openssl openssl-devel

错误:

checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution

解决办法:

yum install -y bzip2 bzip2-devel

错误:

configure: error: png.h not found.

解决办法:

yum install -y libpng libpng-devel

错误:

configure: error: freetype.h not found.

解决办法:

yum install -y freetype freetype-devel

错误:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决办法:

yum install -y epel-release
yum install -y libmcrypt-devel

因为centos6.x 默认的yum源没有libmcrypt-devel 这个包,只能借助第三方yum源。另外,这里安装的包都是*-devel的包。

4.3,编译

make

4.4,安装

make install

4.5 拷贝配置文件

cp /usr/local/src/php-5.3.28/ php.ini-production  /usr/local/php/etc/php.ini

这里有2个文件,1个是production(生产环境),1个是development(测试环境)。

五,Apache与PHP结合
 

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf

vim/usr/local/apache2/conf/httpd.conf

找到:

AddType application/x-gzip .gz .tgz   

在该行下面添加:

AddType application/x-httpd-php .php  添加可以对php脚本解析,必须添加上对应的类型

找到:

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

将该行改为:

<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule> 增加对PHP的索引 自动索引页
PHP测试代码,cd /usr/local/apache2/hdocs  
vim index.php 
 
<?php
echo "What fucking is PHP!";
?>
或者
<?php
phpinfo();
?>   可以用来排错
/usr/local/php/bin/php -m  查看模块
/usr/local/php/bin/php -i   查看配置信息
/usr/local/php/bin/php -v 查看版本
 /usr/local/php/bin/php -i |head      查看编译参数   也可以查看php源码中的config.nice
/usr/local/php/bin/php -i |grep configure
打开浏览器进行访问,查看能否正常解析PHP。
 
 
另外,测试是否php是否可以mysql php脚本如下:
<?php

   $link = mysql_connect('127.0.0.1','root','');

   if ($link)

       echo "successful...";

   else

       echo "Failure...";

   mysql_close();

?>

  

 
 
 
 

LAMP的安装的更多相关文章

  1. LAMP简易安装

    看,老鸟绕道–LAMP简易安装 导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相 ...

  2. 新手必看,老鸟绕道–LAMP简易安装

    导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相信大家对这些都已经非常熟悉了,但 ...

  3. 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装

    学Linux做程序开发也好,做系统管理也好,做网络管理员也好,做系统运维也好,不会LAMP和LNMP,那就等于连皮毛都不会!本篇是文字版的LAMP集成安装,下次连载我们要介绍LNMP的文字版安装.有喜 ...

  4. lamp环境安装

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code lamp环境安装 1.查看mysql是否安装 service mysql status 2.查 ...

  5. 编译安装LAMP之安装Apache+php与管理(十五)

    [教程主题]:编译安装LAMP之安装Apache+php与管理 [课程录制]: 创E [主要内容] [1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上 ...

  6. 阿里云服务器ECS LAMP环境安装(Ubuntu)

    所周知如果要搭建一个网站lamp环境必不可少,但是阿里云初始的时候没有自带lamp环境,原本阿里云自带的包也已经失效了,所以需要自己来安装.但是网上大部分博客都有些老,于是中间遇到了一些小坑,今天就在 ...

  7. LAMP自动安装脚本

    #!/bin/bash # 功能描述:LAMP自动安装脚本 # 初始化 if [ "$(cat /etc/system-release | awk '{print $(NF-1)}' | a ...

  8. linux日常---2、lamp.sh安装lamp环境中的linux操作

    linux日常---2.lamp.sh安装lamp环境中的linux操作 一.总结 一句话总结: 学不如用,学一百遍还不如真正多用几遍的来的效果好 1.linux下查看进程命令? ps 常用 ps - ...

  9. LAMP一键安装脚本 from:秋水逸冰

    Install LAMP(Linux + Apache + MySQL + PHP ) for CentOS/Redhat/Fedora 项目地址:https://github.com/teddysu ...

随机推荐

  1. NPOI之使用EXCEL模板创建报表

    因为项目中要用到服务器端创建EXCEL模板 无法直接调用EXCEL 查了下发现NPOI很方便很简单就实现了 其中走了点弯路 第一次弄的时候发现输出的值是文本不是数字型无法直接计算公式 然后又发现打开报 ...

  2. [Python学习笔记][第六章Python面向对象程序设计]

    1月29日学习内容 Python面向对象程序设计 类的定义与使用 类定义语法 使用class关键词 class Car: def infor(self): print("This is ca ...

  3. SQL Server -SET QUOTED_IDENTIFIER

    SET QUOTED_IDENTIFIER ON SQL SERVER的联机丛书的解释: “当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔 ...

  4. break,continue,return 区别

    using System;using System.Collections.Generic;using System.Text; namespace breakcontinue_test{    cl ...

  5. C#实现在线更新系统

    先来看一下程序完成后长什么样. 这个是程序的组成部分. 主要功能是在InitializationUpdate这个类中完成的,From1主要起到调用的作用,所以重心还是在InitializationUp ...

  6. (原)ubuntu16在torch中使用caffe训练好的模型

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5783006.html 之前使用的是torch,由于其他人在caffe上面预训练了inception模型 ...

  7. 创建ListView的基本步骤

    参考<疯狂android讲义>第2.5节P94 1.创建一个或者多个ListView <LinearLayout xmlns:android="http://schemas ...

  8. HTML5简单入门系列(二)

    前言 上篇中写到HTML5中的画布(canvas)元素,查看了canvas其他的资料,发现这个元素相关内容太多,鉴于本系列只是基础(主要是LZ也是初学),不再做太多介绍,有机会的话再单独写相关内容.说 ...

  9. h5 如何打包apk

    1.需要下载安装MyEclipse2014,Android SDK,eclipse(需配置Android开发环境) Java和Android环境安装与配置. 2.打开MyEclipse2014,新建一 ...

  10. pubwin会员合并

    此博文已移至爬不稳独立博客:www.pubwin2009.net连接:http://www.pubwin2009.net/index.php/post/15.html 我们说下过程(这里,我们要求两个 ...