一,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. [置顶] Java中发邮件的6种方法

    1.官方标准JavaMail Sun(Oracle)官方标准,功能强大,用起来比较繁琐. 官方资料:http://www.oracle.com/technetwork/java/javamail/in ...

  2. 期望dp-hdu-4336-Card Collector

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4336 题目大意: 有n种卡片,每包中至多有一种卡片,概率分别为p1,p2,...pn,可能有的没有卡 ...

  3. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  4. Python学习笔记3(数据结构)

    1.元组结构(Tuple) 元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串.数字甚至元组.元组创建后不能修改. 元组通常代表一行数据,而元组中的元素代表不同的数据项. 1.1元组的创建 ...

  5. (原)ippicvmt.lib(ippinit.obj) : error LNK2005: _ippSetCpuFeatures@8 已经在 ippcoremt.lib(ippinit.obj) 中定义

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5497234.html 参考网址: http://answers.opencv.org/question ...

  6. 我的第一个comet长连接例子

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...

  7. The FastCGI process exited unexpectedly

    ERROR:HTTP Error 500.0 - Internal Server Error D:\Program Files\php\php-cgi.exe - The FastCGI proces ...

  8. 使用jekyll和prose在github上创建博客

    利用github的pages服务可以很方便地显示和管理我们的静态页面,这样用来做博客是非常适合的. 1.首先你要有一个github的帐号 2.创建一个repo,名字叫username.github.i ...

  9. centos 6.5 安装 nginx+php+mysql

    一.准备工作 (1)配置防火墙 1.首先检查iptables服务的状态 [root@woxplife ~]# service iptables status iptables: Firewall is ...

  10. jdbc 通过rs.getString()获取数据库中的时间字段问题

    例如在mysql中的一张表中存在一个字段opr_time为datetime类型, 在JDBC 中通过rs.getString("opr_time");来获取使会在日期后面添加&qu ...