Installing PHP dependencies

Installing PHP dependencies involves the following steps.
1)   Installing Aspell and Aspell Development packages
2)   Installing C-client and C-client Development packages
3)   Installing Enchant Development package
4)   Setting up GDBM and NDBM support
5)   Installing ICU Development package
6)   Installing libmcrypt
7)   Installing T1lib Development package
8)   Installing Tidy Development package
9)   Installing Tokyo Cabinet Development package
10) Installing libvpx Development package

 

1) Installing Aspell and Aspell Development packages
Pspell provides a generic interface to Spell checker libraries installed on the system. You need Aspell library with it’s development package for this feature.
CentOS v6.3 DVD1 installation does not come with Aspell and it’s development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install aspell aspell-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the aspell & aspell-devel libraries for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/aspell-0.60.6-12.el6.i686.rpm & http://vault.centos.org/6.3/os/i386/Packages/aspell-devel-0.60.6-12.el6.i686.rpm.
The size of downloaded RPMs are 629 KB & 46 KB respectively.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh aspell-0.60.6-12.el6.i686.rpm aspell-devel-0.60.6-12.el6.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

2) Installing C-client and C-client Development packages
C-client is an API for accessing mailboxes. It is used internally by IMAP server and PHP.
CentOS v6.3 DVD1 installation does not come with C-client and it’s development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install libc-client libc-client-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the libc-client & libc-client-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/libc-client-2007e-11.el6.i686.rpm & http://vault.centos.org/6.3/os/i386/Packages/libc-client-devel-2007e-11.el6.i686.rpm.
The size of downloaded RPMs are 524 KB & 56.3 KB respectively.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh libc-client-2007e-11.el6.i686.rpm libc-client-devel-2007e-11.el6.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

3) Installing Enchant Development package
Enchant is a free software project that unifies access to the various existing spell-checker softwares.
CentOS v6.3 DVD1 installation does not come with Enchant development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install enchant-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the enchant-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/enchant-devel-1.5.0-4.el6.i686.rpm.
The size of downloaded RPM is 11.7 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh enchant-devel-1.5.0-4.el6.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

4) Setting up GDBM and NDBM support
GDBM is a GNU database indexing library, including routines which use extensible hashing. It works in a similar way to standard UNIX dbm routines. It is useful for developers who write C applications and need access to a simple and efficient database or who are building C applications which will use such a database.
NDBM or New Data Base Manager is a 1986 Berkeley produced version from the AT&T DBM database. It is no longer developed. NDBM support is currently emulated by GDBM.
CentOS v6.3 DVD1 installation does not come with GDBM development package.
Perform the below steps for installation.

Make sure you have installed the GDBM Development package as instructed here.
Now, let us configure our system for NDBM support. PHP‘s configure script does not look to GDBM for NDBM support. But it looks specifically for NDBM header file and library. So let us create the appropriate softlinks.

Create a softlink for /usr/include/gdbm/ndbm.h as /usr/include/ndbm.h.

# ln -s /usr/include/gdbm/ndbm.h /usr/include/ndbm.h


Create a softlink for /usr/lib/libgdbm.so as /usr/lib/libndbm.so.

# ln -s /usr/lib/libgdbm.so /usr/lib/libndbm.so




5) Installing ICU Development package
ICU or International Components for Unicode is an open source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization. This is achieved by installing libicu library.
CentOS v6.3 DVD1 installation does not come with ICU development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install libicu-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the libicu-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/libicu-devel-4.2.1-9.1.el6_2.i686.rpm.
The size of downloaded RPM is 617 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh libicu-devel-4.2.1-9.1.el6_2.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

6) Installing libmcrypt
Mcrypt is a replacement for the popular Unix crypt command which was used for file encryption. Mcrypt provides the same functionality but using several modern algorithms.
Here we are going to install libmcryptlibmcrypt is Mcrypt‘s companion, which is a library of code that contains the actual encryption functions.
CentOS v6.3 does not have an official package for libmcrypt. So we must compile it from source.
NOTE: Installation is performed based on the rules iRULE6 and iRULE1.

libmcrypt is available from it’s official website.
Goto http://sourceforge.net/projects/mcrypt. I have downloaded the gzipped tarball libmcrypt-2.5.8.tar.gz which is 1.3 MB in size.

Unpacking
Installing

Unpacking
Make sure you have copied the downloaded file libmcrypt-2.5.8.tar.gz to /usr/src/ directory. In the terminal, change to /usr/src/ directory.

# cd /usr/src


Extract the gzipped tarball.

# tar -zxvf libmcrypt-2.5.8.tar.gz
OPTIONS EXPLAINED

-x
extract files from an archive

-v
verbosely list files processed

-z
filter the archive through gzip

-f
use archive file or device ARCHIVE


Installing
Now we will have directory libmcrypt-2.5.8 with the extracted files. Switch to the directory in terminal.

# cd libmcrypt-2.5.8


Execute the configure script.
NOTE: Complete configure options for libmcrypt.

# ./configure --disable-posix-threads --enable-dynamic-loading
OPTIONS EXPLAINED

--disable-posix-threads
disable Pthreads or POSIX threads

--enable-dynamic-loading
enable dynamic module loading

This will check our system for required dependencies, assigns values for system-dependent variables and use these values to generate the Makefile.


Execute make.

# make

make will look at our Makefile, compile our program code and create the executables in the sequence described.


Execute the make install.

# make install
OPTIONS EXPLAINED

install
install will look for the target install in Makefile.PL, and install DBD::mysql to the specified location.


Finally, run ldconfig.
NOTE: Before running this command, make sure you have added the directory /usr/local/ to the System library path as instructed here.

# ldconfig

ldconfig updates the links and cache to the most recently shared libraries.; so that dynamic-linker can find them during runtime.

 

 

7) Installing T1lib Development package
T1lib is an open source library that allows a programmer to generate/rasterize bitmaps from Adobe Type 1 fonts quite easily.
CentOS v6.3 DVD1 installation does not come with T1lib development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install t1lib-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the t1lib-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/t1lib-devel-5.1.2-6.el6_2.1.i686.rpm.
The size of downloaded RPM is 522 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh t1lib-devel-5.1.2-6.el6_2.1.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

8) Installing Tidy Development package
Tidy is a HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.
CentOS v6.3 DVD1 installation does not come with Tidy development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install libtidy-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the libtidy-devel library for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/libtidy-devel-0.99.0-19.20070615.1.el6.i686.rpm.
The size of downloaded RPM is 96.9 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh libtidy-devel-0.99.0-19.20070615.1.el6.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

9) Installing Tokyo Cabinet Development package
Tokyo Cabinet is a library of routines for managing a database. It is the successor of QDBM. The database size is very small. It runs very fast and is scalable.
CentOS v6.3 DVD1 installation does not come with Tokyo Cabinet development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install tokyocabinet-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the tokyocabinet-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/tokyocabinet-devel-1.4.33-6.el6.i686.rpm.
The size of downloaded RPM is 477 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh tokyocabinet-devel-1.4.33-6.el6.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v
Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

10) Installing libvpx Development package
libvpx is the VP8 Codec SDK. Currently libvpx is the only software library capable of encoding and decoding VP8 video streams.
CentOS v6.3 DVD1 installation does not come with libvpx development package.
Perform the below steps for installation.
NOTE: Installation is performed based on the rule iRULE4.

♦  If you have an internet connection
♦  If you do not have an internet connection

If you have an internet connection
In the terminal, execute the following command.

# yum install libvpx-devel
OPTIONS EXPLAINED
install
Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. (See Specifying package names for more information) If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed. If the name starts with an @ character the rest of the name is used as though passed to the groupinstall command. If the name starts with a - character, then a search is done within the transaction and any matches are removed. If the name is a file, then install works like localinstall. If the name doesn’t match a package, then package "provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will match multiple packages.

If you do not have an internet connection
Find a system that has an internet connection. Download the libvpx-devel package for CentOS v6.3 from http://vault.centos.org/6.3/os/i386/Packages/libvpx-devel-0.9.0-8.el6_0.i686.rpm.
The size of downloaded RPM is 153 KB.
In the terminal, change to the directory holding the RPM file. Execute the following command.

# rpm -ivh libvpx-devel-0.9.0-8.el6_0.i686.rpm
OPTIONS EXPLAINED

-i
This installs a new package.

-v

Print verbose information - normally routine progress messages will be displayed.

-h
Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.

 

 

 

You may go back to the following section.
Installing PHP