php风车,用源码包来实现LAMP 的详细过程
在安装之前要先确定安装顺序
安装时的顺序:
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 的详细过程相关推荐
- 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 ...
- Ubuntu 16.04 源码编译安装PHP7.2.23详细过程
从官网下载源码包 https://www.php.net/downloads.php 打开虚拟机,Ctrl + Alt + T 打开终端 sudo su可以切换超级管理员,不用每次输入命令都带sudo ...
- 使用rpmbuild对ceph的源码包进行重新打包
进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph ...
- Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)
任务:在CENT6.8系统中安装Apache(版本为:httpd-2.4.41) 前提:由于源码包必须先编译后安装,所以必须先安装编译器:gcc 理论步骤: 1.检测gcc软件包,如果不存在则进行安装 ...
- ubuntu 编译源码包 dsc diff.gz orig.tar.gz
2019独角兽企业重金招聘Python工程师标准>>> 1) 在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项以tree实用程 ...
- linux源码包卸载方式
linux源码包软件的安装与卸载 3人收藏此文章,我要收藏 发表于1年前 , 已有593次阅读 共0个评论 Linux软件安装与卸载(源码包形式):一般情况下linux程序的发布不能像windows那 ...
- Linux中源码包的管理
什么是开放源码,编译程序和可执行文件 开放源码:就是程序代码,写给人类看的程序语言,但机器不认识,所以无法执行: 编译程序:将程序代码转译成为机器看得懂的语言: 可执行文件:经 ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- linux系统源码安装教程,linux之源码包安装步骤
源码:程序代码,人类可看懂的代码 编译程序:将程序代码编译成机器看懂的代码 二进制文件:经过编译程序变为二进制程序后,机器可执行的文件 make和configure: make是一支程序,会自动寻找M ...
最新文章
- Linux使用百度云
- 计算机主键盘的布局,计算机键盘的布局,结构和布置
- ERROR 1366 (HY000): Incorrect string value......(Mysql报错解决)
- Unsatisfied dependency expressed through field 'service'
- IDEA编译运行Springboot+vue项目卡死,一直building和copying resources
- flask mysql pymysql_在 flask 中使用 pymysql 报错,望大神解答!感激不尽!
- QToolButton按钮
- 项目开发中XML 读取错误总结
- 上下定高 中间自适应_B站微服务框架Kratos详细教程(3)中间件
- win7计算机个性化设置,Win7系统如何进行个性化设置 Win7系统个性化设置方法【详解】...
- 中国大学生mooc大数据技术原理与应用(林子雨)答案
- 专业CDR插件牛为设计大师
- S3C2440 GPS串口配置以及数据读写
- gmac网卡驱动1-------mac与phy基础知识
- 贪心高性能神经网络与AI芯片应用
- 梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法...
- 2022字节跳动数据仓库实习面经
- Java高级 正向代理和反向代理理解
- python中的global是什么意思_Python中的global关键字,你了解吗?
- 【测试】Charles抓包
热门文章
- Windows 搭建银河麒麟 ARM虚拟机
- 方舟生存进化手游如何在电脑上玩 方舟生存进化模拟器教程
- 中国科学技术大学计算机研究生调剂,2019年中国科学技术大学计算机科学与技术学院软件工程专业学位(非全日制)研究生校内调剂简章...
- JAVA音视频解决方案----部标1078 808 视频解决方案
- 有人云物联网关通过MQTT服务器对PLC数据进行操作
- 在网址中跳转APP(进入XXXAPP内查看)
- ug10许可证错误一8_企业ISP许可证年检时要注意哪些问题
- Hibernate二级缓存攻略
- INQ 论文解读:Incremental Network Quantization: Towards Lossless CNNs with Low-Precision Weights
- TL-SSD: Detecting Traffic Lights by Single Shot Detection 论文复现