源代码编译安装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环境的主要内容,如果未能解决你的问题,请参考以下文章