LAMP平台搭建
一,环境搭建
1,安装libxml
使用libxml2解析xml文件,提供函数库
[iyunv@test3 bin]# cd /usr/src/
[iyunv@test3 src]# tar xvf libxml2-2.9.0.tar.gz
[iyunv@test3 src]# cd libxml2-2.9.0
[iyunv@test3 libxml2-2.9.0]# ./configure --prefix=/usr/local/libxml2
[iyunv@test3 libxml2-2.9.0]# make
[iyunv@test3 libxml2-2.9.0]# make install
编译遇到的问题 /bin/rm: cannot remove `libtoolt': No such file or directory
解决:
1、确认libtool是否已经安装,如果没有安装的话,则先安装libtool
# yum -y install libtool
2、分别执行以下三条命令:
# autoreconf --force --install
# libtoolize --automake --force
# automake --force --add-missing
再重新编译安装,问题解决!
在网上也看到有别的办法,但是我没有测试过,例如:
这时直接打开 configure,把 $RM “$cfgfile” 那行删除掉,重新再运行 ./configure 就可以了
2,安装libmcrypt
libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。
编译安装libmcrypt之前要先安装 如下编译工具和支持包libltdl
yum install gcc gcc-c++
[iyunv@test3 bin]# cd /usr/src/
[iyunv@test3 src]# tar xvf libmcrypt-2.5.8.tar.gz
[iyunv@test3 src]# cd libmcrypt-2.5.8
[iyunv@test3 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[iyunv@test3 libmcrypt-2.5.8]# make
[iyunv@test3 libmcrypt-2.5.8]# make install
安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。安装方法和前面的步骤相同,可以进入到解压缩的 目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个 命令配置、编译、安装就可以了。
[iyunv@test3 libltdl]# pwd
/usr/local/src/libmcrypt-2.5.8/libltdl//进入软件源代码目录
[iyunv@test3 libltdl]# ./configure --enable-ltdl-install //配置ltdl库的安装
[iyunv@test3 libltdl]# make //编译
[iyunv@test3 libltdl]# make install //安装
3,安装zlib
zlib是提供数据压缩用的函式库
[iyunv@test3 src]# tar xvf zlib-1.2.7.tar.gz
[iyunv@test3 src]# cd zlib-1.2.7
[iyunv@test3 zlib-1.2.7]# ./configure
[iyunv@test3 zlib-1.2.7]# make
[iyunv@test3 zlib-1.2.7]# make install
4,安装libpng
libpng 是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作。可以到www.libpng.org 上下载源代码。libpng 使用 zlib 程序库作为压缩引擎,zlib 也是著名的 gzip (GNU zip) 所采用的压缩引擎。zlib是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。zlib 也支持读写gzip (.gz) 格式的文件这些都是免费和公开的
[iyunv@test3 src]# tar xvf libpng-1.5.14.tar.gz
[iyunv@test3 src]# cd libpng-1.5.14
[iyunv@test3 libpng-1.5.14]# ./configure --prefix=/usr/local/libpng
[iyunv@test3 libpng-1.5.14]# make
[iyunv@test3 libpng-1.5.14]# make install
5,安装jpeg8
利用jpeg库实现多种图片格式 安装GD2库前所需的jpeg8库文件,需要自己手动创建安装需要的目录,它们在安装时不能自动创建
[iyunv@test3 src]# mkdir /usr/local/jpeg8 //软件安装目录
[iyunv@test3 src]# mkdir /usr/local/jpeg8/bin //命令目录
[iyunv@test3 src]# mkdir /usr/local/jpeg8/lib //库函数的目录
[iyunv@test3 src]# mkdir /usr/local/jpeg8/include //建立存放头文件目录
[iyunv@test3 src]# mkdir -p /usr/local/jpeg8/man/man1 //帮助手册
[iyunv@test3 src]# tar xvfz jpegsrc.v8b.tar.gz
[iyunv@test3 src]# cd jpeg-8b/
[iyunv@test3 jpeg-8b]# ./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static
[iyunv@test3 jpeg-8b]# make
[iyunv@test3 jpeg-8b]# make install
6,安装freet
#tar zxvf freetype-2.4.10.tar.gz //解压包到freetype-2.4.10目录
#cd freetype-2.4.10 //进入目录freetype-2.4.10中
#./configure --prefix=/usr/local/freetype
//选项--prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype目录下
#make //对软件源代码文件进行编译
#make install //开始安装freetype库文件
7,安装atuoconf
[iyunv@test3 src]# tar xvf autoconf-2.69.tar.gz
[iyunv@test3 src]# cd autoconf-2.69
[iyunv@test3 autoconf-2.69]# ./configure
[iyunv@test3 autoconf-2.69]# make
[iyunv@test3 autoconf-2.69]# make install
8,安装GD
在php中使用gd库来对图像进行操作,GD为是一个动态的开放的创建图像的源代码公开的函数库。可以从官方网站www.boutell.com/gd 处下载,目前GD库支持gif,png,jpeg,wbmp,xbm等多种图像格式。GD库通常用于对图像的处理。
解压gd包
[iyunv@test3 src]# tar xvfz gd-2.0.35.tar.gz
vi gd_png.c
找到#include "png.h"改成#include "/usr/local/libpng/include/png.h"
否则报错:
make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/tmp/gd-2.0.35'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gd-2.0.35'
make: *** [all] Error 2
编译安装GD
[iyunv@test3 src]# cd gd-2.0.35
[iyunv@test3 gd-2.0.35]# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg8/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/
[iyunv@test3 gd-2.0.35]# make
[iyunv@test3 gd-2.0.35]# make install
二,编译安装apache
1,安装 apr和apr-util
APR(ApacheportableRun-timelibraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。首先卸载系统中安装的apr和apr-util
[iyunv@test3 src]# rpm -e apr --nodeps
[iyunv@test3 src]# rpm -e apr-util --nodeps
编译安装apr和apr-util
[iyunv@test3 src]# tar xvf apr-1.4.6.tar.gz
[iyunv@test3 src]# cd apr-1.4.6
[iyunv@test3 apr-1.4.6]# ./configure --prefix=/usr/local/apr-httpd
[iyunv@test3 apr-1.4.6]# make
[iyunv@test3 apr-1.4.6]# make install
[iyunv@test3 src]# tar xvf apr-util-1.5.1.tar.gz
[iyunv@test3 src]# cd apr-util-1.5.1
[iyunv@test3 apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
[iyunv@test3 apr-util-1.5.1]# make
[iyunv@test3 apr-util-1.5.1]# make install
2,安装PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正规表达式库
unzip -o pcre-8.32.zip
#cd pcre-8.32
#./configure --prefix=/usr/local/pcre
#make
#make install
3,正式 安装apache
[iyunv@test3 src]#tar xvfz httpd-2.4.3.tar.gz
[iyunv@test3 src]#cd httpd-2.4.3
[iyunv@test3 httpd-2.4.3]# ./configure
> --prefix=/usr/local/apache2
> --enable-mods-shared=all
> --enable-deflate
> --enable-speling
> --enable-cache
> --enable-file-cache
> --enable-disk-cache
> --enable-mem-cache
> --enable-so
> --enable-expires=shared
> --enable-rewrite=shared
> --enable-static-support
> --sysconfdir=/etc/httpd
> --with-z=/usr/local/zlib/
> --with-apr=/usr/local/apr-httpd/
> --with-apr-util=/usr/local/apr-util-httpd/
> --with-pcre=/usr/local/pcre/
> --disable-userdir
[iyunv@test3 httpd-2.4.3]#make && make install
启动apache,如果出现如下图就说明apache可以正常工作了
[iyunv@test3 httpd-2.4.3]# /usr/local/apache2/bin/apachectl start
三,mysql数据库的编译安装
mysql-5.1.70 编译依赖包:libtermcap
libtermcap-devel
imake
autoconf
automake
libtool
m4
libstdc++-devel
gcc-c++
zlib-devel
ncurses-devel
编译安装MySQL5.1.70[iyunv@test4 ~]# yum install libtermcap libtermcap-devel imake autoconf automake libtool m4
libstdc++-devel gcc-c++ zlib-devel ncurses-devel
[iyunv@test4 ~]# useradd -M -s /sbin/nologin mysql
[iyunv@test4 ~]# mkdir /usr/local/mysql
[iyunv@test4 ~]# tar zxvf mysql-5.1.70.tar.gz[iyunv@test4 mysql-5.1.70]# ./configure --prefix=/usr/local/mysql mysql的安装目录--enable-assembler --with-client-ldflags=-all-static--with-unix-socket-path=/tmp --with-charset=utf8 --enable-thread-safe-client --with-pthread--without-debug --with-big-tables --enable-community-features--enable-profiling --enable-local-infile --with-fast-mutexes--with-plugins=partition,federated,ndbcluster,innobase,csv,blackhole,myisam,innodb_plugin
[iyunv@test4 mysql-5.1.70]# make
[iyunv@test4 mysql-5.1.70]# strip sql/mysqld
[iyunv@test4 mysql-5.1.70]# make install
[iyunv@test4 mysql-5.1.70]# cp support-files/my-medium.cnf /etc/my.cnf
#/etc/my.cnf 文件中的参数据实际情况而定
[iyunv@test4 mysql-5.1.70]# cp support-files/mysql.server /etc/init.d/mysqld
#修改/etc/init.d/mysqld文件中的"datadir"参数值为/mysql/data(datadir=/mysql/data)
[iyunv@test4 mysql-5.1.70]# chmod u+x /etc/init.d/mysqld
[iyunv@test4 mysql-5.1.70]# chkconfig --add mysqld(chkconfig中无此项服务时执行)
[iyunv@test4 mysql-5.1.70]# /usr/local/mysql/bin/mysql_install_db --user=mysql
[iyunv@test4 mysql-5.1.70]# service mysqld start
[iyunv@test4 mysql-5.1.70]# /usr/local/mysql/bin/mysqladmin -u root password '123456'
[iyunv@test4 mysql-5.1.70]# echo "PATH=\"/usr/local/mysql/bin:/data/bin/:$PATH\"">> /etc/profile
[iyunv@test4 mysql-5.1.70]# export PATH="/usr/local/mysql/bin:/data/bin/:$PATH"
四,php安装编译 编译之前,先处理一下mysql的库,默认查找libmysqlclient_r.so,可是mysql默认为libmysqlclient.so,内容完全一样,做个链接即可.但是如果有libmysqlclient_r.so就不用这么做了# cd /usr/local/mysql/lib/mysql/# ln -s libmysqlclient.so.16.0.0 libmysqlclient_r.so
[iyunv@test3 src]# tar xvfz php-5.4.11.tar.gz[iyunv@test3 php-5.4.11]# ./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-png-dir=/usr/local/libpng/ > --with-jpeg-dir=/usr/local/jpeg8/ > --with-freetype-dir=/usr/local/freetype/ > --with-gd=/usr/local/gd/ > --with-zlib-dir=/usr/local/zlib/ > --with-mcrypt=/usr/local/libmcrypt/ > --with-mysqli=/usr/local/mysql/bin/mysql_config > --enable-soap > --enable-mbstring=all > --enable-sockets[iyunv@test3 php-5.4.11]#make[iyunv@test3 php-5.4.11]#make install报错1,make: *** [ext/gd/gd.lo] Error 1 这个错误是php 5.4的一个bug
解决方法vi /usr/local/gd/include/gd_io.hgdIOCtx结构中增加void *data;typedef struct gdIOCtx
{
int (*getC) (struct gdIOCtx *);
int (*getBuf) (struct gdIOCtx *, void *, int);
void (*putC) (struct gdIOCtx *, int);
int (*putBuf) (struct gdIOCtx *, const void *, int);
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
void (*data);
}
报错2, libltdl.so.3: cannot open shared object file: No such file or directorymake: *** [ext/phar/phar.php] Error 127解决方法:ln -s /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3[iyunv@test3 ~]# cd /usr/local/libpng/lib/[iyunv@test3 lib]# lslibpng15.a libpng15.so libpng15.so.15.10.0 libpng.la pkgconfiglibpng15.la libpng15.so.15 libpng.a libpng.so可以看到libpng15.so.15然后修改/etc/ld.so.conf 文件:vi /etc/ld.so.conf在第一行下面追加/usr/local/libpng/lib这个路径。
安装完成后,需要建立PHP配置文件。在使用configure命令安装配置时使用“--with-config-file-path=/usr /local/php/etc/”选项,指定了配置文件的位置。将源码包下面的php.ini-development 文件复制到/usr/local /php/etc/中,并改名为php.ini即可,如下示:[iyunv@test3 php-5.4.11]# cp php.ini-development /usr/local/php/etc/php.ini修改php.ini 把;date.timezone 前面的分号去掉,改成date.timezone ="PRC"
整合Apache与PHP,上面编译之前,我们使用configure命令安装配置时,使用--with-apxs2=/usr/local /apache242/bin/apxs选项以使Apache 2将PHP作为功能模块使用。但我们还要修改Apahce配置文件,添加PHP的支持,告诉Apache将哪些后缀作为PHP解析。例如,让Apache把.php或.phtml后缀名解析为PHP.使用vi打开Apache的配置文件 /etc/httpd/httpd.conf,找到AddType application/x-gzip .gz .tgz指令选项,并在其下方添加一 条指令AddType application/x-httpd-php .php .phtml。也可以将任何后缀的文件解析为PHP,只要在添加的语 句中加入并用空格分开,这里以多添加一个.phtml来示例,如下示:# If the AddEncoding directives above are commented-out, then you# probably should define those extensions to indicate media types:AddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType application/x-httpd-php .php .phtml
测试PHP环境是否可以正常运行,在/usr/local/apache243/htdocs目录下建一个test.php或test.phtml的文件,内容如下示:
五,phpMyAdmin的安装 1、进入软件源码所在的目录/usr/local/src/中,并解压软件包phpMyAdmin-3.5.6-all-languages.tar.gz到当前目录phpMyAdmin-3.5.6-all-languages下。 2、把解压的目录phpMyAdmin-3.5.6-all-languages下的文件,全部复制到Apache的/usr/local/apache243/htdocs下,并新建一个名为phpmyadmin的目录下面,即安装完成。[iyunv@localhost src]# cp -a phpMyAdmin-3.5.6-all-languages /usr/local/apache243/htdocs/phpmyadmin 3、在使用phpmyadmin之前,也需要先配置一下。配置的方法是通过对phpmyadmin顶层目录下的config.inc.php文件中 的几个选项做一些设置即可。默认不存在config.inc.php文件,我们需要手工创建一个,也可以复制config.sample.inc.php 模板得到最低限度的配置文件。[iyunv@localhost src]# cd /usr/local/apache243/htdocs/phpmyadmin/[iyunv@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php
phpMyAdmin的配置 我们通过身份验证模式的要求,可以有两种配置方案,一种是http和cookie身份验证模式。在这两种模式下,用户必须先在一个登录窗 口里输入MySQL数据库的有效用户名和密码,才能使用phpMyAdmin程序。这种做法有两个明显的好处;首先,因为MySQL数据库的密码没有出现 在config.inc.php文件里,所以身份验证过程更加安全;其次,允许以不同的用户身份登录对自己的数据库进行管理。这两种身份验证模式尤其适合 数据库中多个用户账号的情况。第二种方案是,config身份验证模式。这种情况下,密码以明文形式保存在config.inc.php文件里。只需要把MySQL用户 名和密码直接写入到config.inc.php文件即可。这样,在登录phpMyAdmin时就不会提示输入用户名和密码了,而只直接用 config.inc.php文件里写入的用户登录 。如果只是在一个本地测试系统上使用phpMyAdmin,可以使用这种模式。1、http身份验证模式如果想让phpMyAdmin使用HTTP身份验证模式,首先需要在config.inc.php文件做如下修改:$cfg['Servers'][$i]['auth_type'] = 'http';
当完成设置之后,我们启动phpMyAdmin时,屏幕上将弹出一个WEB浏览器对话框,需要在这个对话框里输入MySQL用户名和密码,才能进入 phpMyAdmin操作界面。如下图示,在windows客户端用IE浏览器,访问WEB服务器的phpMyAdmin目录下的index.php文 件,即可启动phpMyAdmin
2、cookie身份验证模式cookie身份验证模式是HTTP身份验证模式的补充,不能使用HTTP身份验证模式的场合都可以使用它。cookie身份验证模式要求用户必须允许来自phpMyAdmin的cookie进入自己的计算机。即用户需要在浏览器中开启客户端的cookie功能。如果想让phpMyAdmin使用cookie身份验证模式,除了必须修改config.inc.php文件里的auth_type语句外, 还必须向blowfish_secret参数提供一个字符串。这个字符串可以是任意的,目的是在把登录时使用的用户和密码存储在客户端电脑上的 cookie之前,系统将会使用这个字符串对它们进行加密码$cfg['blowfish_secret'] = 'a8b7c6d';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
3、config身份验证模式如果想让phpMyAdmin使用config身份验证模式,首先需要在config.inc.php文件里做出如下所示的修改。把MySQL数据库的用户名和密码以明文的方式写入,具体修改内容如下$cfg['Servers'][$i]['auth_type'] = 'config';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'chen';
$cfg['Servers'][$i]['password'] = 'chen';
和上面启动phpMyAdmin的方式一样,我们在windows客户端使用IE浏览器,访问WEB服务器上的phpMyAdmin目录下的 index.php文件。 提供MySQL的用户名和密码就可以登录,它是使用config.inc.php中以明文方式写入的用户名和密码登录的
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com