Linux运维知识之lanp(linux+apache+gd库+php)的安装
小标 2018-12-07 来源 : 阅读 940 评论 0

摘要:本文主要向大家介绍了Linux运维知识之lanp(linux+apache+gd库+php)的安装,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之lanp(linux+apache+gd库+php)的安装,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

ps1:在源码安装时,如果配置通过(./configure),但是make(生成makefile失败),此时可以用make clean命令清除编译的结果,从新进行编译

ps2.安装PHP常见错误解决error: libjpeg.(a|so),error:libpng.(a|so) not found,error: Cannot find ldap

我都安装了的,为什么就找不到呢?找不到其实就应试想到它的搜索位置里面是没有的,要不然才不会说not found

 [root@GFS_Server php-5.2.13]# rpm -qa | grepjpeg
libjpeg-6b-33
libjpeg-6b-33

 32位和64位的都装了。你可以强制删除两个包,再重装64位的包。rpm --allmatches --nodeps这种方法真是损系统又损你.有时候强制执行的东西也会随便把lib中的一些包给强制删了..所以我认为不建议这么做,重复就让它重复吧,没关系的!

[root@GFS_Serverphp-5.2.13]#locate libjpeg.so
[root@GFS_Server php-5.2.13]# locate libjpeg.a
如果是源码安装的,你肯定要添加--with-jpeg-dir=/usr/local/jpeg6,那么在./configure时,会去这个目录下的lib/下寻找libjpeg.so/libjpeg.a文件。此时肯定这个目录下没有这文件!!!

另外:(a|so)这些结尾的都是相应包的库文件

如果没有指定jpeg的目录,./configure会自动的去/usr/lib下寻找,这些库文件。但是实际上在安装的时候(rpm),系统会默认的将这些库文件放在/usr/lib64下(64位的系统--32位的系统不会出现这个问题)

解决:cp -frp /usr/lib64/libpng*   /usr/lib/




==================================LADP安装=====================
总共11个源码包
autoconf-2.61.tar.gz
httpd-2.2.8.tar.gz
libxml2-2.6.19.tar.gz
mysql-5.0....
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.24.tar.gz
zlib-1.2.3.tar.gz
gd-2.0.35.tar.gz
php-5.2.5.tar.gz


检查环境是否安装gcc
# gcc -v

安装GD库==============================
安装前应先依次安装zlib/libpng/freetype/jpegsrc.v6b/autoconf/gd

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

安装zlib
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install

ps:64位的linux系统用./configure生成的makefile编译,虽然不会出错,但是在之后安装php是肯定会报错(/usr/bin/ld:/usr/local/lib/libbz2.a: relocation R_X86_64_32 against `a local symbol' cannot be used when making a shared object; recompile with -fPIC)------------解决方案:vi Makefile
在CFLAGS上加入 -fPIC
CFLAGS = -fPIC  xxxxxxxxxxxxxxxxxx
make && make install && makeclean

此时问题解决

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

安装libpng
tar xzvf libpng-1.2.24.tar.gz
cd libpng-1.2.24
cp scripts/makefile.linux makefile
make
make install

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

安装freetype TTF包
tar xzvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype
make
make install

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

安装jpeg6
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -p /usr/local/jpeg6
mkdir -p /usr/local/jpeg6/bin
mkdir -p /usr/local/jpeg6/lib
mkdir -p /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man
mkdir -p /usr/local/jpeg6/jpeg6man1
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6--enable-share --enable-static
make
make install
最后安装jpeg6库文件
make install-lib
使用libtool完成库的安装
libtool --finish /usr/local/jpeg6//lib /


注:在源码安装jpeg6时报错:
make: ./libtool: Command not found 
make: *** [jcapimin.lo] Error 127 
错误分析:由于libtool版本过低导致的,重新下载新版本的libtool以默认方式安装,(一般都是64位的系统上面报错)1,x64bit的服务器就是报这个错误,可以直接执行:
cp /usr/share/libtool/config.sub . 
cp /usr/share/libtool/config.guess .而不需另行安装(必须要从新编译)
2,x64bit的系统安装jpeg时
make
make install

64位的系统就不用添加以下两个步骤了,不然在安装gd时是报错!!!

---make install-lib
---libtool --finish /usr/local/jpeg6//lib /


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

安装autoconf
tar xzvf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure --prefix=/usr
make
make install

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

安装GD
tar xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd--with-jpeg=/usr/local/jpeg6 --with-png=/usr/local/lib--with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
make
make install
cp gd.h /usr/local/lib #将生成的头文件拷贝到lib目录下,否则会出

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

安装freetds(用来连接MS SQLServer和Sybase数据库更具需要是否安装)
tar xzvf freetds-0.82.tar.gz
cd freetds-0.82
./configure --prefix=/usr/local/freetds--with-tdsver=8.0
make
make install

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

安装mysql===见另外文章==================================

==============================================================================安装apache

./configure--prefix=/usr/local/apache2 --enable-so --enable-ssl=static--with-ssl=/usr/local/ssl --with-z-dir=/usr/local/zlib

make

make install

设置apache 自启动
echo "/usr/local/apache2/bin/apachectlstart">>/etc/rc.d/rc.local
检查是否加入自启动了
cat /etc/rc.d/rc.local

ps:在配置的时候报错:configure: error: ...No recognized SSL/TLS toolkit detected

解决:安装openssl-devel

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

安装PHP
PHP 对XML的支持是建立在libxml2库的基础上的

安装php之前先安装libxml2
tar -zxvf libxml2-2.6.19.tar.gz
cd libxml2-2.6.19

./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/
make
make install

复制配置文件
cp xml2-config /usr/bin

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

说明:

php必要的选项:
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir
--enable-mbstring

这是让PHP支持GD库的配置选项:
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype

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

接着安装php
检查系统是否已经安装php,如果安装将其卸载
将多个相关软件包一次性卸载:
for i in 'rpm -qa | grep -i php'
>do rpm -e $i --nodeps
>done

tar-zxvf php-5.2.5.tar.gz
cd php-5.2.5
mkdir -p /usr/local/php5
./configure --prefix=/usr/local/php5--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql          --with-libxml-dir=/usr/local/libxml2--with-png-dir=/usr/local/lib          --with-jpeg-dir=/usr/local/jpeg6--with-zlib-dir=/usr/local/zlib        --with-freetype-dir=/usr/local/freetype--with-gd=/usr/local/gd -    -enable-soap    --enable-mbstring=all

make
make test
make install

建立php配置文件
cp php.ini-dist /usr/local/php5/lib/php.ini
修改apache配置文件添加php支持
vi /usr/local/apache2/conf/httpd.conf
加入(注意之前加过了就不用再加,否则apache不能启动:
LoadModule php5_module modules/libphp5.so 在此下面加入以下
AddType application/x-httpd-php .php   -


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程