最新LAMP平台搭建
LAMP平台搭建一,环境搭建
1,安装libxml
使用libxml2解析xml文件,提供函数库
# cd /usr/src/
# tarxvf libxml2-2.9.0.tar.gz
# cd libxml2-2.9.0
# ./configure --prefix=/usr/local/libxml2
# make
# 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++
# cd /usr/src/
# tarxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure --prefix=/usr/local/libmcrypt
# make
# make install
安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。安装方法和前面的步骤相同,可以进入到解压缩的 目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个 命令配置、编译、安装就可以了。
# pwd
/usr/local/src/libmcrypt-2.5.8/libltdl//进入软件源代码目录
# ./configure --enable-ltdl-install//配置ltdl库的安装
# make//编译
# make install//安装
3,安装zlib
zlib是提供数据压缩用的函式库
# tarxvf zlib-1.2.7.tar.gz
# cd zlib-1.2.7
# ./configure
# make
# make install
4,安装libpng
libpng 是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作。可以到www.libpng.org 上下载源代码。libpng 使用 zlib 程序库作为压缩引擎,zlib 也是著名的 gzip (GNU zip) 所采用的压缩引擎。zlib是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。zlib 也支持读写gzip (.gz) 格式的文件这些都是免费和公开的
# tarxvf libpng-1.5.14.tar.gz
# cd libpng-1.5.14
# ./configure --prefix=/usr/local/libpng
# make
# make install
5,安装jpeg8
利用jpeg库实现多种图片格式 安装GD2库前所需的jpeg8库文件,需要自己手动创建安装需要的目录,它们在安装时不能自动创建
# mkdir /usr/local/jpeg8//软件安装目录
#mkdir /usr/local/jpeg8/bin//命令目录
# mkdir /usr/local/jpeg8/lib //库函数的目录
#mkdir /usr/local/jpeg8/include//建立存放头文件目录
#mkdir -p /usr/local/jpeg8/man/man1//帮助手册
# tar xvfzjpegsrc.v8b.tar.gz
# cd jpeg-8b/
# ./configure--prefix=/usr/local/jpeg8/--enable-shared--enable-static
# make
# 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
# tarxvf autoconf-2.69.tar.gz
# cd autoconf-2.69
# ./configure
# make
# make install
8,安装GD
在php中使用gd库来对图像进行操作,GD为是一个动态的开放的创建图像的源代码公开的函数库。可以从官方网站www.boutell.com/gd处下载,目前GD库支持gif,png,jpeg,wbmp,xbm等多种图像格式。GD库通常用于对图像的处理。
解压gd包
# tar xvfz gd-2.0.35.tar.gz
vi gd_png.c
找到#include "png.h"改成#include "/usr/local/libpng/include/png.h"
否则报错:
make: *** Error 1
make: Leaving directory `/tmp/gd-2.0.35'
make: *** Error 1
make: Leaving directory `/tmp/gd-2.0.35'
make: *** Error 2
编译安装GD
# cd gd-2.0.35
# ./configure--prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg8/--with-png=/usr/local/libpng/--with-freetype=/usr/local/freetype/
# make
# makeinstall
二,编译安装apache
1,安装 apr和apr-util
APR(ApacheportableRun-timelibraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。首先卸载系统中安装的apr和apr-util
# rpm -e apr --nodeps
# rpm -e apr-util --nodeps
编译安装apr和apr-util
# tarxvf apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure--prefix=/usr/local/apr-httpd
# make
# make install
# tarxvf apr-util-1.5.1.tar.gz
# cd apr-util-1.5.1
# ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
# make
# 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
#tarxvfz httpd-2.4.3.tar.gz
#cd 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
#make && make install
启动apache,如果出现如下图就说明apache可以正常工作了
# /usr/local/apache2/bin/apachectlstart
三,mysql数据库的编译安装
mysql-5.1.70 编译依赖包:libtermcap
libtermcap-devel
imake
autoconf
automake
libtool
m4
libstdc++-devel
gcc-c++
zlib-devel
ncurses-devel
编译安装MySQL5.1.70# yum install libtermcaplibtermcap-devel imakeautoconf automake libtoolm4
libstdc++-devel gcc-c++zlib-develncurses-devel
# useradd -M-s /sbin/nologinmysql
# mkdir /usr/local/mysql
# tar zxvf mysql-5.1.70.tar.gz# ./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
# make
# strip sql/mysqld
#make install
# cp support-files/my-medium.cnf /etc/my.cnf
#/etc/my.cnf 文件中的参数据实际情况而定
# cp support-files/mysql.server/etc/init.d/mysqld
#修改/etc/init.d/mysqld文件中的"datadir"参数值为/mysql/data(datadir=/mysql/data)
#chmod u+x /etc/init.d/mysqld
# chkconfig --add mysqld(chkconfig中无此项服务时执行)
# /usr/local/mysql/bin/mysql_install_db --user=mysql
#service mysqld start
# /usr/local/mysql/bin/mysqladmin -u root password '123456'
#echo "PATH=\"/usr/local/mysql/bin:/data/bin/:$PATH\"">> /etc/profile
# 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
# tar xvfz php-5.4.11.tar.gz# ./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#make#makeinstall报错1,make: *** 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: *** Error 127解决方法:ln -s /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3# cd /usr/local/libpng/lib/# lslibpng15.a libpng15.so libpng15.so.15.10.0libpng.lapkgconfiglibpng15.lalibpng15.so.15libpng.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即可,如下示:# cpphp.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的目录下面,即安装完成。# 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 模板得到最低限度的配置文件。# cd /usr/local/apache243/htdocs/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]