編譯安裝lamp環境
php
安裝前的準備工做能夠先把selinux禁用,而後用iptables -F將防火牆規則所有刪除html
首先確保 gcc gcc-c++ make是否安裝mysql
通常 make是安裝了的 可是 gcc 和gcc-c++是沒安裝linux
首先先載入CentOS的光盤 而後進入 CentOS目錄c++
rpm -ivh gcc-4.1.2-48.el5.i386.rpm 安裝GCC 可是會有依賴關係 沒法安裝sql
咱們能夠用 yum install gcc數據庫
而後安裝 yum install gcc-c++ 基本環節都準備好了 apache
./configure選項windows
--enable-shared指編譯後會連接成共享對象(.so文件,或者按照windows的說法稱之爲動態連接庫(dll)app
--enable-static:生成靜態連接庫
--enable-shared:生成動態連接庫
--prefix:指定安裝路徑 DEMO: --prefix=/usr/local/ibxml2/
若是不想卸載apache 能夠先中止掉
serivce httpd status 中止apache
卸載apache
yum remove httpd
卸載mysql
yum remove mysql
一、解包
先把全部的tar包放在lamp 目錄裏面
而後寫個腳本批量解壓
#! /bin/sh
# tar
ls *.tar.gz > ls.list
for tar in `cat ls.list`
do
tar -zxf $tar
done
若是編譯錯了,要從新編輯 首先把安裝目錄刪除掉,而後把tar解壓縮好的目錄也刪除掉,最後從新解壓
若是是apache 先把進程給kill掉 而後刪除文件
編譯基本流程============================
二、配置config
./configure 配置
3.make 編譯過程
4.make install 安裝 拷貝
====================================
正式編譯
先編譯配置 php須要用的 libxml2-2.6.30.tar.gz
進入目錄 執行安裝目錄 ./configure --prefix=/usr/local/libxml2/
而後 make 編譯
而後 make install 就行了
編譯 libmcrypt-2.5.8
進入 libmcrypt-2.5.8目錄
./configure --prefix=/usr/local/libmcrypt/
make 編譯 甚至 能夠 make ; make install 直接執行 2個命令 或者 make && make install make執行成功了 就install
make install
編譯 libmcrypt-2.5.8/libltdl
cd /lamp/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make
make install
編譯 zlib 不指定安裝路徑 否則容易出錯
cd /lamp/zlib-1.2.3
./configure
make
make install
編譯 php的圖片庫文件 libpng
cd /lamp/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
編譯 jpeg-6b 要本身建立目錄
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
cd /lamp/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
編譯安裝 freetype
cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
編譯安裝 autoconf 不指定安裝目錄
cd /lamp/autoconf-2.61
./configure
make
make install
編譯安裝 GD庫 須要用到前面庫文件指定的安裝路徑
cd /lamp/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
make
make install
安裝apache
cd /lamp/httpd-2.2.9
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make
make install
啓動apache
/usr/local/apache2/bin/apachectl start
設置apache開機自啓動
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit
繼續編譯
這個是mysql的編譯工具 必須先安裝一下
cd /lamp/ncurses-5.6
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
安裝mysql
首先添加mysql的用戶和組
groupadd mysql
useradd -g mysql mysql
而後安裝mysql
cd /lamp/mysql-5.0.41
指定安裝目錄 指定支持全部字符集
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
make
make install
生成一下mysql的配置文件
cp support-files/my-medium.cnf /etc/my.cnf
建立mysql數據庫的受權表
/usr/local/mysql/bin/mysql_install_db --user=mysql
改變mysql目錄的全部者和所屬組
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
啓動mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
把mysql自啓動腳本拷貝到 自啓動腳本目錄
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off
安裝php
cd /lamp/php-5.2.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/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
make
make install
新建phpini文件
cp php.ini-dist /usr/local/php/etc/php.ini
讓apache支持php
echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
重啓apache
/usr/local/apache2/bin/apachectl restart