源代码搭建Lamp

搭建环境 Red Hat Enterprise Linux 5.3
 
确保以下包已被安装(前三个必须):
  Development Libraries 开发库
  Development Tools 开发工具
  Legacy Software Development 老的软件开发
  X Software Development  X 软件开发
  GNOME Software Devleopment  GNOME 软件开发
  KDE Software Development KDE 软件开发

 

需要的软件包:
  httpd-2.2.19.tar.bz2

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

  php-5.3.7.tar.bz2

 

步骤:
 
安装mysql
 
[root@localhost local]# tar -zxvf /root/mysql-5.5.15-linux2.6-i686.tar.gz 解压软件包

 

[root@localhost ~]# cd /usr/local
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql  做软链接
[root@localhost local]# ll
总计 76
drwxr-xr-x  2 root root 4096 2008-08-08 bin
drwxr-xr-x  2 root root 4096 2008-08-08 etc
drwxr-xr-x  2 root root 4096 2008-08-08 games
drwxr-xr-x  2 root root 4096 2008-08-08 include
drwxr-xr-x  2 root root 4096 2008-08-08 lib
drwxr-xr-x  2 root root 4096 2008-08-08 libexec
lrwxrwxrwx  1 root root   26 03-18 21:44 mysql -> mysql-5.5.15-linux2.6-i686
drwxr-xr-x 13 root root 4096 03-18 21:58 mysql-5.5.15-linux2.6-i686
drwxr-xr-x  2 root root 4096 2008-08-08 sbin
drwxr-xr-x  4 root root 4096 03-05 20:18 share
drwxr-xr-x  2 root root 4096 2008-08-08 src

 

[root@localhost mysql]# vim INSTALL-BINARY 查看安装步骤

[root@localhost local]# cd mysql
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -M -g mysql mysql

 

[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql  做初始化
[root@localhost mysql]# chown -R root .   初始化之后改回权限
[root@localhost mysql]# chown -R mysql data    data所有者依然是mysql
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf mysql配置文件拷过来

 

[root@localhost mysql-5.5.15-linux2.6-i686]# bin/mysqld_safe --user=mysql & 在后台启动mysql

 

[root@localhost mysql]# netstat -tupln |grep mysql 查看监听端口,表示已经启动成功
tcp        0      0 :::3306                     :::*                        LISTEN      5298/mysqld  
     
[root@localhost mysql]# vim /etc/profile 修改系统搜索变量,定义搜索路径

[root@localhost mysql]# . /etc/profile 重新读取
[root@localhost mysql]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/mysql/bin

 

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld  设置启动配置文件

 

[root@localhost mysql]# chkconfig --add mysqld  将服务加入chkconfig控制之列
[root@localhost mysql]# chkconfig --list |grep mysql
mysqld          0: 关闭   1: 关闭   2: 启用   3: 启用   4: 启用   5: 启用   6: 关闭
此后可以用 service mysqld 来管理mysqld服务

 

将头文件和库文件连接到系统默认的位置:
[root@localhost mysql]# cd /usr/include  在这个目录下建链接
[root@localhost include]# ln -s /usr/local/mysql/include mysql

 

[root@localhost include]# cd /etc/ld.so.conf.d/
 [root@localhost ld.so.conf.d]# vim mysqld.conf
/usr/local/mysql/lib

测试是否成功导入
[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
        libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
 
 
安装apache
 
[root@localhost ~]# tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/local/src 解压
[root@localhost src]# cd /usr/local/src/httpd-2.2.19/
[root@localhost httpd-2.2.19]# ls 
可以看到有个configure可执行文件,说明该软件包是未编译的原文件
ABOUT_APACHE  config.layout  httpd.spec      LICENSE        README.platforms
acinclude.m4  configure      include         Makefile.in    README-win32.txt
Apache.dsw    configure.in   INSTALL         Makefile.win   ROADMAP
build         docs           InstallBin.dsp  modules        server
BuildAll.dsp  emacs-style    LAYOUT          NOTICE         srclib
BuildBin.dsp  httpd.dep      libhttpd.dep    NWGNUmakefile  support
buildconf     httpd.dsp      libhttpd.dsp    os             test
CHANGES       httpd.mak      libhttpd.mak    README         VERSIONING

 

[root@localhost httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-ssl --with-z --enable-so
其中:
--prefix=/usr/local/apache(定义安装目录)
--sysconfdir=/etc/httpd(配置文件目录) 
--enable-ssl(启用ssl
--with-z(使用特殊的库文件)  
--enable-so(支持dos模块)

 

编译
[root@localhost httpd-2.2.19]# make
[root@localhost httpd-2.2.19]# make install  把编译好的文件存放到相应的位置

 

 [root@localhost apache]# cd /usr/local/apache/htdocs
[root@localhost htdocs]# ll
总计 4
-rw-r--r-- 1 root root 44 2004-11-21 index.html

 

[root@localhost apache]# bin/apachectl start  启动httpd服务
[root@localhost apache]# netstat -tupln |grep httpd  查看监听端口
tcp        0      0 :::80                       :::*                        LISTEN      21875/httpd     

 

[root@localhost apache]# vim /etc/profile 修改系统搜索变量,定义搜索路径

 
[root@localhost apache]# . /etc/profile
[root@localhost apache]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/apache/bin

 

将头文件和库文件连接到系统默认的位置:
[root@localhost apache]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/apache/include httpd

 

[root@localhost include]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim httpd.conf
/usr/local/apache/lib

 

测试是否成功导入:
[root@localhost ld.so.conf.d]# ldconfig -v |grep apache
/usr/local/apache/lib:

 

 

安装php
 
[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/ 解压
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# ll
总计 8
drwxr-xr-x 12 lu   lu   4096 03-18 23:14 httpd-2.2.19
drwxr-xr-x 13 1000 1000 4096 2011-08-17 php-5.3.7
[root@localhost src]# cd php-5.3.7/
[root@localhost php-5.3.7]# ./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

其中: 

--prefix=/usr/local/php(表明安装位置)
--with-apxs2=/usr/local/apache/bin/apxs(将php编译成apache的模块 允apacheapxx调用该模块)
--with-mysql=/usr/local/mysql (表明mysql安装位置)
--with-mysqli=/usr/local/mysql/bin/mysql_config (调用mysql的接口)
--enable-mbstring=all (表明支持字符集)

 

编译
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
[root@localhost php-5.3.7]# vim /etc/httpd/httpd.conf

[root@localhost php-5.3.7]# apachectl stop
[root@localhost php-5.3.7]# apachectl start

 

[root@localhost php-5.3.7]# cd /usr/local/apache/htdocs/
[root@localhost htdocs]# ll
总计 4
-rw-r--r-- 1 root root 44 2004-11-21 index.html
[root@localhost htdocs]# mv index.html index.php
[root@localhost htdocs]# vim index.php

 

调用php
root@localhost htdocs]# vim index.php

mysql连接:
root@localhost htdocs]# vim index.php