从源代码编译LAMP环境文档格式.docx

上传人:b****6 文档编号:19560100 上传时间:2023-01-07 格式:DOCX 页数:14 大小:293.90KB
下载 相关 举报
从源代码编译LAMP环境文档格式.docx_第1页
第1页 / 共14页
从源代码编译LAMP环境文档格式.docx_第2页
第2页 / 共14页
从源代码编译LAMP环境文档格式.docx_第3页
第3页 / 共14页
从源代码编译LAMP环境文档格式.docx_第4页
第4页 / 共14页
从源代码编译LAMP环境文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

从源代码编译LAMP环境文档格式.docx

《从源代码编译LAMP环境文档格式.docx》由会员分享,可在线阅读,更多相关《从源代码编译LAMP环境文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

从源代码编译LAMP环境文档格式.docx

configure;

make;

makeinstall;

即可;

然后安装flex:

makeinstal;

即可

进入httpd源码包开始编译

[root@localhosthttpd-2.4.1]#./configure--enable-so

ConfiguringApachePortableRuntimelibrary...

(报错)

checkingforAPR...no

configure:

error:

APRnotfound.Pleasereadthedocumentation.

需要安装依赖包apr(apacheportableruntime)

apr-1.4.6.tar.bz2;

apr-iconv-1.2.1.tar.bz2;

apr-util-1.4.1.tar.bz2;

apache的apr项目目前有三部分组成,分别是apr、apr-util、apr-iconv

apr中包含了一些通用的开发组件,包括mmap,DSO等等

apr-util该目录中也是包含了一些常用的开发组件。

这些组件与apr目录下的相比,它们与apache的关系更加密切一些。

比如存储段和存储段组,加密等等。

apr-iconv包中的文件主要用于实现iconv编码。

[root@localhostapr-1.4.6]#./configure

config.status:

executinglibtoolcommands

rm:

cannotremove`libtoolT'

:

Nosuchfileordirectory

executingdefaultcommands

提示缺少libtool这步包依赖比较麻烦偷个懒直接yuminstalllibtool;

[root@localhostapr-1.4.6]#yuminstalllibtool

DependenciesResolved

================================================================================================

PackageArchVersionRepositorySize

Installing:

libtooli6862.4-9.fc15updates575k

Installingfordependencies:

autoconfnoarch2.68-2.fc15fedora858k

automakenoarch1.11.1-5.fc14fedora545k

Updatingfordependencies:

cppi6864.6.3-2.fc15updates3.9M

gcci6864.6.3-2.fc15updates11M

libgcci6864.6.3-2.fc15updates100k

libgompi6864.6.3-2.fc15updates103k

TransactionSummary

Install3Package(s)

Upgrade4Package(s)

Totaldownloadsize:

17M

然后就可以安装apr-1.2.6;

make;

makeinstall;

然后安装apr-util-1.4

[root@localhostapr-util-1.4.1]#./configure--with-apr=/usr/local/apr

然后makemakeinstall完成

然后安装apr-iconv-1.2.1

[root@localhostapr-iconv-1.2.1]#./configure--with-apr=/usr/local/apr

make;

makeinstall

然后再进入httpd源码文件夹

又有新报错,依赖包:

checkingforpcre-config...false

pcre-configforlibpcrenotfound.PCREisrequiredandavailablefromhttp:

//pcre.org/

然后安装pcre-0.8

make的时候报错

安装pcre出现

libtool:

compile:

unrecognizedoption`-DHAVE_CONFIG_H'

Try`libtool--help'

formoreinformation.

make[1]:

***[pcrecpp.lo]Error1

Leavingdirectory`/root/pcre-8.30'

make:

***[all]Error2

更新最新的gcc-c++包即可通过编译

yuminstallgcc-c++

然后重新configure;

makeinstall;

这次终于没再报错,make;

可执行文件安装的到/usr/local/apache2/bin

[root@localhostbin]#./apachectlstart开启apache

用lynx(指令行模式的浏览器)查看apache测试页;

#lynxhttp:

//localhost

显示Itworks!

表示apache安装成功;

然后把apache停了继续安装Mysql.

编译安装mysql之前需要创建mysql用户:

#groupaddmysql

#useradd-r-gmysqlmysql

然后cpnfigure

[root@localhostmysql-5.1.62]#./configure--prefix=/usr/local/mysql\

>

--with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static\

--with-extra-charsets=all--with-plugins=innobase,myisam\

--with-unix-socket-path=/usr/local/mysql/sock/mysql.sock\

--enable-thread-safe-client--enable-assembler--without-embedded-server

解释:

--with-mysqld-ldflags=-all-static//以静态方式编译服务器端

--with-client-ldflags=-all-static//以静态方式编译客户端

--with-extra-charsets=all//添加所有字符集

--with-plugins=innobase,myisam//添加mysql存储引擎

--with-unix-socket-path=/usr/local/mysql/sock/mysql.sock

--enable-thread-safe-client//以线程方式编译客户端,提高性能

--enable-assembler//使用汇编,提高性能

--without-embedded-server//去除embedded

添加所有字符集的效果:

checking"

charactersets"

...default:

latin1,collation:

latin1_swedish_ci;

compiledin:

latin1latin1utf8binaryarmscii8asciibig5cp1250cp1251cp1256cp1257

cp850cp852cp866cp932dec8eucjpmseuckrgb2312gbkgeostd8greekhebrewhp8keybcs2koi8rkoi8u

latin1latin2latin5latin7maccemacromansjisswe7tis620ucs2ujisutf8

但是在configure最后出现报错信息:

checkingfortermcapfunctionslibrary...configure:

Nocurses/termcaplibraryfound

然后下载termcap源码包。

makeinstall即可;

此处安装的是termcap-1.3.1

重新configuremysql

然后出现了ThankyouforchoosingMySQL!

,然后就可以make;

makeinstall了;

Postinstallationsetup(安装后设置)

#cpsource_file/support-files/my-f/etc/f

修改配置文件f

#TheMySQLserver

[mysqld]

port=3306

socket=/usr/local/mysql/sock/mysql.sock

在这儿加入一行,修改一行

datadir=/usr/local/mysql/data

skip-external-locking#这行原来是skip-locking,出现warning:

[Warning]'

--skip-locking'

isdeprecatedandwillberemovedinafuturerelease.

Pleaseuse'

--skip-external-locking'

instead

#cd/usr/local/mysql

#mkdirdata

#chown-Rmysql.

#chgrp-Rmysql.

#bin/mysql_install_db--user=mysql\

--basedir=/usr/local/mysql\

--datadir=/usr/local/mysql/data

#chown-Rroot.

#chown-Rmysqldata

#cp/usr/local/mysql/share/mysql/mysql.server/etc/init.d/mysqld

#chkconfig--addmysqld

#chkconfigmysqldon

#bin/mysqld_safe--user=mysql&

然后登陆mysql测试

#/usr/local/mysql/bin/mysql

出现mysql>

然后编译安装php

先安装libxml2

下载地址:

ftp:

//xmlsoft.org/libxml2/

这里安装libxml2-2.7.7.tar.gz

然后安装libpng软件包

然后安装libmcrypt下载地址ftp:

//mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

安装zlib软件包;

进入php源码文件夹下的ext

/root/php-5.2.17/ext

这里是一些php扩展

./configure--with-mcrypt--with-gd--with-mysql--with-mysqli--with-zlib

(复制配置文件模板到相应的位置)

#cpphp.ini-development/usr/local/lib/php.ini

然后编辑httpd的配置文件

在/usr/local/apache2/conf/httpd.conf

确保里面有这样一行:

LoadModulephp5_modulemodules/libphp5.so

在httpd.conf的中后部分

AddTypeapplication/x-compress.Z

AddTypeapplication/x-gzip.gz.tgz

添加下面两行,让apache解析.php和.html结尾的文件

AddTypeapplication/x-httpd-php.php

AddTypeapplication/x-httpd-php.html

(最后一行允许在html中嵌入php语句,并正确解析)

除了添加AddType之外,为避免如exploit.php.jpg这样的文件被解析成php脚本,我们可以再加入下面的语句,让其解析以.php结尾的语句“.php$”

<

FilesMatch\.php$>

SetHandlerapplication/x-httpd-php

/FilesMatch>

为使apache正确解析php2,php3,php4,php5,php6,phtml文件(当做php来解析)需要添加如下字段:

FilesMatch"

\.ph(p[2-6]?

|tml)$"

修完完后重启apache

$/usr/local/apache2/bin/apachectlstart

例子1.phpinfo()examples

?

php

phpinfo();

phpinfo(INFO_MODULES);

能看到php测试页

在这里要用到phpize,phpize命令是用来准备PHP扩展库编译环境,一般在你安装好PHP后,会在安装PHP的bin目录下找到这个命令/usr/local/bin/phpize;

如果在执行phpize命令后出现找不到autoconf之类的提示,请安装好autoconf后再次执行;

#yuminstallautoconf;

PHP源码包文件夹下的ext文件夹就是放置着目前版本的可用扩展;

#cdphp-source-dir/ext/mysqli

#phpize或者用全路径#/usr/local/bin/phpize

会得到类似如下的信息:

[root@localhostmysqli]#phpize

Configuringfor:

PHPApiVersion:

20100412

ZendModuleApiNo:

20100525

ZendExtensionApiNo:

220100525

然后就configure;

make;

makeinstall过程:

[root@localhostmysqli]#./configure--prefix=/usr/local/lib/mysql\--with-php-config=/usr/local/bin/php-config--with-mysqli=/usr/local/bin/mysql_config

[root@localhostmysqli]#make

[root@localhostmysqli]#makeinstall

安装完毕后又如下信息:

Installingsharedextensions:

/usr/local/lib/php/extensions/no-debug-zts-20100525/

Installingheaderfiles:

/usr/local/include/php/

所产生的mysqli.so便在第一个目录里面;

然后修改php.ini配置文件,添加一行:

extension=/usr/local/lib/php/extensions/no-debug-zts-20100525/mysqli.so

然后重启apache即可;

可以在phpinfo()测试页中看到

6,为PHP添加mcrypt扩展

需要安装依赖包:

libmcrypt

wgetftp:

makeinstall安装就好;

然后进如PHP源码包目录下的ext目录,里面有mcrypt目录,进去执行phpize生成configure文件,然后执行configure

#./configure--with-mcrypt=/usr/local/include

#make

#makeinstall

安装即可;

安装完后会得到如下输出,告诉产生的目标在何处:

然后如上述添加mysqli支持一样;

在/usr/local/lib/php.ini里添加相似的一行:

extension=/usr/local/lib/php/extensions/no-debug-zts-20100525/mcrypt.so

然后重启apache就OK;

(如果在安装php之前没有安装gd扩展的话,可以按照如下方式添加dg扩展支持)

下载安装GD库扩展所需源码包(可点击源码包直接下载)

gd-2.0.35.tar.gzhttp:

//www.libgd.org/releases/

jpegsrc.v8b.tar.gzhttp:

//www.ijg.org/

libpng-1.5.0.tar.gz

freetype-2.4.4.tar.gz

zlib-1.2.3.tar.gz

先安装zlib

tarzxvfzlib-1.2.3.tar.gz

cdzlib-1.2.3

./configure

make

makeinstall

然后安装libpng

对于有些版本,需要按照如下方式安装

tarzxvflibpng-1.5.0.tar.tar

cdlibpng-1.5.0

cdscripts

mvmakefile.linux../makefile

cd..

对于libpng-1.2.44就直接configure;

makeinstall就可以;

然后安装freetype

直接configure;

makeinstall就可以;

然后安装jpegsrc

cdjpeg-8b

./configure–enable-shared

注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库

然后安装GD库

cdgd-2.0.33

./configure–with-png–with-freetype–with-jpeg

最后重新编译PHP

重新编译安装PHP(即是在以前编译PHP的参数后面再加上以上安装的相关参数)

#./configure--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql--with-gd--enable-gd-native-ttf--with-zlib--enable-sockets然后可以再phpinfo()函数输出结果中看到gd

直接解压到/usr/local/apache2/htdocs/下即可

修改php.ini添加mysql和mysqli的sock路径;

mysqli.default_socket=/usr/local/mysql/sock/mysql.sock

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1