Lamp简介

Lamp是linux+apache+MySQL+php组合的一种利用

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

然而搭建lamp的平台有很多,但是利用×××论坛可以加入一些新的功能新的作用,可以为我们提供更好的服务,利用×××lamp,需要httpd、mysql、以及php的源码安装包

源码安装包可以起官网去下载

Php官网:http://www.php.net/

Apache官网:http://www.apache.org

Mysql官网:http://mysql.com/

利用×××lamp的三个源码安装包:

源码安装实现lamp平台

将源码传入到linux中

源码安装实现lamp平台

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*******************************************************************************

一,安装mysql

1 解压缩

源码安装实现lamp平台

-c 是指明解压到哪个文件目录下

源码安装实现lamp平台

进入相应目录

源码安装实现lamp平台

查看说明文件INSTALL-BINARY

[[email protected] mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY

源码安装实现lamp平台

所以按照说明文件我们一步一步做1

1),

1) 源码安装实现lamp平台

2) [[email protected] mysql-5.5.15-linux2.6-i686]# cd /usr/local/

[[email protected] local]# ln -s mysql-5.5.15-linux2.6-i686 mysql

3) 改目录下的所有文件的权限

源码安装实现lamp平台

4) 初始化mysql (启动mysql)

scripts/mysql_install_db --user=mysql

源码安装实现lamp平台

5) 初始化后重新修改权限

chown -R root .

chown -R mysql data

源码安装实现lamp平台

6) 拷贝配置文件:将配置文件的备份文件拷贝成配置文件

cp support-files/my-medium.cnf /etc/my.cnf

/etc/my.cnf是mysql的配置文件

7) 启动mysql服务

bin/mysqld_safe --user=mysql &

查看mysql服务是否开启 netstat -tupln |less

源码安装实现lamp平台

8) 这样启动mysql 有种麻烦,我们可以利用service机制来实现对mysql服务的控制,但是service并没有mysql的控制脚本,所以需要将mysql的控制启动的脚本交给service机制

[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld 这可是实现利用service机制实现对mysql服务的控制

源码安装实现lamp平台

9) 为了实现开机启动,但是chkconfig 其中并没有对mysqld的开机启动机制,所以需要在chkconfig机制中添加对mysqld的开机启动控制

[[email protected] mysql]# chkconfig --add mysqld

[[email protected] mysql]# chkconfig mysqld on

这样可是实现利用chkconfig 机制来实现开机启动

10 )系统运用mysql是需要调用mysql的库文件以及头文件,但是在系统标准的调用库文件中没有mysql的库文件和头文件()

系统启动调用头文件的标准路径 /etc/include /etc/local/include

系统启动调用库文件的标准路径 /lib/ /usr/lib /usr/local/lib

而mysqld的头文件在etc/local/mysql/include 库文件在/usr/local/mysql/lib 它们都不在系统的标准路径中

(1) 为让系统能调用mysql的库文件:[[email protected] ~]# vim /etc/ld.so.conf ,表明若要告知系统调用的库文件需要去创建1个ld.so.conf.d/*.conf 这样的文件

则[[email protected] ~]# cd /etc/ld.so.conf.d,去创建一个mysql 的调用库文件,[[email protected] ld.so.conf.d]# vim mysql.conf,在里边添加告诉你mysql 的库文件的绝对路径就行,然后系统会去根据这个绝对路径寻找并调用库文件

源码安装实现lamp平台

保存退出 则 系统每次启动都会去调用mysql的库文件

查看mysql的库文件是否连接到系统

源码安装实现lamp平台

(2) 为让系统调用mysql的头文件,最好的方法是去建立连接,建立连接是在系统标准的路径下建立连接,建立连接目的就是向系统指明要调用的头文件以及头文件的路径

源码安装实现lamp平台

源码安装实现lamp平台

创建连接成功,mysql源码安装完成

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

二 源码安装apache

解压缩源码安装包

源码安装实现lamp平台

切换到指定的目录

源码安装实现lamp平台

源码安装实现lamp平台

查看配置文件,

源码安装实现lamp平台

寻求在线帮助[[email protected] httpd-2.2.19]# ./configure –help

可以查看需要用的参数在./confingure时,里边东西比较琐碎 可以自己选用一些功能和定义一些参数,我总结了一些比较常用的一些参数哦

./configure常用的选项有如下

--prefix=/usr/local/apache 安装的路径

--sysconfdir=/etc/httpd 配置文件的安放目录

--enable=so 启用以dso模式加载模块

--enable-ssl 允许加密的https访问

--with-ssl=/usr/local/ssl

--enable-rewrite 支持URL重写

--with-z 使用zlib

--enable-mods-shared=most

--enable-suexec

--with-suexec-caller=daemon (用户名)

所以按照说明文件的步骤

1)

源码安装实现lamp平台

2) 生成文件 make 去生成文件

源码安装实现lamp平台

3) 将生的文件放在相应的目录下 make install

源码安装实现lamp平台

安装完成

4 )启动apache 切到到启动脚本所在文件

源码安装实现lamp平台

启动apache

源码安装实现lamp平台

查看是否已经启动http [[email protected] bin]# netstat -tupln |less

源码安装实现lamp平台

但是每次开机启动都必须进入到相应的目录来执行./apachectl start 来启动apache

为了方便启动 1 利用service机制来对其进行 启动等的控制,但是我下载的此版本没有将启动脚本加载到service机制中的文件

2 将启动项写入到开机脚本中

[[email protected] bin]# vim /etc/rc.local

在里边添加一句/usr/local/apache/bin/apachct1 start

源码安装实现lamp平台

5)头文件和库文件

Apache的头文件和库文件不在系统标准的路径下,不能正常启动调用,所以需要指明apache的头文件以及库文件的路径(和刚才mysql的一样)

(1) 头文件 去到cd /usr/include/创立连接

[[email protected] include]# ln -s /usr/local/apache/include apache

源码安装实现lamp平台

查看连接是否成功

源码安装实现lamp平台

(2) 库文件

为让系统调用非标准路径的库文件,需要去编辑开机调用库文件脚本

[[email protected] include]# vim /etc/ld.so.conf

源码安装实现lamp平台

然后去创建文件[[email protected] ld.so.conf.d]# vim httpd.conf 在指定的目录下(cd /etc/ld.so.conf.d/)

源码安装实现lamp平台

保存退出

则以后系统会自动加载apache的头文件和库文件

至此 源码安装apache完成

##############################################################################################################################################################
三、 源码安装php

解压缩到 指定的目录

tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/

源码安装实现lamp平台

切换到目录下

源码安装实现lamp平台

[[email protected] php-5.3.7]# less INSTALL 说明文件里边什么也没说

[[email protected] php-5.3.7]# ./configure –help 执行在线咨询,查看安装的一些参数

里边定义了一些安装参数和自定义的一些功能,里边比较多 而且乱

我总结了一些常用的一些参数:

/configure --prefix=/usr/local/php 默认安装路径

--with-apxs2=/usr/local/apache/bin/apxs 将php编译成apache的模块,允许apache的apxx调用该模块(&版本不同则不同,若为php为版本1.x则用--with-apxs[=FILE] Build shared Apache 1.x module. FILE is the optional

pathname to the Apache apxs tool [apxs]&&&)

--with-mysql=/usr/local/mysql 指明mysql的安装位置并调用mysql

--with-mysqli=/usr/local/mysql/bin/mysql_config 调用myql接口

-enable-mbstring=all

--with-xml 这几项是与图形有关的

--with-png

--with-jpeg

--with-zlib 在线压缩

--with-gd

--with-freetype

对这些参数有一定的了解后

1) 执行对预安装环境的检测以及一些参数的定义

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all

源码安装实现lamp平台

2)执行make 产生配置文件、头文件和库文件

源码安装实现lamp平台

3)Make install 将生成的配置文件、头文件和库文件放到相应的目录下

源码安装实现lamp平台

 

4)为让apache能运行php,需要在配置文件中做一些配置,# vim /etc/httpd/httpd.conf

源码安装实现lamp平台

关闭apache 并重新启用apache

切换到相应的启动目录下

[[email protected] ~]# cd /usr/local/apache/bin/

[[email protected] bin]# ./apachectl stop

[[email protected] bin]# ./apachectl start

这样php源码安装完成

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

四,测试(找个机器访问网站 )

为了方便测试,我们去编写一些网页来显示结果

测试1 apache能否正常调用php

(1) 切换到站点主目录;[[email protected] ~]# cd /usr/local/apache/

[[email protected] apache]# cd htdocs/

(2)为了方便我们将默认的主目录网页改为index.php

[[email protected] htdocs]# mv index.html index.php

(3)编辑网页文件 index.php

源码安装实现lamp平台

[[email protected] bin]# ./apachectl stop

[[email protected] bin]# ./apachectl start

[[email protected] mysql]# service mysqld restart

访问网页

源码安装实现lamp平台

测试2

测试php能否调用apache

(1) [[email protected] htdocs]# vim index.php

(2) 源码安装实现lamp平台

(3) 访问网站

源码安装实现lamp平台

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############################################################################

五,可能遇到的问题

当你将mysql的启动,关闭等的模块参数加入到service机制之后,还不能用service机制还不能利用service来开启和关闭等的控制,

源码安装实现lamp平台

这样我们只要关闭刚才开启的mysql服务的3306端口,就是说,先结束mysql再利用service来启动mysql服务

[[email protected] mysql]# netstat -tupln

源码安装实现lamp平台

[[email protected] mysql]# kill 4800

然后再去利用service来启动服务

源码安装实现lamp平台

这样就可以利用service来控制mysql

小结: 真的不熟练,足足写了8个小时 恩恩 但是收获也不少