基于gentoo+apache+php+mysql的源码包安装!

由于gentoo的难度太大,初次学习建议使用红帽linux!

lamp编译所需要的软件!

1. libxml2-2.6.30.tar.gz

2. libmcrypt-2.5.8.tar.gz

3. zlib-1.2.3.tar.gz

4. libpng-1.2.31.tar.gz

5. jpegsrc.v6b.tar.gz

6. freetype-2.3.5.tar.gz

7. Autoconf-2.6.1.tar.gz

8. gd-2.0.35.tar.gz

9. httpd-2.2.19.tar.gz

10. php-5.3.6.tar.gz

11. mysql-5.0.22.tar.gz

12. ZendOptimizer330a.tar.gz

13. phpMyAdmin-3.4.2-all-languages.tar.gz(可选)

以上软件的版本是我用的啊!!现在应该有比较新的了呀!!大家可以自己找资源当然需要的也可以给我邮件!

首先解压所有的.tar.gz

使用命令 tar zxvf  *.tar.gz (请用软件名代替 *)

cd libxml2-2.6.30

当然别忘了用root的权限!!

[root@feng libxml2-2.6.30]# ./configure --help`

configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
  --infodir=DIR          info documentation [PREFIX/info]
  --mandir=DIR           man documentation [PREFIX/man]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-shared[=PKGS]
                          build shared libraries [default=yes]
  --enable-static[=PKGS]
                          build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-ipv6[=yes/no]  enables compilation of IPv6 code [default=yes]

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-tags[=TAGS]
                          include additional configurations [automatic]
  --with-c14n             add the Canonicalization support (on)
  --with-catalog          add the Catalog support (on)
  --with-debug            add the debugging module (on)
  --with-docbook          add Docbook SGML support (on)
  --with-fexceptions      add GCC flag -fexceptions for C++ exceptions (off)
  --with-ftp              add the FTP support (on)
  --with-history          add history support to xmllint shell(off)
  --with-html             add the HTML support (on)
  --with-html-dir=path    path to base html directory, default
                          $datadir/doc/html
  --with-html-subdir=path directory used under html-dir, default
                          $PACKAGE-$VERSION/html
  --with-http             add the HTTP support (on)
  --with-iconv[=DIR]      add ICONV support (on)
  --with-iso8859x         add ISO8859X support if no iconv (on)
  --with-legacy           add deprecated APIs for compatibility (on)
  --with-mem-debug        add the memory debugging module (off)
  --with-minimum          build a minimally sized library (off)
  --with-output           add the serialization support (on)
  --with-pattern          add the xmlPattern selection interface (on)
  --with-push             add the PUSH parser interfaces (on)
  --with-python[=DIR]     build Python bindings if found
  --with-reader           add the xmlReader parsing interface (on)
  --with-readline=DIR     use readline in DIR
  --with-regexps          add Regular Expressions support (on)
  --with-run-debug        add the runtime debugging module (off)
  --with-sax1             add the older SAX1 interface (on)
  --with-schemas          add Relax-NG and Schemas support (on)
  --with-schematron       add Schematron support (on)
  --with-threads          add multithread support(on)
  --with-thread-alloc     add per-thread memory(off)
  --with-tree             add the DOM like tree manipulation APIs (on)
  --with-valid            add the DTD validation support (on)
  --with-writer           add the xmlWriter saving interface (on)
  --with-xinclude         add the XInclude support (on)
  --with-xpath            add the XPATH support (on)
  --with-xptr             add the XPointer support (on)
  --with-modules          add the dynamic modules support (on)
  --with-zlib[=DIR]       use libz in DIR

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
              headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  F77         Fortran 77 compiler command
  FFLAGS      Fortran 77 compiler flags

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
当然这些你都不需要全懂的!!不过你还是慢慢学会看懂这些比较好!

[root@feng libxml2-2.6.30]#./configure --prefix=/uar/local/linxml2

(指定安装目录,你可以随便指定!)

如果没有提示错误就可以继续了

[root@feng libxml2-2.6.30]#make && make install

.............................................................

如果没有提示错误继续!

[root@feng libxml2-2.6.30]#cd ../libmcrypt-2.5.8

[root@feng libmcrypt-2.5.8]#./configure --prefix=/usr/local/libmcrpt

[root@feng libmcrypt-2.5.8]#make && make install

[root@feng libmcrypt-2.5.8]#cd ../zlib-1.2.3

[root@feng zlib-1.2.3]# ./configure --prefix=/usr/local/zlib

[root@feng zlib-1.2.3]# make && make install

[root@feng zlib-1.2.3]# cd  ../libpng-1.5.4

[root@feng libpng-1.5.4]# ./configure --prefix=/usr/local/libpng

[root@feng libpng-1.5.4]# make && make install

[root@feng libpng-1.5.4]# cd ../jpeg-6b

[root@feng jpeg-6b]#这个安装比较麻烦点!

1. mkdir  /usr/local/jpeg6

2. mkdir /usr/local/jepg6/bin

3. mkdir /usr/local/jepg6/lib

4. mkdir /usr/local/jepg6/include

5. mkdir -p /usr/local/jepg6/man/man1

[root@feng jpeg-6b]#./configure --prefix=/usr/local/jpeg6/ \(注意:\前必须有以空格)

> --enable-shared \

> --enable-static

[root@feng jpeg-6b]#make && make install

[root@feng jpeg-6b]#cd ../freetype-2.4.5

[root@feng freetype-2.4.5]# ./configure --prefix=/usr/local/freetype

[root@feng freetype-2.4.5]# make && make install

[root@feng freetype-2.4.5]#cd ../autoconf-2.61/

[root@feng autoconf-2.61]# ./configure --prefix=/usr/local/autoconf

[root@feng autoconf-2.61]# make && make install

[root@feng autoconf-2.61]# cd ../gd-2.0.35/

[root@feng gd-2.0.35]# ./configure --prefix=/usr/local/gd \

>--with-zlib=/usr/local/zlib/ \

>--with-jpeg=/usr/local/jpeg6/ \

>--with-png=/usr/local/libpng/ \

>--with-freetype=/usr/local/freetype/

[root@feng gd-2.0.35]#make && make install

[root@feng gd-2.0.35]# cd ../httpd-2.2.19/

[root@feng httpd-2.2.19]# ./configure --prefix=/usr/local/apache2/ \

>--sysconfdir=/etc/httpd \

>--with-z=/usr/local/zlib/ \

>--with-included-apr \

>--enable-so \

>--enable-deflate=shared \

>--enable-expires=shared \

>--enable-rewrite=shared \

>--enable-static-support

[root@feng httpd-2.2.19]#make && make install

测试apache,如果你的一切顺利地话你就应该看到

[root@feng php-5.3.6]# ls /usr/local/apache2
bin      error   include  man
build    htdocs  lib      manual
cgi-bin  icons   logs     modules

apache的配置文件在/etc/httpd/httpd.conf

使用apachectl start
 启动apache!用netstat -tnl

tcp        0      0 :::80                       :::*                        LISTEN

一切ok

[root@feng httpd-2.2.19]# cd ../mysql-5.0.22/
[root@feng mysql-5.0.22]#./configure --prefix=/usr/local/mysql \

>--with-extra-charsets=all

[root@feng mysql-5.0.22]#make  && make install

[root@feng mysql-5.0.22]#ls /usr/local/mysql

bin      info  libexec  mysql-test  sql-bench
include  lib   man      share

[root@feng mysql-5.0.22]# cd /usr/local/mysql/bin

[root@feng bin]# ls | grep mysql_install_db
mysql_install_db
[root@feng bin]# ./mysql_install_db

[root@feng bin]# ls ../
bin      info  libexec  mysql-test  sql-bench
include  lib   man      share       var
有var目录产生一切ok!!最好增加一个用户管理mysql!!

[root@feng mysql-5.0.22]#cd ../php-5.3.6/

[root@feng php-5.3.6]# ./configure --prefix=/usr/local/php \

>--with-config-file-path=/usr/local/php/etc \

>--with-apxs2=/usr/local/apache2/bin/apxs \

>--with-mysql=/usr/local/mysql/ \

>--with-libxml-dir=/usr/local/libxml/ \

>--with-png-dir=/usr/local/libpng/  \

>--with-jpeg-dir=/usr/local/jpeg6/  \

>--with-freetype-dir=/usr/local/freetype/  \

>--with-gd=/usr/local/gd2/ \

>--with-zlib-dir=/usr/local/zlib/ \

>--with-mcrypt=/usr/local/libmcrypt/ \

>--with-mysqli=/usr/local/mysql/bin/mysql_config \

>--enable-soap \

>--enable-mbstring=all \

>--enable-sockets

[root@feng php-5.3.6]#make && make install

[root@feng php-5.3.6]#cd ../ZendOptimizer-3.3.0a-linux-glibc21-i386

[root@feng ZendOptimizer-3.3.0a-linux-glibc21-i386]# ./install.sh 

按步骤来就可以了呀!!最后一个是web管理数据库的管理工具!!