天天看點

源碼安裝LAMP

本文教你如何從源碼安裝LAMP環境

export PREFIX=/usr/local/lamp

(1).Zlib

    tar xvf zlib-1.2.5.tar.bz2

    cd zlib-1.2.5

    ./configure --prefix=${PREFIX}/zlib

    make && make install

(2).libjpeg

    tar xvf jpegsrc.v8c.tar.gz

    cd jpeg-8c

    ./configure --prefix=${PREFIX}/libjpeg --with-gnu-ld

     make && make install

(3).FreeType

    tar xvf freetype-2.4.4.tar.bz2

    cd freetype-2.4.4

    ./configure --prefix=${PREFIX}/freetype --with-gnu-ld

(4).libpng

    tar xvf libpng-1.5.1.tar.gz

    cd libpng-1.5.1

    ./configure --prefix=${PREFIX}/libpng --with-zlib-prefix=${PREFIX}/zlib

(5).expat

    tar xvf expat-2.0.1.tar.gz

    cd expat-2.0.1

    ./configure --prefix=${PREFIX}/expat

(5-1).libiconv

    tar xvf libiconv.tar.gz

    cd libiconv

    ./configure --prefix=${PREFIX}/libiconv

(5-2).autoconf

    tar xvf autoconf.tar.gz

    cd autoconf

    ./configure --prefix=${PREFIX}/autoconf

(6).gd

    tar xvf gd-2.0.35.tar.gz

    cd gd-2.0.35

    ./configure --prefix=${PREFIX}/gd --with-gnu-ld  --with-png=${PREFIX}/libpng \

    --with-freetype=${PREFIX}/freetype --with-jpeg=${PREFIX}/libjpeg  \

    --with-libiconv-prefix=${PREFIX}/libiconv

(7).libxml

    tar xvf libxml2-sources-2.7.8.tar.gz

    cd libxml2-2.7.8

    ./configure --prefix=${PREFIX}/libxml --with-zlib=${PREFIX}/zlib \

    --with-iconv=${PREFIX}/libiconv

(8).libmcrypt

    tar xvf libmcrypt-2.5.8.tar.gz

    cd libmcrypt-2.5.8

    ./configure --prefix=${PREFIX}/libmcrypt --enable-static=yes --enable-dynamic-loading

    make && make install

(9).cronolog

    tar xvf cronolog.tar.gz

    cd cronolog   

    ./configure --prefix=${PREFIX}/cronolog

(10).openssl

    tar xvf openssl-1.0.0d.tar.gz

    cd openssl-1.0.0d

    ./config --prefix=${PREFIX}/openssl --openssldir=${PREFIX}/openssl shared

    echo "${PREFIX}/openssl/lib">>/etc/ld.so.conf

(11).openssh

    tar xvf openssh-5.8p1.tar.gz

    cd openssh-5.8p1

    ./configure --prefix=${PREFIX}/openssh -with-zlib=${PREFIX}/zlib --with-md5-passwords \

    --with-mantype=man --with-ssl-dir=${PREFIX}/openssl -with-ssl-engine \

    --with-Werror

(12).pcre

    tar xvf pcre-8.12.tar.bz2

    cd pcre-8.12

    ./configure --prefix=${PREFIX}/pcre --enable-pcregrep-libz

(12-1).openssl-0.98

    tar xvf openssl-0.98.tar.gz

    cd openssl-0.98

    ./config --prefix=${PREFIX}/openssl0.98 --openssldir=${PREFIX}/openssl0.98 shared

(13).mysql

    tar xvf mysql-5.0.22.tar.gz

    cd mysql-5.0.22   

    groupadd mysql

    useradd -g mysql -M mysql

    ./configure --prefix=${PREFIX}/mysql --enable-assembler --enable-local-infile \

    --enable-thread-safe-client --with-charset=utf8 --with-extra-charsets=all \

    --with-mysqld-user=mysql --with-zlib-dir=${PREFIX}/zlib --with-comment \

    --with-openssl=${PREFIX}/openssl0.98 --with-big-tables

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

    cd ${PREFIX}/mysql

    bin/mysql_install_db --user=mysql

    chown -R root  .

    chown -R mysql var

    chgrp -R mysql .

    #啟動mysqld伺服器

    bin/mysqld_safe --user=mysql &

    bin/mysqladmin -u root password "root"

    cp -v ${PREFIX}/mysql/share/mysql/mysql.server /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

(14).Apache

    tar xvf httpd-2.3.11-beta.tar.gz

    cd httpd-2.3.11-beta

    ./configure --prefix=${PREFIX}/apache --enable-modules=all \

    --enable-mods-shared=most --enable-so --with-pcre=${PREFIX}/pcre \

    --with-z=${PREFIX}/zlib --with-ssl==${PREFIX}/openssl --enable-ssl \

    --enable-cgi --enable-rewrite=shared --enable-vhost-alias --enable-static-support \

    --disable-userdir --enable-mime-magic

    cp -v ${PREFIX}/apache/bin/apachectl /etc/init.d/httpd

    chmod -R 755 ${PREFIX}/apache/htdocs

(15).php

    tar xvf php-5.3.5.tar.bz2

    cd php-5.3.5

    ./buildconf --force

    ./configure --prefix=${PREFIX}/php --with-config-file-path=${PREFIX}/php/etc \

    --with-mysql=${PREFIX}/mysql --with-mysqli=${PREFIX}/mysql/bin/mysql_config \

    --with-iconv-dir=${PREFIX}/libiconv  --with-freetype-dir=${PREFIX}/freetype \

    --with-jpeg-dir=${PREFIX}/libjpeg  --with-png-dir=${PREFIX}/libpng --with-zlib-dir=${PREFIX}/zlib \

    --with-libxml-dir=${PREFIX}/libxml --enable-xml --enable-magic-quotes --enable-safe-mode \

    --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl \

    --with-curlwrappers --with-gettext --with-mhash --enable-pcntl --enable-sockets \

    --with-xmlrpc --enable-zip --enable-soap --enable-mod-charset --with-apxs2=${PREFIX}/apache/bin/apxs \

    --with-openssl=${PREFIX}/openssl --with-pcre-regex=${PREFIX}/pcre --with-zlib=${PREFIX}/zlib  \

    --with-mcrypt=${PREFIX}/libmcrypt

    mkdir -p ${PREFIX}/php/etc

    cp php.ini-development ${PREFIX}/php/etc/php.ini

    echo "Addtype application/x-httpd-php .php .phtml" >> ${PREFIX}/apache/conf/httpd.conf

(15-1).若開啟SELINUX則如下操作

[1].關閉SELINUX

    sed -i -e "s@SELINUX=enforcing@SELINUX=disabled@" /etc/selinux/config

[2].不關閉SELINUX

    setenforce 0

    chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t ${PREFIX}/apache/modules/libphp5.so

    setenforce 1

(15-2).配置httpd.conf

sed -i -e "s|ServerAdmin [email protected]|ServerAdmin $(hostname)|" ${PREFIX}/apache/conf/httpd.conf

sed -i -e "s|ServerName www.example.com:80|ServerName localhost:80|" ${PREFIX}/apache/conf/httpd.conf

sed -i -e "s|DirectoryIndex|DirectoryIndex index.php|" ${PREFIX}/apache/conf/httpd.conf

(16).測試

    echo "<?php phpinfo(); ?>" >${PREFIX}/apache/htdocs/index.php

    chmod 755 ${PREFIX}/apache/htdocs/index.php

    service httpd restart

(17).phpMyAdmin

    tar xvf phpMyAdmin-3.3.10-all-languages.tar.bz2

    cd phpMyAdmin-3.3.10-all-languages

    mv * ${PREFIX}/apache/htdocs

    cd ${PREFIX}/apache/htdocs

    cp config.sample.inc.php config.inc.php