先从Apache开始装-》MySQL-》PHP PHP在编译的时候需要用到MySQL的一些参数,需要用到Apache的参数。

准备工作:
1、查看系统中是否有自带的Apache
如果提示你不能卸载,有依赖先卸载掉
rpm -e gnome-user-shar 然后再卸载httpd
rpm -e httpd 2、必须安装gcc、GCC-c++(设置yum源)
yum install gcc* 3、关闭防火墙、selinux 如何确定报错:
1)、安装过程停止。
2)、停止之后,一个页面都出现error或warning 如何确定安装成功:
一般情况下进入安装目录,确认目录中是否有程序出现。 1、安装Apache
mkdir /Apache
准备工作:
1)、编译安装apr,Apache可移植运行库,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。
mkdir /Apache/apr ./configure --prefix=/Apache/apr/
注意:在执行configure的时候必须进入到这个安装包的目录下。
make
make install 2)、编译安装apr-util,需要在apr的基础上安装,apr-util只不过比在apr的基础上提供了更多的底层支持接口。 mkdir /Apache/apr-util ./configure --prefix=/Apache/apr-util --with-apr=/Apache/apr make make install 3)、编译安装pcre,是一个工具库,提供了正则表达式库。很多开源软件都需要使用比如Apache和PHP。 mkdir /Apache/pcre ./configure --prefix=/Apache/pcre make make install 4)、编译安装Apache。 ./configure --prefix=/Apache/ --with-apr=/Apache/apr --with-apr-util=/Apache/apr-util --with-pcre=/Apache/pcre 5)、启动Apache测试是否能够正常使用,/Apache/bin/apachectl start 7、安装MySQL 1)、安装cmake工具,和configure一样,用来输出各种各样的makefile文件。 yum install cmake
2)、安装bison软件,是一个自由软件,用于自动生成语法分析器程序。
cd /media/Packages/
yum install bison-2.4.1-5.el6.i686.rpm
rpm -q bison-2.4.1-5.el6.i686.rpm 查看安装上了木有
3)、安装perl语言,是一种功能丰富的计算机器程序语言,安装它是因为MySQL中有很多库和组件正好是perl语言中有的。
yum -y install perl* 或单独安装
autoconf
[root@lichihua Packages]# yum install autoconf-2.63-5.1.el6.noarch.rpm
automake
yum install automake-1.11.1-1.2.el6.noarch.rpm
zlib*,安装zlib函数库,是提供数据压缩用的函数库。(有可能已经安装,使用rpm -q zlib查看)
rpm -q zlib 如果安装了就不安了如果没安装yum install zlib*
flex*
yum install flex* libtool-ltdl-devl*
yum install libtool-ltdl-devel* 4)、安装ncurses和ncurses-devel库,提供字符端终端处理库。包括一些面板和菜单,提供了一套控制光标,建立窗口改变前景背景颜色以及数据处理操作的函数。
yum install ncurses* 这样上面两个都安装成功了 5)、创建MySQL安装目录和数据文件放置的目录
想把MySQL装在哪就新建文件夹在哪这里 mkdir /MySQL/data
6)、解压源码包 7)、使用cmake进行编译。
cmake -DCMAKE_INSTALL_PREFIX=/apache/mysql -DMYSQL_UNIX_ADDR=/apache/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/apache/mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DWITH_MYISAM_STORAGE_ENGINE=1 由于mkdir /MySQL/data
-DCMAKE_INSTALL_PREFIX=/apache/mysql改成-DCMAKE_INSTALL_PREFIX=/MySQL
-DMYSQL_UNIX_ADDR=/apache/mysql/mysql.sock改成-DMYSQL_UNIX_ADDR=/MySQL/mysql.sock
-DMYSQL_DATADIR=/apache/mysql/data改成-DMYSQL_DATADIR=/MySQL/data 注意:-DENABLE_DOWNLOASDS自动下载可选文件,比如自动下载谷歌的测试包,如果不安装编译不过去
注意:如果配置出错需要删除CMakeCache.txt,然后重新编译。
make
make install 8)、为了安全起见需要有专门的系统用户来进行运行MySQL
groupadd mysql 组
useradd -r -g mysql mysql 第一个为组 第二个为 新建的用户 cat /etc/passwd
mysql:x:496:501::/home/mysql:/bin/bash
vi /etc/passwd(可不改)
mysql:x:496:501::/home/mysql:sshd:/sbin/nologin 更改mysql安装目录的所有者:
chown -R mysql:mysql /MySQL 9)、初始化mysql数据库
注意:必须进入到MySQL的安装目录下执行。
/MySQL/scripts/mysql_install_db --user=mysql --datadir=/MySQL/data/ 10)、复制mysql服务启动配置文件
cp /MySQL/support-files/my-huge.cnf /etc/my.cnf
注意:如果已经提示/etc/my.cn文件存在则覆盖。 11)、启动mysql
/MySQL/bin/mysqld --user=mysql --datadir=/MySQL/data/ & 注意:如果已经开启那么应该用ps aux | grep mysql 能够看到 关闭在安装目录下使用 mysqladmin -u root -p shutdown /MySQL/bin/mysqladmin -u root -p shutdown 12)、进入到MySQL测试一下/apache/mysql/bin/mysql -uroot -p默认密码为空。
/MySQL/bin/mysql -u root -p 注意:默认的时候密码为空。 13)、修改密码
/MySQL/bin/mysqladmin -u root -p password '1234@abcd' 问题:
1、[root@localhost mysql]# 150725 17:16:45 [ERROR] Unknown collation: 'utf8-general_ci' 原因:不认识utf8-general_ci校验字符集,只需要重新修正就可以,在my.cnf中的[mysqld]下面加入character_set_server=utf8即可 8、安装PHP
1)、安装apxs(已经安装放在安装目录下的bin/apxs目录下) 2)、安装libxml库。
xml,可扩展标记语言,HTML有些相同的地方,可以自定义一些标签,但是HTML是用来标记的,XML是用来存储数据的,用来多种程序间共享数据用的。 libxml库,提供了对XML文档的各种操作方法。 3)、安装zlib函数库,是提供数据压缩用的函数库(有可能已经安装)。 4)、安装jpeg6,用于解码.jpg和.jpeg图片
./configure --prefix=/apache/jpeg --enable-shared --enable-static --enable-shared与--enable-static参数分别为建立共享库和静态库使用的libtool 注意:以下目录必须手动创建。
mkdir /apache/jpeg
mkdir /apache/jpeg/bin
mkdir /apache/jpeg/lib
mkdir /apache/jpeg/include
mkdir -p /apache/jpeg/man/man1 5)、安装libpng,用于解码.png图片 6)、安装freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。 7)、安装gd2,用于处理图像,GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。
./configure --prefix=/apache/gd2 --with-jpeg=/apache/jpeg --with-freetype=/apache/freetype --with-png=/apache/libpng --with-zlib=/apache/zlib 注意:
1、gd库要处理jpeg\字体\png文件,指明应用的位置。
2、png错误,解决方法。(如果不解决会有问题,安装GD2前)
vi gd_png.c
把#include "png.h" 修改为 #include "/apache/libpng/include/png.h" 8)、因为PHP 5.4的版本,检测gd库会有问题,手工修改。(安装完GD2后)
vi /apache/gd2/incude/gd_io.h
在typedef struct gdIOCt
{
void (*data);#加入此句
} 9)、安装libmcrypt库,是一个加密算法扩展库。 10)、安装curl,是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。 11)、编译PHP ./configure --prefix=/apache/php/ --with-config-file-path=/apache/php/etc --with-apxs2=/apache/bin/apxs --with-mysql=/apache/mysql/ --with-libxml-dir=/apache/libxml/ --with-jpeg-dir=/apache/jpeg/ --with-png-dir=/apache/libpng/ --with-freetype-dir=/apache/freetype/ --with-gd=/apache/gd2/ --with-mcrypt=/apache/libmcrypt/ --with-mysqli=/apache/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/apache/mysql/ --without-pear --with-curl=/apache/curl/ 注意:
1、/apache/php/etc需要自己创建。
2、如果提示
Sorry, I cannot run apxs. Possible reasons follow: 1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed) The output of /apache/bin/apxs follows:
./configure: line 8421: /apache/bin/apxs: No such file or directory
configure: error: Aborting
说明没有安装perl,或者没有找到apxs的目录,装Apache时已经安装。 11)、创建/apache/php/etc目录,放置配置文件 12)、复制初始配置文件。 13)、修改apache配置文件让apache能够认识php文件 14)、重新启动Apache服务

lamp源码安装的更多相关文章

  1. Linux LAMP源码安装

    查看编译参数 # httpd cat /app/httpd24/build/config.nice # mysql cat /app/mysql/docs/INFO_BIN # php php -i ...

  2. LAMP源码安装,搭建zabbix监控

    #LAMP#httpd-2.2.32#mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版#php5.3.27 1.系统环境优化检查 sed -i 's/SELINUX= ...

  3. lamp 源码安装

    #!/bin/bash #description:mysql-.tar apache2.4.23 php5.6.27 function check_ok(){ ] then echo "-- ...

  4. Lamp源码包安装实录

    Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...

  5. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...

  6. 以源码安装的lamp环境为依托,源码安装zabbix监控系统

    1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...

  7. linux应用之Lamp(apache+mysql+php)的源码安装(centos)

    Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...

  8. Httpd服务进阶知识-LAMP源码编译安装

    Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理  ...

  9. LAMP源码编译安装

    php加速器 XCache 快速而且稳定的PHP opcode缓存,经过严格测试且被大量用于生产环境. 项目地址:http://xcache.lighttpd.net/,收录EPEL源 实现XCach ...

随机推荐

  1. JVM·垃圾收集器与内存分配策略之对象是否可被回收!

    1.判断对象已经死去/不再被引用.     1.1.引用计数算法:给对象添加引用计数器,有个地方引用就+1,引用失效就-1.任何时刻,引用为0,即判断对象死亡.         1.1.1.优点:实现 ...

  2. Swift 学习- 09 -- 枚举

    // 递归枚举 // 美家居为一组相关的值定义了一个共同的类型, 使你可以在代码中以类型安全的的方式使用这些值. // 如果你熟悉C语言, 你会知道在C语言中, 枚举会为一组整型值分配相关联的名称, ...

  3. /etc/rc.d/init.d/iptables: No such file or directory 错误原因

    注:本文转载自cnblogs:一天学点的文章</etc/rc.d/init.d/iptables: No such file or directory 错误原因> RedHat Enter ...

  4. 自执行匿名函数: (function() { /* code */ })();

    1,常见格式:(function() { /* code */ })(); 2,解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括 ...

  5. SpringData使用与整合

    SpringData 整合源码:链接: https://pan.baidu.com/s/1_dDEEJoqaBTfXs2ZWsvKvA 提取码: cp6s(jar包自行寻找) author:Simpl ...

  6. Anaconda创建caffe和tensorflow共存环境

    一.前言 安装环境: Anaconda Ubuntu 二.安装步骤 我们分几步进行,anconda的安装和使用方法就不讲解了.我们直接安装caffe和tensorflow. 1.创建虚拟环境 我们先创 ...

  7. 编程语言,执行python程序,变量(命名规范)

    编程语言 分类: ​ 计算语言/汇编语言/高级语言 计算语言: ​ 站在计算机的角度,说计算机能听懂的语言,就是直接用二进制编程,直接操作硬件 优点是最底层,执行速度最快 缺点是最复杂,开发效率最低 ...

  8. Linux系统下inode满了导致无法写文件的解决思路

    解决思路1:删除无用的临时文件,释放inode 进入/tmp目录,执行find -exec命令 find  /tmp  -type  f  -exec  rm  {}  \; 遍历寻找0字节的文件,并 ...

  9. c++ 链表基础功能实现

    #include<stack> struct ListNode { int m_nValue; ListNode* m_pNext; }; ListNode* CreateListNode ...

  10. 输出GPLT

    L1-023 输出GPLT (20 分)   给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符.当然,四种字符( ...