第十七章 LAMP环境搭建和LNMP环境搭建(一)
LAMP 环境搭建指的是在 Linux 操作系统中分别安装 Apache 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。
LAMP 环境是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。而且随着开源软件的蓬勃发展,越来越多的企业和个人选择在 LAMP 开发平台上搭建自己的网站。
www.netcraft.com 网站的统计数据表明,采用 LAMP 环境搭建的网站数量占全球网站总数的 52.19%(2013 年 7 月数据),而其余的网站平台(如 Microsoft IIS 开发平台、Linux Nginx 开发平台、Google 开发平台等)占用了剩余的份额。
LNMP 环境搭建指的是在 Linux 操作系统中分别安装 Nginx 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。
在 LNMP 环境中,使用 Nginx 网页服务器取代了 Apache 网页服务器。Nginx 是一款高性能的 HTTP 网页服务器和反向代理服务器,它的执行效率极高,配置相比 Apache 也较为简单,所以在短时间内被国内外很多大型公司所采用,大有取代 Apache 的势头(目前还是以 Apache 为主流的)。
一、Linux LAMP环境搭建的前期准备
我们知道,如果我们安装的是应用服务软件,这个软件是给外网用户访问和使用的,那么应该使用源码包安装,因为源码包安装的软件经过了本机编译,性能更好。所以我们的 LAMP 环境搭建,在生产服务器上一般采用源码包进行安装,而不会使用 RPM 包进行安装,接下来我们要讲的也是采用源码包方式搭建 LAMP 环境。
LAMP 环境搭建是较为复杂的 Linux 实验,在进行真正的环境安装之前,需要做一些细致的准备工作,以避免在安装过程中出现不必要的错误。我们需要进行的准备工作有以下几步。
1、获取源码包
我们已经知道 RPM 包是在 CentOS 的安装光盘中保存的,但是源码包需要去互联网下载。我们此次完成 LAMP 环境搭建需要 19 个软件包,这是目前较为完善和常用的 LAMP 环境搭建方式。这些软件包的下载地址如表 1 所示。这些下载地址只是参考,如果有失效的,则请自行搜索。
软件包 | 说 明 | 下载地址 |
---|---|---|
httpd-2.4.7.tar.gz | Apache 包 | Welcome to The Apache Software Foundation! |
mysql-5.5.23.tar.gz | MySQL数据库 | http://dev.mysql.com/downloads/ |
php-5.4.25.tar.gz | PHP语言 | PHP: Downloads |
phpMyAdmin-4.1.4-all-languages.iar.gz | Web方式的MySQL管理工具 | http://www.phpmyadmin.com/ |
libxml2_2.9.1.tar.gz | 用来解析XML文档的函数库 | http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html |
libmerypt-2.5.8.tar.gz | 加密算法扩展库 | Download libmcrypt-2.5.8.tar.gz (mcrypt) |
mhash-0.9.9.9.tar.gz | 加密算法扩展库 | Libmhash - Browse /mhash/0.9.9.9 at SourceForge.net |
mcrypt-2-6.8-tar.gz | 加密算法扩展库 | mcrypt - Browse /MCrypt/2.6.8 at SourceForge.net |
zlib-1.2.3.tar.gz | 数据压缩函数库 | zlib Home Site |
gd-2.0.35.tar.gz | PHP处理用形的扩展库 | libgd / gd-libgd / Downloads — Bitbucket |
freetype-2.3.5-tar-gz | 字体引擎库 | Index of /releases/freetype/ |
libpng-1.2.31.tar.gz | 用于解码.png格式的图片 | ftp://ftp.simplesystems.org/pub/libpng/png/src/ |
jpegsrc.v6b.tar.gz | 用于解码.jpg和.jpeg格式的图片 | http://www.ijg.org/files/jpegsrc.v6b.tar.gz |
apr-1.4.6.tar.gz | Apache支持镆块 | Index of /dist/apr |
apr-util-1.4.1.tar.gz | Apache支持模块 | Index of /dist/apr |
pcre-8.34.tar.gz | Apache支持模块,使Apache支持pcre正则表达式规则 | PCRE Download Statistics by Country: pcre/8.34/pcre-8.34.tar.gz |
ncurses-5.9.tar.gz | 使应用程序直接控制终端屏幕显示的函数库 | Index of /pub/gnu/ncurses |
memcache-3.0.8.tgz | memcache函数库(客户端) | http://pecl.php.net/package/memcache |
memcached-1.4.17.tar.gz | memcached服务器端 | memcached - a distributed memory object caching system |
大家可能已经发现,我们下载的软件包不全是最新的版本,这主要是为了和 php-5.4.25.tar.gz 这个软件包进行匹配。当然,php-5.4.25.tar.gz 也已经不是最新版本的 PHP 了,不过在计算机领域永远不是最新版本的软件就是最好的,新软件虽然有了更多的功能,但是这个软件并没有经过实际工作的检验,它不一定稳定,也有可能会有 Bug;反而版本较低的、但是经过足够的实践检验的软件会更受开发者的欢迎。
Linux 就是这样的,CentOS 6.x 自 2011 年发布以来,经过多年的补充和完善,目前才逐渐得到个人使用者和企业使用者的认可。PHP 同样如此,目前 php-5.4.25.tar.gz 依然是使用最多的 PHP 版本,所以我们依然使用 php-5.4.25.tar.gz 来介绍 LAMP 环境的搭建。
2、把软件包传送到Linux服务器上
我们可以直接把软件包下载到 Linux 服务器上,也可以先下载到本地 Windows 中,再上传到 Linux 服务器中。如果是先下载到本地 Windows 中,再上传到 Linux 服务器中,那么需要利用网络文件服务器来进行数据的传输。但是我们现在还没有学习 Linux 中的文件服务器(如 FTP、Samba 或 NFS),所以我们在这里介绍一款名为 WinSCP 的软件。
WinSCP 是在 Windows 中安装,使用 SFTP 协议向 Linux 服务器传递文件的工具。它的特点是使用简单、图形化操作,而且数据传递过程是加密的,较为安全,是 Windows 和 Linux 之间进行数据传递的常用软件。WinSCP 第一次启动的界面如图 2 所示。
图 2 WinSCP启动界面
在启动界面的“主机名”文本框中输入 Linux 服务器的 IP 地址,如 192.168.0.210,在“用户名”文本框中输入 Linux 的用户名,在“密码”文本框中输入正确的密码,单击“登录”按钮,就会见到如图 3 所示的界面。
图 3 WinSCP传输界面
在这个工具中,左半部分是 Windows 系统中的文件,右半部分是 Linux 服务器上的文件。如果需要从 Windows 向 Linux 传递什么文件,则只需找到这个文件或目录,从左半部分拖拽到右半部分即可;反过来就是从 Linux 传递文件到 Windows 中,非常简单。
那么,我们应该把软件放置在 Linux 服务器的什么位置呢?Linux 中的 /usr/local/src/ 目录是系统默认的放置下载软件源代码的位置,所以我们就把搭建 LAMP 环境所需的所有软件包都传递到这个位置,传递完成后查看一下,如下:
[root@localhost ~]# ls /usr/local/src/
apr-1.4.6.tar.gz jpegsrc.v6b.tar.gz memcache-3.0.8.tgz
pcre-8.34.tar.gz
apr-util-1.4.1.tar.gz libmcrypt-2.5.8.tar.gz memcached-1.4.17.tar.gz
php-5.4.25.tar.gz
freetype-2.3.5.tar.gz libpng-1.2.31.tar.gz mhash-0.9.9.9.tar.gz
phpMyAdmin-4.1.4-all-languages.tar.gz
gd-2.0.35.tar.gz libxml2-2.9.1.tar.gz mysql-5.5.23.tar.gz
zlib-1.2.3.tar.gz
httpd-2.4.7.tar.gz mcrypt-2.6.8.tar.gz ncurses-5.9.tar.gz
[root@localhost ~]# ls /usr/local/src/ | wc -l
19
我们发现,19 个软件包全部传递到 Linux 服务器中。
3、安装编译工具
源码包都是用 C 或 C++ 语言编写的,而且需要在本机编译之后才能正确安装。在 Linux 中,C 语言的编译器是 gcc,C++ 语言的编译器是 gcc-c++。
在安装源码包之前,需要确认这两个编译器是否存在。命令如下:
[root@localhost ~]# rpm -qa | grep gcc
libgcc-4.4.6-4.el6.i686
gcc-4.4.6-4.el6.i686
可以看到,我们已经安装了 gcc 编译器,但是还没有安装 gcc-c++ 编译器。使用 yum 安装 gcc-c++ 编译器,命令如下:
[root@localhost ~]# yum -y install gcc-c++
如果 Linux 服务器可以正常连接互联网,那么这条 yum 命令是可以直接使用的,不用进行任何配置与修改。只是 yum 会去连接 CentOS 的官方服务器,这台服务器在国外,速度可能较慢。如果 Linux 服务器不能正常连接互联网,则也可以使用本地光盘作为 yum 源。
安装完成后再查询一下,如下:
[root@localhost ~]# rpm -qa | grep gcc
gcc-4.4.7-3.el6.i686
libgcc-4.4.7-3.el6.i686
gcc-c++-4.4.7-3.el6.i686
gcc 和 gcc-c++ 编译器都已经安装了。大家可能发现这次查询的 gcc 是 4.4.7 版本,而上次查询的 gcc 是 4.4.6 版本,那是因为笔者使用网络 yum 源去 CentOS 的官方服务器上安装 gcc-c++,但是在安装 gcc-c++ 的时候,是需要 gcc 已经安装完成的。在 CentOS 的官方服务器上,gcc 和 gcc-c++ 的版本更高,所以在安装 gcc-c++ 的时候,自动更新了 gcc 的版本。不管怎么说,编译工具已经安装完成,我们可以进行下一步的准备工作了。
4、关闭RPM包安装的apache和mysql
我们在生产服务器上是不会既安装 RPM 包的 apache,又安装源码包的 apache 的。但是为了教学需要,有时需要安装这两种包的 apache。我们现在需要停用 RPM包安装的 apache 和 mysql,命令如下:
[root@localhost ~]# service httpd stop
[root@localhost ~]# service mysqld stop
#停止apache和mysql服务
[root@localhost ~]# chkconfig httpd off
[root@localhost ~]# chkconfig mysqld off
#关闭apache和mysql的自启动
5、关闭防火墙和SELinux
在生产服务器上,防火墙是不能直接关闭的,而是需要设置防火墙允许 80 端口(apache)、3306 端口(mysql)和 11211(memcache)端口访问的。但是目前我们还没有学习防火墙,所以只能暂时关闭它了。关闭命令如下:
[root@localhost ~]# setup
在图 4 所示的界面中选择“防火墙配置”,进入防火墙配置界面。
图 4 setup界面
在图 5 所示的界面中,把“启用”前面的“*”去掉,选择“确定”保存,默认防火墙规则就会被关闭。
图 5 关闭防火墙
再查询一下防火墙规则:
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#默认filter表中的三条链中的规则都是空。防火墙已经被关闭了
除关闭防火墙之外,我们还需要关闭 SELinux 安全子系统。因为这个子系统会对我们的安装过程产生影响,所以先关闭它。关闭命令如下:
[root@localhost ~]# vi /etc/selinux/config
#把 SELINUX=enforcing改为 SELINUX=disabled
[root@localhost ~]# shutdown -r now
#重启Linux系统
关闭 SELinux 之后,必须重启 Linux 系统,修改才会生效。
6、关闭不必要的服务
接下来需要关闭我们不需要的服务,这既是服务器的必须优化步骤,也会使我们在 LAMP 环境搭建过程中的报错可能性大大降低,所以建议大家进行这一步服务优化。具体方法就是使用 ntsysv 命令把不需要的服务前面的“*”去掉,然后重启 Linux 服务器。具体哪些服务是必须启动的,哪些服务是不必要的,大家可以参考《十四: 六、Linux常见服务类别及功能》一节。
7、批量解压源码包
我们需要安装 17 个源码包,如果一个一个地解压缩实在太麻烦了,那么我们写一个小的 Shell 脚本,批量进行解压缩。命令如下:
[root@localhost ~]# vi tar.sh
#建立解压缩脚本
#! /bin/bash
#标称是 Shell脚本
cd /usr/local/src/
#进入保存源妈包的目录
ls *.tar.gz > /usr/local/src/ls.log
#把所有以.tar .gz结尾的文件名覆盖写入ls.log文件
ls *.tgz >> /usr/local/src/ls.log
#把所有以.tgz结尾的文件名追加写入ls.log文件
file=$(cat /usr/local/src/ls.log)
#读取 Is.log 文件中的内容,赋子变量file
for i in $file
#for循环,每次德环把变量file中的一个文件名
do
tar -zxf $i
#解压缩毎个压缩文件
done
rm -rf /usr/local/src/ls.log
#删除临时文件ls.log
#以上是脚本的内容
[rootBlocalhost ~]# chmod 755 tar.sh
#赋予tar.sh文件执行权限
[root@localhost ~]
./tar.sh
#执行这个脚本
这样,所有的压缩包就已经完成了解压缩过程。
8、检查硬盘的剩余空间
LAMP 环境搭建大概需要 3GB 的空闲空间,所以确认一下硬盘的剩余空间,命令如下:
[root@localhost src]# df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 20G 2.5G 16G 14% /
tmpfs 306M 0 306M 0% /dev/shm
/dev/sda1 194M 26M 158M 15% /boot
“/”分区还有16GB的可用空间,足够使用了。
二、Linux libxml2安装过程(详解版)
libxml2是一个用来解析XML文档的函数库。它用 C 语言写成,并且能被多种语言所调用,如 C、C++、XSH、C#、Python、Kylix、Delphi、Ruby、PHP 等。它最初是为 GNOME 开发的项目,但是现在可以用在各种各样的项目中。
libxml2 的代码可移植性非常好,因为它基于标准的 ANSI C 库,并采用了 MIT 许可证。安装步骤如下。
1、安装python-devel
这个软件包是 libxml2 的依赖包,如果不安装,libxml2 安装就会报错。这个软件包只是一个底层依赖包,所以安装 RPM 包即可。命令如下:
yum -y install python-devel
2、 进入解压缩之后的源码目录
这一步不能省略,因为 "./configure"、"make" 和 "make install" 操作的都是当前所在目录,所以一定要进入解压缩之后的源码目录。命令如下:
[root@localhost ~]# cd /usr/local/src/libxml2-2.9.1
3、 编译前的准备和配置
这一步主要检查安装需要的系统环境、配置软件需要的功能选项,并生成配置安装文件 Makefile,以后的编译与编译安装过程需要依赖 Makefile 文件。命令如下:
[root@localhost libxml2-2.9.1]#./configure --prefix=/usr/local/libxml2/
#“--prefix=/usr/local/libxml2/”用于指定安装位置
有些人可能会有疑问:这个软件的安装位置和安装目录名称是可以随意指定的吗?我们一般会将源码包安装到 /usr/local/ 目录中,这个目录是 Linux 的默认源码包安装目录,并不推荐大家随意更改。至于安装目录名称,如果只是单独安装这个软件,则目录名称可以随意指定,不一定非要叫“libxml2”。但是我们在搭建 LAMP 环境时,这个软件会被后面的软件所调用,如果修改了安装目录名称,那么后面一系列的安装命令都要进行修改,非常容易报错,所以不建议大家随意修改。
4、编译
也就是依靠 gcc 把源码包翻译为二进制的机器语言包。命令如下:
[root@localhost libxml2-2.9.1]# make
以上的编译前配置和编译都不会在 /usr/local/ 目录中写入任何数据,只会在源码目录中生成 Makefile 等临时文件。所以,如果报错了,则只需执行“make clean”命令清除缓存和临时文件,再进行安装即可。
5、 编译安装
这一步才会真正向 /usr/local/ 目录中写入数据。命令如下:
[root@localhost libxml2-2.9.1]# make install
这条命令执行之后,就会建立 /usr/local/libxml2/ 目录,并在目录下生成相应的文件。
三、Linux libmcrypt及安装过程(LAMP环境搭建)
libmcrypt 是加密算法扩展库,支持 DES、3DES、RIJNDAEL、Twofish、IDEA、GOST、CAST-256、ARCFOUR、SERPENT、SAFER+ 等算法。安装步骤如下。
1、 进入解压缩目录
命令如下:
[root@localhost libxml2-2.9.1]# cd /usr/local/src/libmcrypt-2.5.8
2、编译前配置,并指定安装位置
命令如下:
[root@localhost libmcrypt-2.5.8]#./configure --prefix=/usr/local/libmcrypt
3、编译
命令如下:
[root@localhost libmcrypt-2.5.8]# make
4、编译安装
命令如下:
[root@localhost libmcrypt-2.5.8]# make install
5、安装 libltdl 库
在安装完 libmcrypt 之后,有些 Linux 还需要安装 libltdl 库,这个库是 libmcrypt 的子软件,就在 libmcrypt 的源码包之中,所以要进入 /usr/local/libmcrypt 目录才能看到。命令如下:
[root@localhost root]# cd /usr/local/src/libmcrypt-2.5.8/libltdl
#进入软件源码目录
[root@localhost libltdl]#./configure ——enable-ltdl-install
#配置libltdl库的安装
[root@localhost libltdl]# make
#编译
[root@localhost libltdl]# make install
#编译安装
安装完成之后,记得确认安装目录是否生成。
四、Linux mhash和mcrypt安装过程详解(LAMP环境搭建)
本节讲解LAMP环境搭建过程中 mhash和mcrypt源码包的安装过程。
1、mhash源码包安装
mhash 是基于离散数学原理的不可逆向的PHP加密方式扩展库。mhash 可以用于创建校验数值,消息摘要,消息认证码,以及无须原文的关键信息保存(如密码)等。
安装步骤如下:
[root@localhost ~]# cd /usr/local/src/mhash-0.9.9.9.tar.gz
[root@localhost ~]# cd /usr/local/src/mhash-0.9.9.9.tar.gz
#进入解压缩目录
[root@localhost mhash-0.9.9.9]#./configure
#没有指定安装位置。因为在mcrypt包安装时,会在默认位置查找mhash包,如果指定了安装位置,
#那么mcrypt包在安装时会报错
[root@localhost mhash-0.9.9.9]# make
#编译
[root@localhost mhash-0.9.9.9]# make install >> /root/mhash_install.log
#编译安装。把安装过程保存在mhash_install.log文件中,便于删除
2、mcrypt源码包安装
mcrypt 是 PHP 里面重要的加密支持扩展库。mcrypt 库支持 20 多种加密算法和 8 种加密模式。mcrypt 要比 libmcrypt 更加先进,在很多项目中必须使用 mcrypt 加密方式。请大家注意,在安装 mcrypt 之前,必须先正确安装 libmcrypt 和 mhash。
安装步骤如下:
[root@localhost mhash-0.9.9.9]# cd /usr/local/src/mcrypt-2.6.8
#进入源码目录
[root@localhost mcrypt-2.6.8]#
LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/ local/lib./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
#LD_LIBRARY_PATH用于指定libmcrypt和mhash库的位置
#./configure为编译前准备命令,——with-libmcrypt-prefix用于指定libmcrypt软件位置
[root@localhost mcrypt-2.6.8]# make
#编译
[root@localhost mcrypt-2.6.8]# make install
#编译安装
请大家注意,在这里 mcrypt 并没有安装完成。因为 mcrypt 是 PHP 的模块,所以需要等到 PHP 安装完成之后,再继续安装。
有关PHP模块的安装过程,可以参照《十二、Linux安装PHP过程详解》一节进行安装。
PHP 模块安装成功后,才能按照以下步骤继续安装 mcrypt。
(1)编译安装
命令如下:
[root@localhost memcache-3.0.8]# cd /lamp/php-5.4.25/ext/mcrypt/
#进入PDO模块的解压缩目录
[root@localhost mcrypt]# /usr/local/php/bin/phpize
#使用phpize加载PDO模块
[root@localhost mcrypt]# ./configure \ #编译前配置
--with-php-config=/usr/local/php/bin/php-config \#指定php-config文件的位置
--with-mcrypt=/usr/local/libmcrypt/ #调用libmcrypt
[root@localhost mcrypt]# make
#编译
[root@localhost mcrypt]# make install
#编译安装
(2) 修改PHP配置文件
要让 PHP 可以识别和使用 memcache 和 mcrypt 模块,还需要修改一下 PHP 的配置文件,命令如下:
[root@localhost mcrypt]# vi /usr/local/php/etc/php.ini
#修改PHP配置文件
extension_dir = "./"
#在这个文件中找到这句话,把它改为以下这句话
extension_dir="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/"
#新加入以下两句话
extension="memcache.so";
extension="mcrypt.so";
安装完成之后,重启 apache,就可以在 phpinfo 页面中看到这两个模块了。
五、Linux zlib和libpng安装(LAMP环境搭建)
本节讲解 Linux 在搭建 LAMP 环境过程中对 zlib 和 libpng 源码包的安装。
1、安装zlib源码包
zlib 是提供数据压缩用的函数库,使用 DEFLATE 算法,最初是为 libpng 函数库所写的,后来普遍被许多软件所使用。此函数库为自由软件,使用 zlib 授权。
安装步骤如下:
[root@localhost ~]# cd /usr/local/src/zlib-1.2.3
#进入zlib解压缩目录
[root@localhost zlib-1.2.3]#./configure
#编译前配置,没有指定安装位置,zlib会安装到系统的默认位置。这是为了让libpng可以在默认位置中找到zlib。如果指定了zlib的安装位置,那么libpng在安装时可能会报错
[root@localhost zlib-1.2.3]# make
#编译
[root@localhost zlib-1.2.3]# make install >> /root/zlib_install.log
#编译安装。把编译安装过程保存到zlib_install.log文件中,以方便删除
2、安装libpng源码包
libpng 软件中包含 libpng 函数库,这些库是用来解码 .png 格式的图片的。安装步骤如下:
[root@localhost zlib-1.2.3]# cd /usr/local/src/libpng-1.2.31
#进入libpng解压缩目录
[root@localhost libpng-1.2.31]#./configure ——prefix=/usr/local/libpng
#编译前配置,指定安装位置
[root@localhost libpng-1.2.31]# make
#编译
[root@localhost libpng-1.2.31]# makeinstall
#编译安装
六、Linux jpeg6安装过程详解(LAMP环境搭建)
jpeg6 软件是用来解码 .jpg 和 .jpeg 格式的图片的。安装步骤如下。
1、 手工建立必需的目录
[root@localhost root]# mkdir /usr/local/jpeg6
#建立jpeg6软件安装目录
[root@localhost root]# mkdir /usr/local/jpeg6/bin
#建立存放命令的目录
[root@localhost root]# mkdir /usr/local/jpeg6/lib
#创建jpeg6函数库文件所在目录
[root@localhost root]# mkdir /usr/local/jpeg6/include
#建立存放头文件的目录
[root@localhost root]# mkdir -p /usr/local/jpeg6/man/man1
#建立存放帮助手册的目录
请大家注意,这些目录必须手工建立,否则安装过程会报错
2、编译与安装
[root@localhost libpng-1.2.31]# cd /usr/local/src/jpeg-6b/
#进入jpeg6解压缩目录
[root@localhost jpeg-6b]# ./configure \
——prefix=/usr/local/jpeg6/ \#指定安装位置
——enable-shared \ #建立共享库使用的GNU的libtool
——enable-static #建立静态库使用的GNU的libtool
#编译前配置。“\”代表一条命令没有写完,换行继续输入
[root@localhost jpeg-6b]# make
#编译
[root@localhost jpeg-6b]# make install
#编译安装
七、Linux安装freetype过程(LAMP环境搭建)
FreeType 库是一个完全免费(开源)的、高质量的、可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括 TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF 等,支持单色位图、反走样位图的渲染。
FreeType 库是高度模块化的程序库,虽然它是使用 ANSI C 开发的,但是采用面向对象的思想,因此,FreeType 的用户可以灵活地对它进行裁剪。
FreeType 安装步骤如下:
[root@localhost jpeg-6b]# cd /usr/local/src/freetype-2.3.5
#进入freetype解压缩目录
[root@localhost freetype-2.3.5]#./configure --prefix=/usr/local/freetype
#编译前配置,指定安装位置
[root@localhost freetype-2.3.5]# make
#编译
[root@localhost freetype-2.3.5]# make install
#编译安装
八、Linux gd库安装步骤说明
gd 库是PHP处理图形的扩展库,它提供了一系列用来处理图片的 API(应用程序编程接口),使用 gd 库可以处理图片或者生成图片。在网站上,gd 库通常用来生成缩略图,或者对图片加水印,或者生成汉字验证码,或者对网站数据生成报表等。
gd库安装步骤如下。
1、建立 gd 库安装目录,进入 gd 库解压缩目录
[root@localhost autoconf-2.61]# cd /usr/local/src/gd-2.0.35
2、修改gd_png.c文件
[root@localhost gd-2.0.35]# vi gd_png.c
#把文件中 include "png.h"改为 include "/usr/local/libpng/include/png.h"
如果不修改 gd_png.c 文件,则默认会在当前目录下搜索 png.h 文件。我们已知 libpng 安装在 /usr/local/libpng/ 目录中,所以当然不能找到,就会报错。把 png.h 的正确路径“/usr/local/libpng/include/png.h”写入,报错就能解决。
3、编译安装
[root@localhost gd-2.0.35]# ./configure \
--prefix=/usr/local/gd2/ \ #指定安装位置
--with-jpeg=/usr/local/jpeg6/ \ #指定jpeg6的位置
--with-freetype=/usr/local/freetype/ \ #指定freetype的位置
--with-png=/usr/local/libpng/ #指定libpng的位置
#编译前配置
#因为gd库需要调用前面安装的zlib、jpeg、freetype和libpng,所以需要指定它们的安装位置,才能正确调用这些软件。不过因为前面安装zlib时没有指定安装位置,所以不用指定——with-zlib=/usr/local/zlib/选项,gd会自动到默认安装位置中寻找zlib
[root@localhost gd-2.0.35]# make
#编译
[root@localhost gd-2.0.35]# make install
#编译安装