源代码实现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]