1、LAMP简介

        Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。


2、LAMP平台搭建所需源代码:

            apr-1.4.6.tar.gz

            apr-util-1.5.1.tar.gz

            httpd-2.4.9.tar.bz2

     mysql-5.6.15.tar.gz

     php-5.4.13.tar.bz2


源代码可以去官方网站下载,根据自己系统的版本来选择合适的源代码


3、linux源代码的编译环境:

    Dovelopment tools

    Server Platform Development

    Additional Development


4、源码安装mysql:

    1)、拆解mysql源代码包:

[[email protected] ~]# tar -zxvf mysql-5.6.15.tar.gz -C /usr/local/src/

        进入拆解好的mysql源码包,可以看到有一个名称为INSTALL-SOURCE的文件,使用vim编辑器打开,从4702行开始,有该版本mysql源码安装的步骤,照做即可:

源代码实现LAMP的平台搭建


    创建mysql运行的账号和组:

[[email protected] mysql-5.6.15]# groupadd mysql
[[email protected] mysql-5.6.15]# useradd -r -g mysql mysql

    使用cmake工具编译mysql源代码(cmake可以从光盘上找到):

源代码实现LAMP的平台搭建

    编译完成后执行安装:

源代码实现LAMP的平台搭建

    进入/usr/local/mysql目录,修改相关目录的权限:

源代码实现LAMP的平台搭建

    安装mysql默认数据库,并指定运行用户为mysql:

[[email protected] mysql]# scripts/mysql_install_db --user=mysql

    查看生成在/usr/local/mysql/data目录下的默认数据库:

源代码实现LAMP的平台搭建    由于mysql在运行时是以mysql用户和组的身份,所以需要对数据库操作具有相应的权限,修改/usr/local/mysql/下的所有者为root,但是对于data目录则继续保持所有者为mysql,组为mysql

源代码实现LAMP的平台搭建

     将mysql的路径添加到系统变量并刷新:

源代码实现LAMP的平台搭建

源代码实现LAMP的平台搭建

    拷贝启动控制脚本到/etc/init.d/ 并重命名为mysqld

源代码实现LAMP的平台搭建

    添加mysql为开机自启动

[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list |grepmysqld
mysqld            0:off 1:off 2:on 3:on 4:on 5:on 6:off

    将mysql的lib库动态链接到系统lib库

[[email protected] mysql]# touch/etc/ld.so.conf.d/mysql.conf
[[email protected] mysql]# echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/mysql

    刷新并查看

[[email protected] mysql]# ldconfig
[[email protected] mysql]# ldconfig -pv |grep mysql
         libmysqlclient_r.so.16(libc6) => /usr/lib/mysql/libmysqlclient_r.so.16
         libmysqlclient.so.16(libc6) => /usr/lib/mysql/libmysqlclient.so.16

    将man手册的路径告诉系统,方便查找man的相关帮助信息

[[email protected] mysql]# echo "MANPATH/usr/local/mysql/man" >>/etc/man.config

    mysql的头文件库创建链接

[[email protected] include]# pwd
/usr/include
[[email protected] include]# ln -s/usr/local/mysql/include/ mysql
[[email protected] include]# ll |grep mysql
lrwxrwxrwx. 1 root root     25 Jul 20 22:51mysql -> /usr/local/mysql/include/

    启动mysql并检查端口3306是否启动

源代码实现LAMP的平台搭建

    为mysql数据库设置登录密码(初始密码为空)

[[email protected] include]# mysqladmin -u root -ppassword '123456'
Enter password:


5、源码安装apache:

    将源码包http和http的依赖包apr,apr-util拆解到/usr/local/src/目录下:

[[email protected] ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
[[email protected] ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
[[email protected] ~]# tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/

    进入/usr/local/src/apr-1.4.6/,执行编译安装

[[email protected] apr-1.4.6]# ./configure --prefix=/usr/local/apr   #编译并指定安装目录

    安装:

[[email protected] apr-1.4.6]# make && make install

    进入/usr/local/src/apr-util-1.5.1,执行编译安装

[[email protected] apr-1.4.6]#./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config

    安装:

[[email protected] apr-util-1.5.1]# make &make install

    进入/usr/local/src/httpd-2.4.9(提示缺少pcre,从光盘安装pcre和pcre-devel即可),编译:

[[email protected] httpd-2.4.9]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-utils/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all

    安装:

[[email protected] httpd-2.4.9]# make &&make install

    添加搜索路径:

源代码实现LAMP的平台搭建

    源代码实现LAMP的平台搭建

    添加控制脚本到/etc/init.d/httpd,并赋予执行权限:

[[email protected] httpd-2.4.9]# ll /etc/init.d/httpd 
-rwxr-xr-x. 1 root root 852 Aug 25 01:37 /etc/init.d/httpd

    添加开机自启动并检查启动级别:

源代码实现LAMP的平台搭建    拷贝配置文件/etc/httpd/httpd.conf到/usr/local/apache/conf/httpd.conf

[[email protected] httpd-2.4.9]# cp -p /etc/httpd/httpd.conf /usr/local/apache/conf/httpd.conf

    启动apache并检查80端口:

源代码实现LAMP的平台搭建


6、源代码安装php

    拆解源码包:

[[email protected] ~]# tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/

    进入/usr/local/src/php-5.4.13,编译源码:


    创建安装指定目录:

[[email protected] ~]# mkdir /usr/local/apache/conf
[[email protected] ~]# mkdir -pv /etc/php /etc/php5.d
mkdir: created directory `/etc/php'
mkdir: created directory `/etc/php5.d'

    安装php:

[[email protected] php-5.4.13]# make &&make install

    拷贝动态库文件到apache的库目录:

[[email protected] libs]# cp /usr/local/src/php-5.4.13/libs/libphp5.so /usr/local/apache/modules/libphp5.so
[[email protected] libs]# cp /usr/local/src/php-5.4.13/libs/libphp5.la /usr/local/apache/modules/libphp5.la

    在httpd.conf中加入php支持模块和识别.php后缀的文件:

源代码实现LAMP的平台搭建

源代码实现LAMP的平台搭建

    重启apache源代码实现LAMP的平台搭建

    访问测试(服务器地址192.168.47.100):

源代码实现LAMP的平台搭建