源代码编译安装LAMP环境

Posted iaknehc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源代码编译安装LAMP环境相关的知识,希望对你有一定的参考价值。

国庆假期时间比较充足,就自己试着以源代码的形式把lamp环境搭建一下,
在整个过程中出现了不少问题,花了大概差不多一天的时间吧。由于自己
也是摸索着完成的,所以记录下来,以便以后参考。

系统环境:
Redhat6.5 64位
已安装好gcc编译器

由于是源代码安装所以大多数包的安装过程都是这四个步骤
解压、configure、make、make install
其中make编译的过程最为关键,只要在make过程的最后没有出现error提示,
基本上就是编译通过了,后面的make install就没什么问题了。但是如果
在make的过程中出现错误,就不要执行后面的步骤了,看看错误提示是包的
依赖性问题或系统配置等的问题,查找资料找到解决问题的办法。重新编译安装,删除掉
原来解压出来的目录。

1 安装libxml依赖包python-devel
2 yum -y install python-devel.x86_64
1 下载libxml2,网址https://distfiles.macports.org/libxml2/
2 解压libxml2包
3 tar -zxvf libxml2-2.9.2.tar.gz
4 进入解压目录
5 ./configure --prefix=/usr/local/libxml2
6 make
7 make install
8 安装结束后如图下图所示

 1 下载Libmcrypt,网址https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/
 2 解压libmcrypt包
 3 tar -zxvf libmcrypt-2.5.8.tar.gz
 4 进入目录
 5 ./configure --prefix=/usr/local/libmcrypt
 6 make
 7 make install
 8 如图libmcrypt1
 9 完成后,进入该目录中的子目录安装组件
10 cd libltdl执行
11 ./configure --enable-ltdl-install
12 make
13 make install
14 如图下图所示

1 下载mhash,网址https://sourceforge.net/projects/mhash/files/
2 解压 tar -zxvf mhash-0.9.9.9.tar.gz
3 进入目录
4 默认配置就可以,直接执行 ./configure
5 make
6 make install
7 如下图所示

1 下载mcrypt,网址https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/
2 解压tar -zxvf mcrypt-2.6.8.tar.gz
3 进入目录执行命令
4 LD_LIBRARY_PATH=/usr/local/libmcrypt:/usr/local/lib ./configure --with-libcrypt-prefix=/usr/local/libmcrypt
5 make
6 make install
7 如图下图所示

1 下载zlib,网址http://zlib.net/fossils/
2 解压 tar -zvxf zlib-1.2.10.tar.gz
3 进入目录执行,默认配置即可
4 CFLAGS="-O3 -fPIC" ./configure  (64位安装,32位直接./configure)
5 make
6 make install
7 安装完成如下图所示

1 下载libpng,网址https://sourceforge.net/projects/libpng/files/libpng15/older-releases/1.5.22/
2 解压 xz -d libpng-1.5.22.tar.xz
3 在解压.tar包 tar -xvf libpng-1.5.22.tar
4 进入目录执行
5 ./configure --prefix=/usr/local/libpng
6 make
7 make install
8 如下图所示

 1 安装jpeg6,网址http://www.linuxfromscratch.org/blfs/view/6.3/general/libjpeg.html
 2 解压 tar -zxvf jpegsrc.v6b.tar.gz
 3 先创建好jpeg6要使用的目录
 4 mkdir /usr/local/jpeg6
 5 mkdir /usr/local/jpeg6/bin
 6 mkdir /usr/local/jpeg6/lib
 7 mkdir /usr/local/jpeg6/include
 8 mkdir -p /usr/local/jpeg6/man/man1
 9 进入目录执行
10 ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
11 make
12 make install
1 安装freetype,网址http://ftp.twaren.net/Unix/NonGNU/freetype/
2 解压 tar -zxvf freetype-2.4.2.tar.gz
3 进入目录执行
4 ./configure --prefix=/usr/local/freetype
5 make
6 make install
7 如图下图所示

 1 安装GD库,网站https://sourceforge.net/projects/gd2/
 2 解压 tar -zxvf gd-2.0.35.tar.gz
 3 进入目录,修改文件
 4 vim gd_png.c
 5 将16行的#include "png.h"改为#include "/usr/local/libpng/include/png.h"
 6 保存退出
 7 ./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng
 8 make
 9 make install
10 如下图所示

1 安装pcre,支持正则,网址https://sourceforge.net/projects/pcre/
2 解压 tar -zxvf pcre2-10.30.tar.gz
3 进入目录,默认配置即可
4 ./configure
5 make
6 make install
7 如下图所示

 1 安装apache接口工具apr和apr-util,网址http://apr.apache.org/download.cgi
 2 分别解压apr,apr-util,httpd
 3 tar -zxvf apr-1.6.2.tar.gz
 4 tar -zxvf apr-util-1.6.0.tar.gz
 5 tar -zxvf httpd-2.4.27.tar.gz
 6 执行命令
 7 cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
 8 cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
 9 进入到httpd的解压目录执行
10 ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/
11 --with-included-apr --enable-so --enable-deflate=shared
12 --enable-expires=shared --enable-rewrite=shared
13 
14 make
15 make install
16 
17 安装httpd服务器再执行make的过程中出现报错如下,错误很长,只贴一部分
18 xml/apr_xml.c:434: error: ‘apr_xml_parser’ has no member named ‘xp’
19 xml/apr_xml.c:438: error: ‘apr_xml_parser’ has no member named ‘xp’
20 xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp_err’
21 xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp’
22 xml/apr_xml.c: In function ‘apr_xml_parser_geterror’:
23 xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’
24 xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’
25 make[1]: * [xml/apr_xml.lo] Error 1
26 make[1]: Leaving directory `/root/Downloads/apache_svn/apr-util-1.6.0\'
27 make: * [all-recursive] Error 1
28 
29 解决办法  yum install expat-devel,之后执行make clean,再重新./configure 和make
30 
31 如图所示安装成功

测试apache是否能正常启动
/usr/local/apache2/bin/apachectl start
浏览器访问测试如图所示

1 安装ncurses,网址https://ftp.gnu.org/gnu/ncurses/
2 解压tar -zxvf ncurses-5.9.tar.gz
3 进入目录执行
4 ./configure --with-shared --without-debug --without-ada --enable-overwrite
5 make
6 make install
7 如下图所示

 1 先使用yum安装cmake和bison
 2 yum -y install cmake bison
 3 
 4 安装mysql
 5 先添加mysql用户
 6 groupadd mysql
 7 useradd -g mysql mysql
 8 下载http://mirrors.sohu.com/mysql/MySQL-5.5/
 9 解压tar -zxvf mysql-5.5.54.tar.gz
10 进入目录执行
11 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
12 -DEXTAR_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
13 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
14 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
15 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
16 
17 make
18 make install
19 启动mysql的过程中遇到错误FATAL ERROR: Could not find ./bin/my_print_defaults
20 解决办法是启动mysql多加两个选项
21 /usr/local/mysql/scripts/mysql_install_db --user=mysql
22 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
23 
24 连接mysql服务器如图所示

 1 安装php,网站http://www.linuxfromscratch.org/blfs/view/svn/general/php.html
 2 解压tar -xvf php-7.1.9.tar
 3 进入目录执行
 4 ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/
 5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/
 6 --with-libxml-dir=/usr/local/libxml2/ --with-freetype-dir=/usr/local/freetype/
 7 --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config
 8 --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql/
 9 --without-pear
10 
11 make
12 make install
13 如图所示

 1 将php作为一个模块加入到apache中,编辑httpd.conf
 2 vim /usr/local/apache2/etc/httpd.conf
 3 添加下面一行代码让apache能够找到php
 4 AddHandler application/x-httpd-php .php
 5 
 6 重启apache
 7 /usr/local/apache2/bin/apachectl restart
 8 
 9 在apache中的htdocs中创建文件index.php,添加代码如下所示
10 <?php
11 phpinfo();
12 
13 浏览器访问测试如下图所示

以上是关于源代码编译安装LAMP环境的主要内容,如果未能解决你的问题,请参考以下文章

LAMP环境编译安装

源码编译安装LAMP

LAMP环境官方最新源码编译安装

CentOS-6.5(X64)使用yum安装LAMP环境

lamp环境搭建

LAMP