在安装之前要先确定安装顺序

安装时的顺序:

Httpd-----mysql------php

安装:

安装httpd(源码)

1、配置yum源,看当前的系统是否存在编译环境

Yum grouplist

Development Libraries

Development Tools

Legacy Software Development

X Software Development

如果系统不存在以上包组,可以用yum groupinstall安装

2、上传httpd源码包

3、解压到指定目录

Tar zxvf httpd-2.4.7.tar.gz –C /usr/src

4、在安装httpd时需要用到两个apr可移植运行库和工具

apr-1.5.0.tar.gz和apr-util-1.5.3.tar.gz需要一起上传到服务器

并解压到相应目录并安装

Tar zxvf apr-1.5.0.tar.gz –C  /usr/src

Tar zxvf apr-util-1.5.3.tar.gz –C  /usr/src

cd /usr/src/apr-1.5.0

./configure –prefix=/usr/local/apr配置并指明安装路径

Make编译

Make install安装

安装完成之后他的库文件可能有其他程序的依赖(解决该方法)

在/etc/ld.so.conf.d/下创建一个文件,并指明apr的安装路径

Vim /etc/ld.so.conf.d/apr.conf(一定要以.conf结尾)

/usr/local/apr/lib

刷新缓存(刷新之前可以先看下/etc/ld.so.cache文件的大小)

[root@wnt10 apr-util-1.5.3]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 49683 Feb 27 20:55 /etc/ld.so.cache

Ldconfig刷新缓存在看cache文件

[root@wnt10 apr-util-1.5.3]# ldconfig

[root@wnt10 apr-util-1.5.3]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 49845 Mar  5 00:51 /etc/ld.so.cache

可以用ldconfig –pv来查看apr模块是否被加载

[root@wnt10 apr-util-1.5.3]# ldconfig -pv |grep apr

libgstdataprotocol-0.10.so.0 (libc6) => /usr/lib/libgstdataprotocol-0.10.so.0

libaprutil-1.so.0 (libc6) => /usr/lib/libaprutil-1.so.0

libapr-1.so.0 (libc6) => /usr/local/apr/lib/libapr-1.so.0

libapr-1.so.0 (libc6) => /usr/lib/libapr-1.so.0

libapr-1.so (libc6)=> /usr/local/apr/lib/libapr-1.so

可以看到apr模块被成功加载

除了库文件有可能被其他程序所调用外,头文件一样也可能被其他程序所调用

系统所找到的头文件一般都会放在/usr/inclide/或者/usr/local/include/

这时为了方便系统所找到头文件可以做一个软链接

Ln –s /usr/local/apr/include/usr/include/apr

cd /usr/src/apr-until如果不确定怎么安装可以先查看readme或者install文件

./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr/bin/apr-1-config

表明要和apr的执行程序所关联起来

Make && make install

Vim /etc/ld.so.conf.d/apr-util.conf(操作原意同上)

/usr/local/apr-util/lib

Ldconfig

Ldconfig –pv |grep apr-util

[root@wnt10apr-util-1.5.3]# ldconfig -pv |grep apr-util

libaprutil-1.so.0 (libc6)=> /usr/local/apr-util/lib/libaprutil-1.so.0

libaprutil-1.so(libc6) => /usr/local/apr-util/lib/libaprutil-1.so

ln –s /usr/local/apr-util/include /usr/include/apr-util

如果想在系统下任何路径下都能去执行/usr/loca/apr-util/bin/apu-1-conf就需要把它添加到环境变量里面,系统的环境变量一般会涉及到4个文件

/etc/profile /etc/bashrc (系统) ~.bashrc ~.bash_profile(个人)

如果想让任何人都能去执行apu-1-conf和apr-1-conf就需要放到系统里面/etc/profile

Vim /etc/profile

添加PATH=$PATH:/usr/local/apr-util/bin:/usr/local/apr/bin

如果想使其生效,可在下次登录时自动生效或 . /etc/profile

5、好了,这里的准备环境已经完成,下面正式安装httpd源码包

进入/uar/src/httpd

[root@wnt10httpd-2.4.7]# ./configure \(表示换行)

>--prefix=/usr/local/apache \指明路径

>--with-apr=/usr/local/apr/bin/apr-1-config \指明和apr关联的可执行文件

>--with-apr-util=/usr/local/apr-util/bin/apu-1-config \和apr-util关联的执行文件

>--sysconfdir=/etc/httpd \指明安装路径

>--enable-mods-shared=all \指明所用的模块

>--enable-ssl \开启ssl功能

>--enable-mpms-shared=all \指明mpm机制

>--enable-rewrite \开启地址重写功能

>--with-z \开启网页传输自动压缩

> --enable-so开启模块功能

这时系统报了一个pcre的错误:

configure: error: pcre-config for libpcre not found. PCREis required and available from

[root@wnt10httpd-2.4.7]# yum list |grep pcre

Thissystem is not registered with RHN.

RHNsupport will be disabled.

pcre.i386                             6.6-2.el5_1.7        installed

pcre-devel.i386                        6.6-2.el5_1.7         rhel-server

发现pcre-devel工具没有安装,可以yuminstall pcre-devel直接安装

安装完成之后再配置httpd后面还有加上—with-pcre

Make && make install

安装完成之后想要所有人都能使用/bin/下的可执行文件还需要配置环境变量,

Vim /etc/profile

PATH=$PATH:/usr/local/apr-util/bin:/usr/local/apr/bin:/usr/local/apache/bin

Ln –s /usr/local/apache/include/ /usr/include/apache

这里没有库文件,但是有man(帮助手册)还需要把man添加到系统路径

Vim /etc/man.config

添加MANPATH/usr/local/apache/man

还有就是控制脚本,一般系统的控制脚本是放在/etc/init.d/下

创建一个httpd的脚本

Vim /etc/init.d/httpd

Chmod a+x /etc/init.d/httpd

#!/bin/bash

# chkconfig: 2345 56 26

# description: httpd server daemon

conf=/etc/httpd/httpd.conf

lock=/var/lock/subsys/httpd

prog=/usr/local/apache/bin/httpd

. /etc/init.d/functions

start () {

if

[ -f $lock ] ; then

echo "the httpd isstarted"

else

echo -n "the httpd is starting......."

sleep 1

$prog -f $conf && echo "[ok]" && touch$lock || echo "[fail]"

fi

}

stop () {

if

[ -f $lock ] ; then

echo -n "the httpd is stoping ......"

sleep 1

killproc httpd && echo "[ok]" && rm -rf$lock ||echo "[fail]"

else

echo "the httpd is stoped......"

fi

}

status () {

if

[ -f $lock ] ; then

echo "the httpd isstarted......"

else

echo "the httpd is stop"

fi

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status

;;

*)

echo "the httpd useage {start|stop|status|restart}"

esac

chkconfig –add httpd

chkconfig –list |grep httpd

[root@wnt10 init.d]# chkconfig --list |grep httpd

httpd           0:off   1:off  2:on    3:on    4:on   5:on    6:off

安装mysql(源码)下载地址:www.mysql.com

1、下载源码包上传到服务器(mysql5.6.10)

2、解压到指定目录(同httpd的解压方法一样)

Mysql在5.6以后没有./configure配置文件,这里需要cmake工具(说明文档)

先下载cmake工具上传到服务器进行解压缩

tar zxvfcmake-2.8.12.2.tar.gz -C /usr/src/

cd/usr/src/cmake

./configure –prefix=/usr/local/cmake

Make  && make install

修改环境变量/etc/profile

PATH=$PATH:/usr/local/apr-util/bin:/usr/local/apr/bin:/usr/local/apache/bin:/usr/local/cmak

e/bin

添加man手册/etc/man.config

MANPATH /usr/local/cmake/man

安装完cmake之后需要创建一个系统账号mysql和mysql组

Groupadd mysql

Useradd –r –gmysql mysql

准备工作完成之后,安装mysql

进入到解压目录/usr/src/mysql

Cmake . (如果不加其他参数表明安装默认选项)

Make &&make install

经过漫长的等待时间,总算安装完成mysql

然后需要把bin下的工具加到系统环境变量/etc/profile

PATH=$PATH:/usr/local/apr-util/bin:/usr/local/apr/bin:/usr/local/apache/bin:/usr/local/cmak

e/bin:/usr/local/mysql/bin

添加完之后还要添加头文件、库文件以及man手册

更改man手册/etc/man.config

MANPATH /usr/local/mysql/man

Ln –s /usr/local/mysql/include /usr/include/mysql

Vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

Ldconfig

Ldconfig –pv |grep mysql

这里把基本的安装配置添加等等全做完之后还要做一些设置

Cd /usr/local/mysql

Chown –R mysql.更改mysql目录下所有文件及目录的所有者为mysql

Chgrp –R mysql .更改mysql目录下所有文件及目录的所属组为mysql

或者Chown –R mysql.mysql.也可以

Scripts/mysql_install_db–user=mysql去安装初始数据库以mysql的用户安装

初始的过程中会看到INnoDB(这表示是5.6版本以后的数据库引擎5.5以前的数据库引擎为myISAM)仅供了解

初始化完成之后需要把所有者改回root,其中有一个data特殊所有者为mysql

Chown –R root .

Chown –R mysqldata

cpsupport-files/my-default.cnf /etc/my.cnf拷贝mysql的配置文件到/etc下

cpsupport-files/mysql.server /etc/init.d/mysqld把mysql的控制脚本拷贝到/etc/init.d/下叫mysqld

这时就可以使用

Service mysqldstart|stop|restart|status等等的参数

Chkconfigmysqld on开机自动运行

到这里mysql已经安装完毕

安装php源码包

1、下载源码包上传到服务器

2、解压到指定目录(同httpd的解压方法一样)

3、[root@wnt10php-5.5.9]# ./configure \

> --prefix=/usr/local/php \安装路径

> --sysconfdir=/etc/php.conf \主配置文件安装路径

> --with-apxs2=/usr/local/apache/bin/apxs\必须要有

> --with-gd \对图形的支持

> --with-jpeg-dir \对不同格式图片的支持

> --with-png-dir \

> --with-zlib-dir \支持压缩

> --enable-mbstring \支持多种字符级

> --with-mysql=/usr/local/mysql  \调用mysql必须要有

>--with-mysqli=/usr/local/mysql/bin/mysql_config \  php和mysql结合的接口文件在什么地方必须要有

Make && make install

安装完之后

然后需要把bin下的工具加到系统环境变量/etc/profile

PATH=$PATH:/usr/local/apr-util/bin:/usr/local/apr/bin:/usr/local/apache/bin:/usr/local/cmak

e/bin:/usr/local/mysql/bin:/usr/local/php/bin

如果想让httpd支持php网页需要在httpd的配置文件加上一下一行,并且需要加上index.php

Addtype application/x-httpd-php .php .phtml

以下是配置文件改完之后的内容

AddTypeapplication/x-httpd-php .php .phtml

DirectoryIndex index.php index.html

重启服务

默认apache:站点的主目录在/usr/local/apache/htdocs

[root@wnt10php-5.5.9]# cd /usr/local/apache/htdocs/

[root@wnt10htdocs]# ls

index.html

[root@wnt10htdocs]# mv index.html index.php

Vim index.php

Itworks!

phpinfo();

?>

用网页测试显示php的信息页面这说明httpd与php结合成功

Vim index.php

Itworks!

$link=Mysql_connect(‘127.0.0.1’,’root’,’123’);

If  ($link)

Echo “ok”;

Else echo”fail”;

?>

用网页测试显示ok的信息这说明mysql与php结合成功(这里需要重启mysqld服务)

php风车,用源码包来实现LAMP 的详细过程相关推荐

  1. linux源码编译安装lamp环境搭建,linux下源码包编译安装LAMP环境

    1.下载所需的源码包 Httpd-2.4.10  apr-1.5.1  apr-util-1.5.3  pcre-8.33(这些均可在Apache官网进行下载) Mysql-5.5.39    php ...

  2. Ubuntu 16.04 源码编译安装PHP7.2.23详细过程

    从官网下载源码包 https://www.php.net/downloads.php 打开虚拟机,Ctrl + Alt + T 打开终端 sudo su可以切换超级管理员,不用每次输入命令都带sudo ...

  3. 使用rpmbuild对ceph的源码包进行重新打包

    进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph ...

  4. Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)

    任务:在CENT6.8系统中安装Apache(版本为:httpd-2.4.41) 前提:由于源码包必须先编译后安装,所以必须先安装编译器:gcc 理论步骤: 1.检测gcc软件包,如果不存在则进行安装 ...

  5. ubuntu 编译源码包 dsc diff.gz orig.tar.gz

    2019独角兽企业重金招聘Python工程师标准>>> 1) 在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项以tree实用程 ...

  6. linux源码包卸载方式

    linux源码包软件的安装与卸载 3人收藏此文章,我要收藏 发表于1年前 , 已有593次阅读 共0个评论 Linux软件安装与卸载(源码包形式):一般情况下linux程序的发布不能像windows那 ...

  7. Linux中源码包的管理

    什么是开放源码,编译程序和可执行文件     开放源码:就是程序代码,写给人类看的程序语言,但机器不认识,所以无法执行:     编译程序:将程序代码转译成为机器看得懂的语言:     可执行文件:经 ...

  8. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  9. linux系统源码安装教程,linux之源码包安装步骤

    源码:程序代码,人类可看懂的代码 编译程序:将程序代码编译成机器看懂的代码 二进制文件:经过编译程序变为二进制程序后,机器可执行的文件 make和configure: make是一支程序,会自动寻找M ...

最新文章

  1. Linux使用百度云
  2. 计算机主键盘的布局,计算机键盘的布局,结构和布置
  3. ERROR 1366 (HY000): Incorrect string value......(Mysql报错解决)
  4. Unsatisfied dependency expressed through field 'service'
  5. IDEA编译运行Springboot+vue项目卡死,一直building和copying resources
  6. flask mysql pymysql_在 flask 中使用 pymysql 报错,望大神解答!感激不尽!
  7. QToolButton按钮
  8. 项目开发中XML 读取错误总结
  9. 上下定高 中间自适应_B站微服务框架Kratos详细教程(3)中间件
  10. win7计算机个性化设置,Win7系统如何进行个性化设置 Win7系统个性化设置方法【详解】...
  11. 中国大学生mooc大数据技术原理与应用(林子雨)答案
  12. 专业CDR插件牛为设计大师
  13. S3C2440 GPS串口配置以及数据读写
  14. gmac网卡驱动1-------mac与phy基础知识
  15. 贪心高性能神经网络与AI芯片应用
  16. 梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法...
  17. 2022字节跳动数据仓库实习面经
  18. Java高级 正向代理和反向代理理解
  19. python中的global是什么意思_Python中的global关键字,你了解吗?
  20. 【测试】Charles抓包

热门文章

  1. Windows 搭建银河麒麟 ARM虚拟机
  2. 方舟生存进化手游如何在电脑上玩 方舟生存进化模拟器教程
  3. 中国科学技术大学计算机研究生调剂,2019年中国科学技术大学计算机科学与技术学院软件工程专业学位(非全日制)研究生校内调剂简章...
  4. JAVA音视频解决方案----部标1078 808 视频解决方案
  5. 有人云物联网关通过MQTT服务器对PLC数据进行操作
  6. 在网址中跳转APP(进入XXXAPP内查看)
  7. ug10许可证错误一8_企业ISP许可证年检时要注意哪些问题
  8. Hibernate二级缓存攻略
  9. INQ 论文解读:Incremental Network Quantization: Towards Lossless CNNs with Low-Precision Weights
  10. TL-SSD: Detecting Traffic Lights by Single Shot Detection 论文复现