64位CentOS6.3下源码搭建LAMP环境

LAMP环境搭建一直以来都是一件让人头痛的事,网上也有很多与此相关的教程,但是大部分的教程都是在32位下的环境搭建的。真实环境中,用32位的服务器那是相当的少,所以这里将用64位的系统来搭建LAMP环境。

 

会用到的所有组件

1

httpd-2.2.27.tar.gz

2

mysql-5.5.40.tar.gz

3

php-5.4.35.tar.bz2

4

bison-2.0.tar.gz

5

freetype-2.4.0.tar.gz

6

gd-2.0.33.tar.gz

7

gettext-0.16.1.tar.gz

8

jpegsrc.v6b.tar.gz

9

libmcrypt-2.5.7.tar.gz

10

libpng-1.6.14.tar.gz

11

libxml2-2.7.1.tar.gz

12

ncurses.tar.gz

13

zlib-1.2.3.tar.gz

14

memcached-1.4.17.tar.gz

15

memcache-2.2.7.tgz

 

将所有组件复制到/root/lamp目录下。

[root@localhost lamp]# ll
总用量 64932
-rw-r--r-- 1 root root  1396855 11月 20 18:03autoconf-2.61.tar.gz
-rw-r--r-- 1 root root  1163590 11月 29 2014bison-2.0.tar.gz
-rw-r--r-- 1 root root  1899204 11月 20 11:55freetype-2.4.0.tar.gz
-rw-r--r-- 1 root root   587617 11月 20 13:25gd-2.0.33.tar.gz
-rw-r--r-- 1 root root  8539634 11月 29 2014gettext-0.16.1.tar.gz
-rw-r--r-- 1 root root  7519677 11月 18 11:50httpd-2.2.27.tar.gz
-rw-r--r-- 1 root root   613261 11月 29 2014jpegsrc.v6b.tar.gz
-rw-r--r-- 1 root root   523321 11月 20 12:02libmcrypt-2.5.7.tar.gz
-rw-r--r-- 1 root root  1358799 11月 20 11:20libpng-1.6.14.tar.gz
-rw-r--r-- 1 root root  4769568 11月 20 11:55libxml2-2.7.1.tar.gz
-rw-r--r-- 1 root root   326970 11月 27 19:06memcached-1.4.17.tar.gz
-rw-r--r-- 1 root root 21727672 11月 20 14:14mysql-5.5.40.tar.gz
-rw-r--r-- 1 root root  2826473 11月 20 12:00ncurses.tar.gz
-rw-r--r-- 1 root root 12279065 11月 20 10:23php-5.4.35.tar.bz2
-rw-r--r-- 1 root root   426278 11月 20 11:41 ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz
-rw-r--r-- 1 root root   499773 11月 29 2014zlib-1.2.3.tar.gz


总的安装顺序是按照以下步骤来走的: zlib、Apache、MySQL、PHP扩展组件、PHP、PHP其他扩展

 

zlib安装

         zlib是一个很好的压缩解压缩库,后面很多组件的安装都会使用到它,所以要最先安装。当然,我们这里是64位的系统,所以在配置过程过,与32位有所不同,如果用32位的配置的话,安装是没问题的,后面在配置其他组件时会出现类似以下的错误

relocation R_X86_64_32can not be used when making a shared object; recompile with –fPIC

 

[root@localhost lamp]# pwd
/root/lamp
[root@localhost lamp]# tar -zxfzlib-1.2.3.tar.gz
[root@localhost lamp]# cd zlib/1.2.3/
[root@localhost 1.2.3]#CFLAGS="-fPIC" ./configure     //这一是关键,64位的系统一定要在前面加上CFLAGS="-fPIC",而且不需要用prefix指定安装目录,否则会影响后面组件的安装
[root@localhost 1.2.3]# make &&make install


 

Apache安装

Apache的安装相对比较简单,安装过程也很少出错。

[root@localhost lamp]# tar -zxfhttpd-2.2.27.tar.gz
[root@localhost lamp]# cd httpd-2.2.27
[root@localhost httpd-2.2.27]# ./configure--prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-z=/usr/local/zlib/--with-included-apr --disable-userdir --enable-so --enable-deflate=shared--enable-expires=shared --enable-rewrite=shared --enable-static-support
[root@localhost httpd-2.2.27]# make&& make install
[root@localhost httpd-2.2.27]# echo"/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local //将Apache添加到开机启动,这里有多种方法,不一定要参照我这一种


由于前面的zlib我们是指定路径安装的,所以在这要配置Apache的zlib目录,--with-z=/usr/local/zlib/,否则会出现错误:checking whether to enable mod_deflate... configure: error:mod_deflate has been requested but can not be built due to prerequisitefailures

MySQL安装

         我们这里使用的MySQL版本是5.5.40,在这个版本中,已经不再使用configure和make来编译安装了,而是采用了cmake,所以我们要先安装cmake,直接用yum安装即可


[root@localhost lamp]# yum -y install cmake


         此外,MySQL还需要ncurses组件的支持,否则会出现错误

CMake Error atcmake/readline.cmake:83 (MESSAGE):

  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.OnDebian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it isncurses-devel.


[root@localhost lamp]# tar -zxfncurses.tar.gz
[root@localhost lamp]# cd ncurses-5.9/
[root@localhost ncurses-5.9]# ./configure--with-shared --without-debug --without-ada --enable-overwrite
[root@localhost ncurses-5.9]# make&& make install

         同时还要安装Bison,否则会有警告:Warning: Bison executable not found in PATH

[root@localhost lamp]# tar -zxfbison-2.0.tar.gz
[root@localhost lamp]# cd bison-2.0
[root@localhost bison-2.0]# ./configure
[root@localhost bison-2.0]# make &&make install

         接下来才是真正安装MySQL


[root@localhost lamp]# tar -zxfmysql-5.5.40.tar.gz
[root@localhost lamp]# cd mysql-5.5.40
[root@localhost mysql-5.5.40]# cmake .-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DEXTRA_CHARSETS=all      //老版本的MySQL用的是make编译的,配置命令为./configure--prefix=/usr/local/mysql/ --with-extra-charsets=all。关于MySQL新版和旧版的编译参数,请参照网上的说明,这里就不做详细说明。
[root@localhost mysql-5.5.40]# make&& make install
对MySQL进行简单的配置
[root@localhost mysql-5.5.40]# groupaddmysql
[root@localhost mysql-5.5.40]# useradd -gmysql mysql
[root@localhost mysql-5.5.40]# cpsupport-files/my-medium.cnf /etc/my.cnf
[root@localhost mysql-5.5.40]# cd/usr/local/mysql/
[root@localhost mysql]#./scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R mysql/usr/local/mysql/
[root@localhost mysql]# chgrp -R mysql/usr/local/mysql/
[root@localhost mysql]#/usr/local/mysql/bin/mysqld_safe --user=mysql &         //启动mysql服务
[root@localhost mysql]# ./bin/mysql mysql
mysql> update user set password =password('123456') where user = 'root';       //设置root用户密码,设置后要重启mysql服务才会生效
mysql> quit

添加到开机启动

[root@localhost mysql]# cp/root/lamp/mysql-5.5.40/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chown root.root/etc/rc.d/init.d/mysqld
[root@localhost mysql]# chmod 755/etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add/etc/rc.d/init.d/mysqld

至此,Apache与MySQL都已安装完毕,基本没什么难点,主要就是要花的时间比较多。接下来看下PHP扩展组件的安装。

PHP扩展组件安装

         这里我们需要的组件有:libxml、libmcrypt、libltdl、zlib(前面已安装)、libpng、jpeg、freetype、gettext、gd。


[root@localhost mysql]# cd /root/lamp/
[root@localhost lamp]# tar -zxflibxml2-2.7.1.tar.gz
[root@localhost lamp]# cd libxml2-2.7.1
[root@localhost libxml2-2.7.1]# ./configure--prefix=/usr/local/libxml2/
[root@localhost libxml2-2.7.1]# make&& make install
 
[root@localhost libpng-1.6.14]# cd ..
[root@localhost lamp]# tar -zxflibmcrypt-2.5.7.tar.gz
[root@localhost lamp]# cd libmcrypt-2.5.7
[root@localhost libmcrypt-2.5.7]#./configure --prefix=/usr/local/libmcrypt/
[root@localhost libmcrypt-2.5.7]# make&& make install
 
[root@localhost libmcrypt-2.5.7]# cdlibltdl/           //注意,这个包是在libmcrypt目录下的
[root@localhost libltdl]# ./configure--enable-ltdl-install
[root@localhost libltdl]# make &&make install
 
[root@localhost libltdl]# cd ../../
[root@localhost lamp]# tar -zxflibpng-1.6.14.tar.gz
[root@localhost lamp]# cd libpng-1.6.14
[root@localhost libpng-1.6.14]# [root@localhostlibpng-1.6.14]# ./configure --prefix=/usr/local/libpng/
[root@localhost libpng-1.6.14]# make&& make install
 
[root@localhost libpng-1.6.14]# cd ..
[root@localhost lamp]# tar -zxfjpegsrc.v6b.tar.gz
[root@localhost lamp]# cd jpeg-6b/
[root@localhost jpeg-6b]# mkdir -p/usr/local/jpeg6/bin        //由于程序无法自动创建目录,所以需要手动创建,否则可能会安装失败
[root@localhost jpeg-6b]# mkdir -p/usr/local/jpeg6/lib
[root@localhost jpeg-6b]# mkdir -p/usr/local/jpeg6/include
[root@localhost jpeg-6b]# mkdir -p/usr/local/jpeg6/man/man1
[root@localhost jpeg-6b]# ./configure--prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@localhost jpeg-6b]# make &&make install

 

         如果出现错误

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

./libtool --mode=compilegcc -O2  -I. -c ./jcapimin.c

make: ./libtool:命令未找到

make: *** [jcapimin.lo] 错误 127

则需要安装libtool

[root@localhost jpeg-6b]# yum –y installlibtool


覆盖掉原来的配置文件,然后重新编译才不会出错

[root@localhost jpeg-6b]# cp/usr/share/libtool/config/config.sub /root/lamp/jpeg-6b/
[root@localhost jpeg-6b]# cp/usr/share/libtool/config/config.guess /root/lamp/jpeg-6b/
[root@localhost jpeg-6b]# ./configure--prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@localhost jpeg-6b]# make &&make install
 
[root@localhost jpeg-6b]# cd ..
[root@localhost lamp]# tar -zxffreetype-2.4.0.tar.gz
[root@localhost lamp]# cd freetype-2.4.0
[root@localhost freetype-2.4.0]#./configure --prefix=/usr/local/freetype/
[root@localhost freetype-2.4.0]# make&& make install
 
[root@localhost freetype-2.4.0]# cd ../
[root@localhost lamp]# tar -zxfgettext-0.16.1.tar.gz
[root@localhost lamp]# cd gettext-0.16.1
[root@localhost gettext-0.16.1]#./configure --prefix=/usr/local/gettext/
[root@localhost gettext-0.16.1]# make&& make install
 
[root@localhost gettext-0.16.1]# cd ..
[root@localhost lamp]# tar -zxfgd-2.0.33.tar.gz
[root@localhost lamp]# cd gd-2.0.33
[root@localhost gd-2.0.33]# ./configure--prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/--with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-zlib
[root@localhost gd-2.0.33]# make &&make install

PHP安装

PHP的安装比较麻烦,很容易出错,所以在安装过程中一定要看清楚是什么错误,一步步解决。

[root@localhost gd-2.0.33]# cd ../
[root@localhost lamp]# tar -jxfphp-5.4.35.tar.bz2 
[root@localhost lamp]# cd php-5.4.35
[root@localhost ~]# ./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-png-dir=/usr/local/libpng/--with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib--with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config--enable-soap --enable-mbstring=all --enable-sockets
[root@localhost php-5.4.35]# make&& make install
[root@localhost php-5.4.35]# cpphp.ini-development /usr/local/php/etc/php.ini
[root@localhost php-5.4.35]# vi/etc/httpd/httpd.conf


查找到IfModule mime_module,在里面增加一条内容,开启Apache对PHP的支持

Addtype application/x-httpd-php .php .phtml

保存后重启Apache

[root@localhost php-5.4.35]#/usr/local/apache2/bin/apachectl -k restart
[root@localhost php-5.4.35]# vi/usr/local/apache2/htdocs/index.php


输入内容为:

         

<?phpphpinfo(); ?>

然后在浏览器中输入http://ip/index.php查看PHP的安装信息,看到PHP的安装信息后,搜索gd,可以看到gd库已经成功整合到PHP中。至此PHP安装结束

为PHP安装其他扩展

         在PHP的源码的ext目录中,有许多扩展的组件,这些组件要怎么使用呢?可以利用phpize来帮我们实现这些扩展,接下来就用curl这个扩展来举例。

[root@localhost php-5.4.35]# cd/root/lamp/php-5.4.35/ext/curl/
[root@localhost curl]#/usr/local/php/bin/phpize
[root@localhost curl]# yum -y install curlcurl-devel       //安装curl的组件,这里就偷下懒,直接用yum安装,当然也可以用源码安装,安装方法跟前面的大同小异,就不再多说了。
[root@localhost curl]# ./configure--with-php-config=/usr/local/php/bin/php-config
[root@localhost curl]# make && makeinstall


这时会系统会提示组件编译后所放的目录:Installingshared extensions:    /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

我们只要记下这个目录,把它添加到php.ini中的extension_dir中,然后添加对应的组件即可。

以上是PHP源码自带的扩展,然后我们看一下非自带的扩展如何添加,比如Memcache。

[root@localhost curl]# cd ~/lamp/
[root@localhost lamp]# tar -zxfmemcached-1.4.17.tar.gz
[root@localhost lamp]# cd memcached-1.4.17
 [root@localhostmemcached-1.4.17]# yum -y install libevent libevent-devel      //这里还需要libevent和libevent-devel这两个包,直接用yum安装即可
[root@localhost memcached-1.4.17]#./configure --prefix=/usr/local/memcached/
[root@localhost memcached-1.4.17]# make&& make install
[root@localhost memcached-1.4.17]# echo"/usr/local/memcached/bin/memcached -d -m 512 -u root" >>/etc/rc.d/rc.local          //将memcache添加到开机启动
[root@localhost memcached-1.4.17]# cd ..
[root@localhost lamp]# tar -zxfmemcache-2.2.7.tgz
[root@localhost lamp]# cd memcache-2.2.7
[root@localhost memcache-2.2.7]#/usr/local/php/bin/phpize
[root@localhost memcache-2.2.7]#/usr/local/php/bin/phpize --with-php-config=/usr/local/php/bin/php-config
[root@localhost memcache-2.2.7]# make&& make install
[root@localhost memcache-2.2.7]# make&& make install
[root@localhost memcache-2.2.7]# vi/usr/local/php/etc/php.ini  //在里面添加memcache扩展
 
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值