4trgr 发表于 2015-8-26 08:43:42

源代码实现LAMP的平台搭建

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源代码包:


1
# tar -zxvf mysql-5.6.15.tar.gz -C /usr/local/src/




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



    创建mysql运行的账号和组:

1
2
# groupadd mysql
# useradd -r -g mysql mysql




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


    编译完成后执行安装:


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


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

1
# scripts/mysql_install_db --user=mysql




    查看生成在/usr/local/mysql/data目录下的默认数据库:
    由于mysql在运行时是以mysql用户和组的身份,所以需要对数据库操作具有相应的权限,修改/usr/local/mysql/下的所有者为root,但是对于data目录则继续保持所有者为mysql,组为mysql

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


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

    添加mysql为开机自启动

1
2
3
# chkconfig --add mysqld
# chkconfig --list |grepmysqld
mysqld            0:off 1:off 2:on 3:on 4:on 5:on 6:off




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

1
2
# touch/etc/ld.so.conf.d/mysql.conf
# echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/mysql




    刷新并查看

1
2
3
4
# ldconfig
# 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的相关帮助信息

1
# echo "MANPATH/usr/local/mysql/man" >>/etc/man.config




    为mysql的头文件库创建链接

1
2
3
4
5
# pwd
/usr/include
# ln -s/usr/local/mysql/include/ mysql
# ll |grep mysql
lrwxrwxrwx. 1 root root   25 Jul 20 22:51mysql -> /usr/local/mysql/include/




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

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

1
2
# mysqladmin -u root -ppassword '123456'
Enter password:





5、源码安装apache:

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

1
2
3
# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
# tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/




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

1
# ./configure --prefix=/usr/local/apr   #编译并指定安装目录




    安装:


1
# make && make install




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

1
#./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config




    安装:


1
# make &make install




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

1
# ./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




    安装:


1
# make &&make install




    添加搜索路径:


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


1
2
# ll /etc/init.d/httpd
-rwxr-xr-x. 1 root root 852 Aug 25 01:37 /etc/init.d/httpd




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

    拷贝配置文件/etc/httpd/httpd.conf到/usr/local/apache/conf/httpd.conf

1
# cp -p /etc/httpd/httpd.conf /usr/local/apache/conf/httpd.conf




    启动apache并检查80端口:


6、源代码安装php
    拆解源码包:


1
# tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/




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

1
<br>




    创建安装指定目录:


1
2
3
4
# mkdir /usr/local/apache/conf
# mkdir -pv /etc/php /etc/php5.d
mkdir: created directory `/etc/php'
mkdir: created directory `/etc/php5.d'




    安装php:


1
# make &&make install




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


1
2
# cp /usr/local/src/php-5.4.13/libs/libphp5.so /usr/local/apache/modules/libphp5.so
# cp /usr/local/src/php-5.4.13/libs/libphp5.la /usr/local/apache/modules/libphp5.la




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


    重启apache:

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




页: [1]
查看完整版本: 源代码实现LAMP的平台搭建