设为首页 收藏本站
查看: 1034|回复: 0

源码搭建lamp环境

[复制链接]

尚未签到

发表于 2015-8-19 10:41:25 | 显示全部楼层 |阅读模式
  一、编译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
   [iyunv@YYzs LAMP]# rpm -q make
   make-3.81-19.el6.i686
   [iyunv@YYzs LAMP]# rpm -q gcc
   gcc-4.4.4-13.el6.i686
   [iyunv@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源   //的配置文件
   [iyunv@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配置文件移动到其他文件夹
   [iyunv@YYzs LAMP]# mkdir /backup
   [iyunv@YYzs LAMP]# mv /etc/yum.repos.d/CentOS-Base.repo /backup
   [iyunv@YYzs LAMP]#yum install gcc
  3、卸载系统中已有的apache、mysql、php
   //关闭或卸载,因为这可能会照成影响
   [iyunv@YYzs LAMP]# rpm -qa |grep httpd
   httpd-tools-2.2.15-5.el6.centos.i686
   httpd-2.2.15-5.el6.centos.i686
   [iyunv@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
   [iyunv@YYzs LAMP]# rpm -qa |grep php
   [iyunv@YYzs LAMP]# yum remove httpd
   [iyunv@YYzs LAMP]# yum remove mysql
  4、关闭SElinux、禁用iptables
   vi /etc/sysconfig/selinux
   //将SELINUX=enforcing修改为disabled然后重启生效
   [iyunv@YYzs LAMP]# chkconfig iptables off
   //关闭防火墙
  5.解压安装文件
   //由于源码包太多因此可以写一个小的shell脚以方便解压,如果下载的源码包版本不一样记得修改一   下,或一个一个的安装也可以。
   [iyunv@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
   [iyunv@YYzs LAMP]# sh -x tar.sh
  二、正式安装
  //安装原则是按照apache、mysql、php的顺序安装,所需的库文件可以最先安装,由于安装软件太多因此
//在这里还是以脚本的方式安装
[iyunv@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 &
[iyunv@YYzs mysql-5.0.41]# ps -ef | grep myssqld
[iyunv@YYzs mysql-5.0.41]# netstat -an |grep 3306
查看进程以及mysql监听的3306端口是否工作来看是否启动成功
[iyunv@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
  //执行安装脚本
[iyunv@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加速引擎
[iyunv@YYzs lamp]# cd ZendOptimizer-3.2.6-linux-glibc21-i386
[iyunv@YYzs ZendOptimizer-3.2.6-linux-glibc21-i386]# ./install.sh
  //安装phpMyAdmain
[iyunv@YYzs lamp]# cp -a /lamp/phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
[iyunv@YYzs phpmyadmin]# cp config.sample.inc.php config.inc.php
[iyunv@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
补充了安装。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-101042-1-1.html 上篇帖子: CentOS5.3下搭建LAMP(php运行环境:CentOS5.3+Apache2.2+mysql+php)附centos5.3镜像 下篇帖子: CentOS5.5使用yum来安装LAMP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表