一,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. 推荐一本好书给即将走入工作的程序员and程序媴

    近期买了几本IT届推崇的经典书籍.当中有一本<程序猿修炼之道:专业程序猿必知的33个技巧>.由于这本比較薄,所以先翻着看. 这本书有别于其它的技术书籍,事实上算不上一本技术书籍.它不是教你 ...

  2. 写一个简易web服务器、ASP.NET核心知识(4)--转载

    第一次尝试(V1.0) 1.理论支持 这里主要要说的关于Socket方面的.主要是一个例子,关于Socket如何建立服务端程序的简单的代码. static void Main(string[] arg ...

  3. SQLserver 连接+开窗函数+视图+事务

    今天学习SQLserver 连接以及开窗函数..加油! 1.复习:查询(检索)->筛选列->筛选行:distinct top where 运算符与关键字:比较运算符,逻辑运算符,betwe ...

  4. C#中string.Empty和""、null的区别

    string.Empty是string类的一个静态常量,而""则表示一个空字符串. string是一种特殊的引用类型,它的null值则表示没有分配内存. 使用ILSpy反编译Str ...

  5. UVA11361 Investigating Div-Sum Property(数位dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目意思:问在区间[A,B]有多少个数不仅满足自身是k的倍数,而且其各个位数上的和 ...

  6. Ubuntu13.04手动安装nvidia显卡驱动

    1. 下载最新版的nVidia驱动,命名为NVIDIA.run. http://www.nvidia.com/page/drivers.html 2.编辑blacklist.conf. sudo ge ...

  7. 从Ecipse中导出程序至apk

    若未有数字证书: 1. 2. 3. 4. 5. 若已有数字证书: 上面的后3步改为

  8. 用git提交代码步骤

    1.git add XXXX2.git commit - 'xxx'3.git stash4. //git pull --rebase 4. git rebase origin/develop git ...

  9. ruby更换为淘宝的源

    我们在使用gem更新的时候,经常会为速度抓狂,其实gem默认的源是https://rubygems.org,比较慢众所周至的原因了. 可以将源更换到国内的taobao源 查看当前有的源 gem sou ...

  10. javascript get获取参数

    function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...