运用源码安装lamp

 
安装源码的步骤

 
1.       执行源码

 
./configure –prefix –指明安装路径

 
--sysconfdir  --存放配置文件的目录

 
(--help) –帮助文档

 
2.       编译Make

 
3.       安装Make install

 
安装所需软件

 
软件下载

 
http://www.mysql.com

 
mysql community server 5.5 –s社区版

 
linux-Generic 2.6(x86,32-bit),compressed TAR Archive

 
(mysql-5.5.15-linux2.6-i686.tar.gz)

 
http://www.apache.org

 
apache http server

 
http://www.php.net

 
软件包:

 
httpd-2.2.19.tar.bz2

 
mysql-5.5.15-linux2.6-i686.tar.gz

 
php-5.3.7.tar.bz2

 
[root@localhost ~]# vim /etc/sysconfig/network

 
HOSTNAME=server1.example.com                                

 
         

 
[root@localhost ~]# service network restart

 
2.编译环境

 
安装gcc glib 包含着开发工具中

 
Development Tools --开发工具

 
Legacy Software Development  -- 传统软件开发工具

 
Development Libraries –开发工具库

 
Java development –源代码基于java

 
如果是图形的软件包

 
Kde环境需要安装:

 
Kde software development 

 
Gnome环境需要安装:

 
Gnome software development

 
X software development

 
# mount /dev/cdrom /mnt/cdrom 

 
# cd /mnt/cdrom/Server

 
# yum grouplist

 
# yum groupinstall " Development Tools "

 
# yum groupinstall "Java Development"

 
删除已经安装过的包及安装产生的文件

 
1扩展的查询

 
[root@lamp Server]# rpm -qa |grep -E "http|php|mysql"     

 
–查看包是否已经安装

 
--源码安装需要卸载,安装全新的

 
# yum remove httpd

 
# yum remove mysql

 
# yum remove php-common-5.1.6-23.el5

 
2删除已安装产生的配置文件

 
[root@lamp Server]# cd /etc/httpd

 
[root@lamp httpd]# rm -fr *

 
安装mysql

 
导入httpd-2.2

 
Mysql-5.5.15

 
Php-5.3.7

 
Php要安装在最后。

 
安装绿色版mysql

 
[root@lamp ~]# cd /usr/local/       --存放额外的安装包的目

 

 
[root@lamp software]# tar -zxvf mysql-5.5.15-linux2.6-

 
i686.tar.gz -C /usr/local/

 
--做链接

 
[root@lamp local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql

 
--安装步骤信息

 
[root@lamp local]# more mysql/INSTALL-BINARY   --查看帮助文

 

 
  To install and use a MySQL binary distribution, the basic 

 
command

 
   sequence looks like this:

 
shell> groupadd mysql         --建立用户组

 
shell> useradd -r -g mysql mysql            --建立(-r)系统

 
账户(-g)属于mysql组

 
shell> cd /usr/local

 
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

 
shell> ln -s full-path-to-mysql-VERSION-OS mysql

 
shell> cd mysql

 
shell> chown -R mysql .  –改变所有文件属组为mysql

 
shell> chgrp -R mysql . –改变所有组的属组为mysql

 
shell> scripts/mysql_install_db --user=mysql –生成初始库

 
shell> chown -R root . –改回来所有者所属组

 
shell> chown -R mysql data –改变data用户

 

 
shell> cp support-files/my-medium.cnf /etc/my.cnf  --生成配

 
置脚本

 
shell> bin/mysqld_safe --user=mysql &

 

 
shell> cp support-files/mysql.server 

 
/etc/init.d/mysql.server

 
[root@lamp local]# groupadd mysql

 
groupadd: group mysql exists

 
[root@lamp local]# useradd -r -g mysql –s /sbin/nologin –

 
M mysql –没有家目录不准登陆

 
useradd: user mysql exists

 
[root@lamp local]# cd mysql 

 
[root@lamp mysql]# chown -R mysql .

 
[root@lamp mysql]# chgrp -R mysql .

 
---# chown -R mysql:mysql . 

 
[root@lamp mysql]# scripts/mysql_install_db --user=mysql –

 
生成初始的库

 
Installing MySQL system tables...

 
OK

 
Filling help tables...

 
OK

 
[root@lamp mysql]# chown -R root .

 
[root@lamp mysql]# chown -R mysql data    

 
[root@lamp mysql]# cp support-files/my-medium.cnf  

 
/etc/my.cnf

 
--生成服务的配置脚本

 
[root@lamp mysql]# bin/mysqld safe --user=mysql&

 
[root@lamp mysql]# cp support-files/mysql.server 

 
/etc/init.d/mysqld

 
--生成服务的启动脚本service mysqld start

 

 
更改库文件

 
标准库文件存放目录

 
/lib

 
/usr/lib

 
/usr/local/lib

 
库文件存放三个文件里系统会自动找到

 
#vim /etc/ld.so.conf

 
include ld.so.conf.d/*.conf

 
--定义不标准软件包安装的库文件存放位置

 
[root@server1 mysql]# cd /etc/ld.so.conf.d/

 
--创建新的库文件路径指向文件

 
[root@server1 ld.so.conf.d]# vim mysql.conf

 
/usr/local/mysql/lib

 
[root@server1 ld.so.conf.d]# ldconfig -v |grep mysql

 
/usr/local/mysql/lib:

 
        libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0

 
[root@server1 ld.so.conf.d]# --从新加载库文件

 
更改头文件

 
-头文件存放位置

 
/usr/include

 
/usr/local/include

 
#cd /usr/include

 
#ln –s /usr/local/mysql/include mysql

 
--chkconfig管理mysqld服务

 
#chkconfig --add mysqld

 
#chkconfig --list |grep mysql

 
# vim /etc/init.d/mysqld

 
# chkconfig: 2345 64 36

 
--启动优先级序列号是 64 被杀死的号是36

 

 
#ll   /etc/rc3.d |grep mysql

 
lrwxrwxrwx 1 root root 16 Oct 13 19:32 S64mysqld -> 

 
../init.d/mysqld

 
[root@server1 rc6.d]# ll |grep mysql

 
lrwxrwxrwx 1 root root 16 Oct 13 19:32 K36mysqld -> 

 
../init.d/mysqld

 
[root@server1 rc3.d]# service mysqld start

 

 

 
安装Apache

 
源代码安装存放位置

 
/usr/src

 
/usr/local/src

 
#tar jxvf httpd-2.2.19.tar.bz2 –C /usr/src

 
#cd /usr/src/httpd-2.2.19/

 
--安装说明文档

 
#less INSTALL

 
     $ ./configure --prefix=PREFIX

 
     $ make

 
     $ make install

 
     $ PREFIX/bin/apachectl start

 
# ./configure --help

 
Configure  --prefix=安装的目录

 
                --sysconfigdir=配置脚本目录

 
                --enble-so 开启dso 动态共享对象

 
                --with-z 使用zlib

 
                --enable-ssl 启用加密

 
检测域编译环境

 
[root@server1 httpd-2.2.19]# ./configure --

 
prefix=/usr/local/apche --sysconfdir=/etc/httpd --enable-so 

 
--with-z --enable-ssl

 
编译 [root@server1 httpd-2.2.19]# make

 
安装 [root@server1 httpd-2.2.19]# make install

 
 #cd /etc/httpd

 
#ll extra/

 
-rw-r--r-- 1 root root  1489 Oct 13 21:29 httpd-vhosts.conf

 
--虚拟主机配置文件

 
#vim extra/httpd-vhosts.conf

 
#cd /usr/local/apche

 
#./bin/apachectl start 

 
开机自动启动

 
 #vim /etc/rc.d/rc.local

 
/usr/local/apche/bin/apachectl start

 
#vim /etc/profile

 
PATH=$PATH:/usr/local/apche/bin

 
修改环境变量,apache任意位置可以启动

 
#. /etc/profile 执行环境变量脚本

 
#echo $PATH

 
#apache stop

 
头文件

 
#cd /usr/include

 
#ln –s /usr/local/apche/include apache

 
#vim apache.conf

 
/usr/local/apche/lib

 
#ldconfig –v |grep apache 读取库文件显示出来

 
[root@server1 ld.so.conf.d]# links http://127.0.0.1

 
                                                            

 
  http://127.0.0.1/

 
                   It works!                                

 
                   

 
Php的源码安装

 
php作为apache的模块被调用

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

 
# cd /usr/src/php-5.3.7/

 
# less INSTALL

 
# ./configure –help

 
--prefix=安装路径

 
--with-apxs2=指明apache调用php模块的工具的路径和名称

 
 --enable-mbstring 字符串支持

 
--with-mysql=指明mysql的路径

 
--with-mysqli=指明mysql_config的路径名称

 
检测编译安装

 
# ./configure --prefix=/usr/local/php --with-

 
apxs2=/usr/local/apche/bin/apxs --enable-mbstring --with-

 
mysql=/usr/local/mysql --with-

 
mysqli=/usr/local/mysql/bin/mysql_config

 
# make

 
#make install

 
# cd /usr/local/apche/htdocs/

 
[root@server1 htdocs]# vim index.html

 
<html><body><h1>It works!

 
<?php

 
phpinfo();

 
?>

 
</h1></body></html>                             

 
[root@server1 htdocs]# mv index.html index.php 

 
[root@server1 htdocs]# vim /etc/httpd/httpd.conf

 
166 <IfModule dir_module>

 
167     DirectoryIndex  index.html index.php

 
168 </IfModule>

 
169 AddType application/x-httpd-php .php

 
--为系统添加可以处理php脚本项

 
[root@server1 htdocs]# apachectl restart

 
 
源码安装lamp_休闲
 

 
54-1
[root@server1 htdocs]# vim index.php
<html><body><h1>It works!
<?php
$link=mysql_connect('127.0.0.1','root');
if($link)
echo "connect success!";
else
echo "failed!"
?>
</h1></body></html>                          
[root@server1 htdocs]# apachectl restart
[root@server1 htdocs]# links http://127.0.0.1                          
  http://127.0.0.1/
                           It works! connect success!