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源代码包:
[root@fcy ~]# tar -zxvf mysql-5.6.15.tar.gz -C /usr/local/src/
进入拆解好的mysql源码包,可以看到有一个名称为INSTALL-SOURCE的文件,使用vim编辑器打开,从4702行开始,有该版本mysql源码安装的步骤,照做即可:
创建mysql运行的账号和组:
[root@fcy mysql-5.6.15]# groupadd mysql [root@fcy mysql-5.6.15]# useradd -r -g mysql mysql
使用cmake工具编译mysql源代码(cmake可以从光盘上找到):
编译完成后执行安装:
进入/usr/local/mysql目录,修改相关目录的权限:
安装mysql默认数据库,并指定运行用户为mysql:
[root@fcy mysql]# 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为开机自启动
[root@fcy mysql]# chkconfig --add mysqld [root@fcy mysql]# chkconfig --list |grepmysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
将mysql的lib库动态链接到系统lib库
[root@fcy mysql]# touch/etc/ld.so.conf.d/mysql.conf [root@fcy mysql]# echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/mysql
刷新并查看
[root@fcy mysql]# ldconfig [root@fcy 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的相关帮助信息
[root@fcy mysql]# echo "MANPATH/usr/local/mysql/man" >>/etc/man.config
为mysql的头文件库创建链接
[root@fcy include]# pwd /usr/include [root@fcy include]# ln -s/usr/local/mysql/include/ mysql [root@fcy include]# ll |grep mysql lrwxrwxrwx. 1 root root 25 Jul 20 22:51mysql -> /usr/local/mysql/include/
启动mysql并检查端口3306是否启动
为mysql数据库设置登录密码(初始密码为空)
[root@fcy include]# mysqladmin -u root -ppassword ‘123456‘ Enter password:
5、源码安装apache:
将源码包http和http的依赖包apr,apr-util拆解到/usr/local/src/目录下:
[root@fcy ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ [root@fcy ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/ [root@fcy ~]# tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/
进入/usr/local/src/apr-1.4.6/,执行编译安装
[root@fcy apr-1.4.6]# ./configure --prefix=/usr/local/apr #编译并指定安装目录
安装:
[root@fcy apr-1.4.6]# make && make install
进入/usr/local/src/apr-util-1.5.1,执行编译安装
[root@fcy apr-1.4.6]#./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config
安装:
[root@fcy apr-util-1.5.1]# make &make install
进入/usr/local/src/httpd-2.4.9(提示缺少pcre,从光盘安装pcre和pcre-devel即可),编译:
[root@fcy 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
安装:
[root@fcy httpd-2.4.9]# make &&make install
添加搜索路径:
添加控制脚本到/etc/init.d/httpd,并赋予执行权限:
[root@fcy httpd-2.4.9]# 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
[root@fcy httpd-2.4.9]# cp -p /etc/httpd/httpd.conf /usr/local/apache/conf/httpd.conf
启动apache并检查80端口:
6、源代码安装php
拆解源码包:
[root@fcy ~]# tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/
进入/usr/local/src/php-5.4.13,编译源码:
创建安装指定目录:
[root@fcy ~]# mkdir /usr/local/apache/conf [root@fcy ~]# mkdir -pv /etc/php /etc/php5.d mkdir: created directory `/etc/php‘ mkdir: created directory `/etc/php5.d‘
安装php:
[root@fcy php-5.4.13]# make &&make install
拷贝动态库文件到apache的库目录:
[root@fcy libs]# cp /usr/local/src/php-5.4.13/libs/libphp5.so /usr/local/apache/modules/libphp5.so [root@fcy libs]# cp /usr/local/src/php-5.4.13/libs/libphp5.la /usr/local/apache/modules/libphp5.la
在httpd.conf中加入php支持模块和识别.php后缀的文件:
访问测试(服务器地址192.168.47.100):
本文出自 “却邪水心泮” 博客,请务必保留此出处http://shmilyfl.blog.51cto.com/8897986/1688161
原文地址:http://shmilyfl.blog.51cto.com/8897986/1688161