从源代码编译LAMP环境.docx
- 文档编号:6546335
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:14
- 大小:293.90KB
从源代码编译LAMP环境.docx
《从源代码编译LAMP环境.docx》由会员分享,可在线阅读,更多相关《从源代码编译LAMP环境.docx(14页珍藏版)》请在冰豆网上搜索。
从源代码编译LAMP环境
LAMP环境源码安装配置过程
内容介绍:
1,安装完Linux后的操作
2,编译安装apache2
3,编译安装mysql
4,编译安装php
5,为PHP添加mysqli扩展支持
6,为PHP添加mcrypt扩展支持
7,为PHP安装GD扩展
8,安装phpMyAdmin
9,介绍基于指令行的网页浏览器lynx
1,安装完Linux后的操作
安装完Linux后,卸载自带的apache,mysql,php等残余的较旧的rpm软件包;
rpm系列的发行版用rpm–exxxx.rpm卸载;
2,编译安装apache2
进入源码文件夹。
查看INSTALL文件:
Prerequisiteknowledgeandsoftwareforcompiling:
*BasicUnixskills(beingabletooperate"make"andaCcompiler)
*AnANSICcompiler
*flex:
Version2.5.4
*bison:
Version1.28(preferred),1.35,or1.75
*Awebserver
*Anymodulespecificcomponents(suchasgd,pdflibs,etc.)
下载http:
//www.gnu.org/software/flex/和http:
//www.gnu.org/software/bison/
安装flex和bison
先安装bison:
configure;make;makeinstall;即可;
然后安装flex:
configure;make;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
config.status:
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源码文件夹
[root@localhosthttpd-2.4.1]#./configure--enable-so
又有新报错,依赖包:
checkingforpcre-config...false
configure:
error:
pcre-configforlibpcrenotfound.PCREisrequiredandavailablefromhttp:
//pcre.org/
然后安装pcre-0.8
configure;make的时候报错
安装pcre出现
libtool:
compile:
unrecognizedoption`-DHAVE_CONFIG_H'
libtool:
compile:
Try`libtool--help'formoreinformation.
make[1]:
***[pcrecpp.lo]Error1
make[1]:
Leavingdirectory`/root/pcre-8.30'
make:
***[all]Error2
更新最新的gcc-c++包即可通过编译
yuminstallgcc-c++
然后重新configure;make;makeinstall;
然后再进入httpd源码文件夹
[root@localhosthttpd-2.4.1]#./configure--enable-so
这次终于没再报错,make;makeinstall;
可执行文件安装的到/usr/local/apache2/bin
[root@localhostbin]#./apachectlstart开启apache
用lynx(指令行模式的浏览器)查看apache测试页;
#lynxhttp:
//localhost
显示Itworks!
表示apache安装成功;
然后把apache停了继续安装Mysql.
3,编译安装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:
error:
Nocurses/termcaplibraryfound
然后下载termcap源码包。
configure;make;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>
4,编译安装php
然后编译安装php
先安装libxml2
下载地址:
ftp:
//xmlsoft.org/libxml2/
这里安装libxml2-2.7.7.tar.gz
configure;make;makeinstall即可;
然后安装libpng软件包
configure;make;makeinstall即可;
然后安装libmcrypt下载地址ftp:
//mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
configure;make;makeinstall即可;
安装zlib软件包;
configure;make;makeinstall即可;
进入php源码文件夹下的ext
/root/php-5.2.17/ext
这里是一些php扩展
./configure--with-mcrypt--with-gd--with-mysql--with-mysqli--with-zlib
make;
makeinstall;
(复制配置文件模板到相应的位置)
#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$”
SetHandlerapplication/x-httpd-php
为使apache正确解析php2,php3,php4,php5,php6,phtml文件(当做php来解析)需要添加如下字段:
|tml)$"> SetHandlerapplication/x-httpd-php
修完完后重启apache
$/usr/local/apache2/bin/apachectlstart
例子1.phpinfo()examples
php
phpinfo();
phpinfo(INFO_MODULES);
?
>
能看到php测试页
5,为PHP添加mysqli扩展支持
在这里要用到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:
//mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
configure;make;makeinstall安装就好;
然后进如PHP源码包目录下的ext目录,里面有mcrypt目录,进去执行phpize生成configure文件,然后执行configure
#./configure--with-mcrypt=/usr/local/include
#make
#makeinstall
安装即可;
安装完后会得到如下输出,告诉产生的目标在何处:
Installingsharedextensions:
/usr/local/lib/php/extensions/no-debug-zts-20100525/
然后如上述添加mysqli支持一样;
在/usr/local/lib/php.ini里添加相似的一行:
extension=/usr/local/lib/php/extensions/no-debug-zts-20100525/mcrypt.so
然后重启apache就OK;
可以在phpinfo()测试页中看到
7,为PHP安装GD扩展
(如果在安装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..
make
makeinstall
对于libpng-1.2.44就直接configure;make;makeinstall就可以;
然后安装freetype
直接configure;make;makeinstall就可以;
然后安装jpegsrc
cdjpeg-8b
./configure–enable-shared
make
makeinstall
注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库
然后安装GD库
cdgd-2.0.33
./configure–with-png–with-freetype–with-jpeg
make
makeinstall
最后重新编译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
8,安装phpMyAdmin
直接解压到/usr/local/apache2/htdocs/下即可
修改php.ini添加mysql和mysqli的sock路径;
mysqli.default_socket=/usr/local/mysql/sock/mysql.sock
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 源代码 编译 LAMP 环境