源码搭建lamp环境
一、編譯LAMP前的準備工作
1、下載用到的源碼包
zlib http://www.zlib.org
php http://www.php.net/downloads.php
ncurses http://ftp.gnu.org/pub/gnu/ncurses/
mysql http://download.mysql.cn/
libxml2 http://xmlsoft.org/downloads.html
libpng http://www.libpng.org/pub/png/libpng.html
libmcrypt http://freecode.com/projects/libmcrypt
jpeg6 http://lfs.linuxsir.org/htdocs/blfscvs/general/libjpeg.html
httpd http://httpd.apache.org/
gd http://www.boutell.com/gd/
freetype http://www.freetype.org/download.html
autoconf http://www.gnu.org/software/autoconf/
2、準備編譯所需的工具 gcc、gcc-c++、make
[root@YYzs LAMP]# rpm -q make
make-3.81-19.el6.i686
[root@YYzs LAMP]# rpm -q gcc
gcc-4.4.4-13.el6.i686
[root@YYzs LAMP]# rpm -q gcc-c++
gcc-c++-4.4.4-13.el6.i686
//可以看到編譯軟件已經安裝,如果未安裝可用yum或掛載鏡像安裝盤利用rpm包安裝
//如果覺得依賴問題麻煩且不能上網可把鏡像盤作為yum源來安裝
***以鏡像盤做yum源的配置方法如下:***
//yum的配置文件中CentOS-Base.repo 是互聯網用的基礎配置文件 CentOS-Media.repo是光盤yum源 //的配置文件
[root@YYzs LAMP]# vi /etc/yum.repos.d/CentOS-Media.repo
//這時將enable=0改為1表示啟用此功能
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
//這是表示設置光盤所在位置,如位置不同科在缺省位置上修改
//然后將/etc/yum.repos.d/CentOS-Base.repo配置文件移動到其他文件夾
[root@YYzs LAMP]# mkdir /backup
[root@YYzs LAMP]# mv /etc/yum.repos.d/CentOS-Base.repo /backup
[root@YYzs LAMP]#yum install gcc
3、卸載系統中已有的apache、mysql、php
//關閉或卸載,因為這可能會照成影響
[root@YYzs LAMP]# rpm -qa |grep httpd
httpd-tools-2.2.15-5.el6.centos.i686
httpd-2.2.15-5.el6.centos.i686
[root@YYzs LAMP]# rpm -qa |grep mysql
mysql-libs-5.1.47-4.el6.i686
mysql-5.1.47-4.el6.i686
mysql-devel-5.1.47-4.el6.i686
[root@YYzs LAMP]# rpm -qa |grep php
[root@YYzs LAMP]# yum remove httpd
[root@YYzs LAMP]# yum remove mysql
4、關閉SElinux、禁用iptables
vi /etc/sysconfig/selinux
//將SELINUX=enforcing修改為disabled然后重啟生效
[root@YYzs LAMP]# chkconfig iptables off
//關閉防火墻
5.解壓安裝文件
//由于源碼包太多因此可以寫一個小的shell腳以方便解壓,如果下載的源碼包版本不一樣記得修改一 下,或一個一個的安裝也可以。
[root@YYzs LAMP]# vi tar.sh
#!/bin/bash
cd /tmp/LAMP
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
tar -zxf $TAR
done
[root@YYzs LAMP]# sh -x tar.sh
二、正式安裝
//安裝原則是按照apache、mysql、php的順序安裝,所需的庫文件可以最先安裝,由于安裝軟件太多因此
//在這里還是以腳本的方式安裝
[root@YYzs LAMP] vi lamp.sh
#!/bin/bash
###安裝php庫文件###
cd /tmp/LAMP/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/
make
make install
cd /tmp/LAMP/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make
make install
cd /tmp/LAMP/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make
make install
cd /tmp/LAMP/zlib-1.2.3
./configure
make
make install
cd /tmp/LAMP/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
#指定jpeg6安裝目錄
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 /tmp/LAMP/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
cd /tmp/LAMP/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
cd /tmp/LAMP/autoconf-2.61
./configure
make
make install
cd /tmp/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 /tmp/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
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit
###安裝mysq###
#編譯mysql前要先安裝否則可能會報錯
cd /tmp/LAMP/ncurses-5.6
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
groupadd mysql
useradd -g mysql mysql
cd /tmp/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
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@YYzs mysql-5.0.41]# ps -ef | grep myssqld
[root@YYzs mysql-5.0.41]# netstat -an |grep 3306
查看進程以及mysql監聽的3306端口是否工作來看是否啟動成功
[root@YYzs mysql-5.0.41]# /usr/local/mysql/bin/mysql -u root 設置mysql的root密碼
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('yyzs');
mysql> exit
cp /tmp/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
ls -l /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
#將系統啟動級別為245時設為不啟動mysql
chkconfig --levels 245 mysqld off
###安裝php###
cd /tmp/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
#拷貝配置文件
cp php.ini-dist /usr/local/php/etc/php.ini
#使apache能解析php
echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
/usr/local/apache2/bin/apachectl restart
//執行安裝腳本
[root@YYzs LAMP]# sh -x lamp.sh
//在重啟apache時出現錯誤httpd: Could not reliably determine the server's fully qualified //domain name
//解決方法是將/etc/httpd/httpd.conf 文件中的#ServerName 前的#去掉就好了
三、安裝優化與管理工具
//安裝Zend加速引擎
[root@YYzs lamp]# cd ZendOptimizer-3.2.6-linux-glibc21-i386
[root@YYzs ZendOptimizer-3.2.6-linux-glibc21-i386]# ./install.sh
//安裝phpMyAdmain
[root@YYzs lamp]# cp -a /lamp/phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
[root@YYzs phpmyadmin]# cp config.sample.inc.php config.inc.php
[root@YYzs phpmyadmin]# vi config.inc.php
//更改認證方式將['auth_type'] = 'cookie' 改為'http'
四、測試apache是否正常工作以及是否能正常解析php
1.在windows xp 下的ie瀏覽器中輸入:192.168.1.107 回車,顯示為:it works, 表示apache正常工作
2. vi /usr/local/apache2/htdocs/info,php
<?
phpinfo();
?>
此時在windows xp的ie瀏覽器輸入:http://192.168.1.107/info.php 顯示的是php的信息界面,說明 apache正常解析了php
注:在裝php時出現了問題,先用make test來試探就出問題了。
報錯:
usr/local/src/php-5.2.6/sapi/cli/php: error while loading shared libraries:libltdl.so.3
分析了日志,網查查了下發現php5.2.6版本打開了cli功能,所以最后,用yum install libtool-libs或yum install libtool-ltdl-devel
補充了安裝。
轉載于:https://www.cnblogs.com/YYzs/archive/2012/06/14/2549113.html
總結
以上是生活随笔為你收集整理的源码搭建lamp环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “劣质”的PHP代码简化
- 下一篇: oracle 函数 如何编写