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的三个源码安装包:
将源码传入到linux中
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*******************************************************************************
一,安装mysql
1 解压缩
-c 是指明解压到哪个文件目录下
进入相应目录
查看说明文件INSTALL-BINARY
[root@localhost mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY
所以按照说明文件我们一步一步做1
1),
1)
2) [root@localhost mysql-5.5.15-linux2.6-i686]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql
3) 改目录下的所有文件的权限
4) 初始化mysql (启动mysql)
scripts/mysql_install_db --user=mysql
5) 初始化后重新修改权限
chown -R root .
chown -R mysql data
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
8) 这样启动mysql 有种麻烦,我们可以利用service机制来实现对mysql服务的控制,但是service并没有mysql的控制脚本,所以需要将mysql的控制启动的脚本交给service机制
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 这可是实现利用service机制实现对mysql服务的控制
9) 为了实现开机启动,但是chkconfig 其中并没有对mysqld的开机启动机制,所以需要在chkconfig机制中添加对mysqld的开机启动控制
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost 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的库文件:[root@localhost ~]# vim /etc/ld.so.conf ,表明若要告知系统调用的库文件需要去创建1个ld.so.conf.d/*.conf 这样的文件
则[root@localhost ~]# cd /etc/ld.so.conf.d,去创建一个mysql 的调用库文件,[root@localhost ld.so.conf.d]# vim mysql.conf,在里边添加告诉你mysql 的库文件的绝对路径就行,然后系统会去根据这个绝对路径寻找并调用库文件
保存退出 则 系统每次启动都会去调用mysql的库文件
查看mysql的库文件是否连接到系统
(2) 为让系统调用mysql的头文件,最好的方法是去建立连接,建立连接是在系统标准的路径下建立连接,建立连接目的就是向系统指明要调用的头文件以及头文件的路径
创建连接成功,mysql源码安装完成
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
二 源码安装apache
解压缩源码安装包
切换到指定的目录
查看配置文件,
寻求在线帮助[root@localhost 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)
2) 生成文件 make 去生成文件
3) 将生的文件放在相应的目录下 make install
安装完成
4 )启动apache 切到到启动脚本所在文件
启动apache
查看是否已经启动http [root@localhost bin]# netstat -tupln |less
但是每次开机启动都必须进入到相应的目录来执行./apachectl start 来启动apache
为了方便启动 1 利用service机制来对其进行 启动等的控制,但是我下载的此版本没有将启动脚本加载到service机制中的文件
2 将启动项写入到开机脚本中
[root@localhost bin]# vim /etc/rc.local
在里边添加一句/usr/local/apache/bin/apachct1 start
5)头文件和库文件
Apache的头文件和库文件不在系统标准的路径下,不能正常启动调用,所以需要指明apache的头文件以及库文件的路径(和刚才mysql的一样)
(1) 头文件 去到cd /usr/include/创立连接
[root@localhost include]# ln -s /usr/local/apache/include apache
查看连接是否成功
(2) 库文件
为让系统调用非标准路径的库文件,需要去编辑开机调用库文件脚本
[root@localhost include]# vim /etc/ld.so.conf
然后去创建文件[root@localhost ld.so.conf.d]# vim httpd.conf 在指定的目录下(cd /etc/ld.so.conf.d/)
保存退出
则以后系统会自动加载apache的头文件和库文件
至此 源码安装apache完成
##############################################################################################################################################################
三、 源码安装php
解压缩到 指定的目录
tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/
切换到目录下
[root@localhost php-5.3.7]# less INSTALL 说明文件里边什么也没说
[root@localhost 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
2)执行make 产生配置文件、头文件和库文件
3)Make install 将生成的配置文件、头文件和库文件放到相应的目录下
4)为让apache能运行php,需要在配置文件中做一些配置,# vim /etc/httpd/httpd.conf
关闭apache 并重新启用apache
切换到相应的启动目录下
[root@localhost ~]# cd /usr/local/apache/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
这样php源码安装完成
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
四,测试(找个机器访问网站 )
为了方便测试,我们去编写一些网页来显示结果
测试1 apache能否正常调用php
(1) 切换到站点主目录;[root@localhost ~]# cd /usr/local/apache/
[root@localhost apache]# cd htdocs/
(2)为了方便我们将默认的主目录网页改为index.php
[root@localhost htdocs]# mv index.html index.php
(3)编辑网页文件 index.php
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
[root@localhost mysql]# service mysqld restart
访问网页
测试2
测试php能否调用apache
(1) [root@localhost htdocs]# vim index.php
(2)
(3) 访问网站
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############################################################################
五,可能遇到的问题
当你将mysql的启动,关闭等的模块参数加入到service机制之后,还不能用service机制还不能利用service来开启和关闭等的控制,
这样我们只要关闭刚才开启的mysql服务的3306端口,就是说,先结束mysql再利用service来启动mysql服务
[root@localhost mysql]# netstat -tupln
[root@localhost mysql]# kill 4800
然后再去利用service来启动服务
这样就可以利用service来控制mysql
小结: 真的不熟练,足足写了8个小时 恩恩 但是收获也不少