先从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. Confluence 6 设置 Oracle 数据库准备

    请查看 Supported Platforms 页面来获得 Confluence 系统支持的 Oracle 数据库版本.你需要在安装 Confluence 之前升级你的 Oracle 数据库. 如果你 ...

  2. Java的实验程序之输出单个文件中的前 N 个最常出现的英语单词

    日期:2018.10.11 星期四 博客期:016 题目:输出单个文件中的前 N 个最常出现的英语单词,并输出到文本文件中 在程序运行之前,我试着先写了字符的字母的总结,加载代码如下: //如下是第一 ...

  3. MySQL多表查询 三表查询 连接查询的套路

    多表查询 * 当我们的一条记录 分散不同的表中时,就需要进行多表查询 例如 一对一 一对多 多对多 1.笛卡尔积查询 意思是将两个表中的所有数据 全部关联在一起   例如 a表 有2条 b表有3条   ...

  4. day34 基于TCP和UDP的套接字方法 粘包问题 丢包问题

    TCP 基于流的协议 又叫可靠性传输协议 通过三次握手 四次挥手 来保证数据传输完毕 缺点效率低 正因为是基于流的协议 所以会出现粘包问题粘包问题:原因一:是应为数据是先发送给操作系统,在操作系统中有 ...

  5. laravel 资源控制器

    Artisan 生成器来生成一个资源控制器(在之前命名后加上 --resource 选项) php artisan make:controller PostController --resource ...

  6. bzoj 3129

    非常好的一道数学题,考察了大量数论和组合数学的知识 在做本题之前强烈建议先完成下列两个背景知识: ①: bzoj 2142礼物 因为本题的一部分数据需要利用到拓展卢卡斯定理,而礼物是拓展卢卡斯定理的裸 ...

  7. Android Studio 创建不恰当的虚拟设备导致程序不正常运行

    操作系统:Windows 10 x64 IDE:Android Studio 3.2.1 使用Android Studio新建第一个Android程序,一开始在虚拟设备上面调试,不管程序怎么修改,运行 ...

  8. time与datetime模块

    在python中,通常用下面几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. 格式化的时间字符串(format s ...

  9. python2.7 (x64) 调用 java 代码实践

    背景:公司实施接口自动化测试,使用的框架python+unittest:因为开发使用的架构师SpringBoot,在测试过程中难免需要使用到python调用JAVA的一些接口,所以需要用到python ...

  10. 在 Python 中使用 JSON

    在 Python 中使用 JSON 本教程将会教我们如何使用 Python 编程语言编码和解码 JSON.让我们先来准备环境以便针对 JSON 进行 Python 编程. 环境 在我们使用 Pytho ...