LAMP环境搭建之编译安装指南(php-5.3.27.tar.gz)
测试环境:CentOS release 6.5 (Final)
软件安装:httpd-2.2.27.tar.gz mysql-5.1.72.tar.gz php-5.3.27.tar.gz
1、mysql安装详见:https://www.cnblogs.com/su-root/p/11210794.html
2、apache安装详见:https://www.cnblogs.com/su-root/p/11182549.html
3、PHH安装如下:
一、php安装准备
①yum安装php所依赖的包
[root@bqh-119 php]# yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
②检测机器是否已经安装好
[root@bqh-119 php]# rpm -qa zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
③安装libiconv-1.14.tar.gz -----(https://excellmedia.dl.sourceforge.net/project/korwah/source/libiconv/libiconv-1.14.tar.gz)
[root@bqh-119 php]# tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
④快速安装libmcrypt扩展库(epel源方法来安装)
[root@bqh-119 yum.repos.d]#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@bqh-119 yum.repos.d]#yum makecache
[root@bqh-119 yum.repos.d]# yum install libmcrypt-devel -y
⑤快速安装mhash加密算法扩展库
Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下开启,mhash的可以用于场景检验数值,消息摘要,小小认证码,以及无需原文的关键信息保存(如密码)等。
Mhash为PHP提供了多种哈希算法,如MD5,SHA1,GOST等,你可以通过MHASH_hashname()来查看支持的算法有哪些。
注意问题:该扩展不能提供最新的哈希算法;该扩展结果原则上运算不可逆。
[root@bqh-119 php]# yum install mhash mhash-devel -y
⑥快速安装mcrypt加密扩展库
php程序员们在编写程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。php除了自带的几种加密函数外,还有功能更全面的php加密扩展库mcrypt和mhash。其中,mcrypt扩展可以实现加密解密功能,就是既能将明文密码加
密,也可以密文还原。mcrypt是php里面重要的加密支持扩扎库,该库在默认情况下不开启。编辑本段支持的算法和加密模式:mcrypt库支持20多种加密算法和8中加密模式,具体可以通过函数crypt_list_algorithms()和mcrypt_list_modes()来显示。
[root@bqh-119 php]# yum install mcrypt -y
⑦安装libxslt-devel
[root@bqh-119 php]# yum -y install libxslt-devel
以上安装php依赖包就ok了。
二、开始安装PHP服务
①下载php-5.3.27.tar.gz 并解压。
下载php:https://www.php.net/distributions/php-5.3.27.tar.gz
[root@bqh-119 php]# tar xf php-5.3.27.tar.gz
②编译安装PHP
[root@bqh-119 php-5.3.27]# cd php-5.3.27
[root@bqh- php-5.3.]# ./configure \
--prefix=/application/php5.3.27 \ #指定php的安装路径
--with-apxs2=/application/apache/bin/apxs \ #指定apache的bin/apxs路径,通过apxs来增加php扩展模块到apache中
--with-mysql=/application/mysql \ #指定mysql的安装路径
--with-xmlrpc --with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--enable-short-tags --enable-sockets \
--enable-zend-multibyte \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
执行上边命令后效果如下:
③接着执行:
[root@bqh- php-5.3.]# make && make install #安装php生成文件至系统 .....
.........以上省略
/root/tools/php-5.3./build/shtool install -c ext/phar/phar.phar /application/php5.3.27/bin
ln -s -f /application/php5.3.27/bin/phar.phar /application/php5.3.27/bin/phar
Installing PDO headers: /application/php5.3.27/include/php/ext/pdo/
[root@bqh- php-5.3.]# echo $?
④设置软连接安全方便访问:
[root@bqh- php-5.3.]# ln -s /application/php5.3.27/ /application/php
[root@bqh- php-5.3.]# ll /application/php
lrwxrwxrwx root root 7月 : /application/php -> /application/php5.3.27/
⑤安装php服务后,我们看一下apache下的模块路径及httpd.conf配置文件中切入了libphp5.so
[root@bqh- php-5.3.]# ll /application/apache/modules/
总用量
-rw-r--r-- root root 7月 : httpd.exp
-rwxr-xr-x root root 7月 : libphp5.so #通过apxs来增加php扩展模块到apache中
[root@bqh- php-5.3.]# grep libphp5 /application/apache/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
注:当用户访问apache时,如何是静态文件,自身解析处理;如果是动态文件,交给php模块解析处理
⑥拷贝php配置文件到php默认目录下并更名为php.ini
[root@bqh- php-5.3.]# ll php.ini-*
-rw-r--r-- 7月 php.ini-development #开发
-rw-r--r-- 7月 php.ini-production #生产
[root@bqh- php-5.3.]# cp php.ini-production /application/php/lib/php.ini
⑦修改apache主配置文件httpd.conf,解决FQDN:
[root@bqh- apache]# sed -i 's#\#ServerName www.example.com:80#ServerName 127.0.0.1:80#g' ./conf/httpd.conf
[root@bqh- apache]# grep ServerName ./conf/httpd.conf
# ServerName gives the name and port that the server uses to identify itself.
ServerName 127.0.0.1:
⑧配置apache支持php:在主配置文件httpd.conf第311行后添加下面两行即可:
- AddType application/x-httpd-php .php .phtml
- AddType application/x-httpd-php-source .phps
修改damon用户为bqh:
如果不存在bqh用户,配置好文件后,需要创建bqh用户。
注:这个damon用户不是必须修改的,一般情况我们是需要修改用户的,更改默认用户是为了安全考虑。
修改默认的首页文件,例如增加一个index.php:
保存配置后可用diff比对一下:
创建用户:
[root@bqh- conf]# id bqh
id: bqh:无此用户
[root@bqh- conf]# groupadd bqh
[root@bqh- conf]# useradd bqh -s /sbin/nologin -M -g bqh
[root@bqh- conf]# id bqh
uid=(bqh) gid=(bqh) 组=(bqh)
⑨测试php
配置apache主配置文件httpd.conf
[root@bqh- extra]# cat httpd-vhosts.conf
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration. #
# Use name-based virtual hosting.
#
NameVirtualHost *: #
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html"
ServerName test_phpinfo.php
ServerAlias index.php
ErrorLog "logs/php-error_log"
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_php_%Y%m%d.log" combined
</VirtualHost>
注:
- 以上基于前文的基于域名的虚拟主机上基础上配置的,详情至:https://www.cnblogs.com/su-root/p/11185264.html
- 以上日志轮询是采用的cronolog,详情至:https://www.cnblogs.com/su-root/p/11192398.html
- 当然也可以不创建虚拟主机,直接在默认的配置文件、站点目录下配置也行ok。
在新建的/var/html/站点目录下写一个test_phpinfo.php代码测试php
[root@bqh- html]# cat test_phpinfo.php
<?php
phpinfo();
?>
⑩刷新配置,打开浏览器输入地址结果看是否成功。
[root@bqh- extra]# /application/apache/bin/apachectl -t
Syntax OK
[root@bqh- extra]# /application/apache/bin/apachectl graceful
http://192.168.0.118/test_phpinfo.php
我们再看看日志:
[root@bqh- extra]# tail - /application/apache/logs/access_php_20190720.log
192.168.0.110 - - [/Jul/::: +] "GET /test_phpinfo.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" "http://192.168.0.119/test_phpinfo.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
192.168.0.110 - - [/Jul/::: +] "GET /test_phpinfo.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" "http://192.168.0.119/test_phpinfo.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
ok,目前Apache到php已经通了,下面我们需要测试php到mysql是否通。
在站点/var/html/目录下再写一个test_mysql.php代码测试php
[root@bqh- html]# vim test_mysql.php
[root@bqh- html]# cat test_mysql.php
<?php
$link_id=mysql_connect('localhost','root','bqh') or mysql_error();
if($link_id) {
echo "MySQL connection succeeded!";
}
else {
echo mysql_error();
}
?>
浏览器输入地址:http://192.168.0.119/test_mysql.php
ok测试没有问题。
假如我们把mysql密码改了,我们再来测试一下效果:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
到此为止,Apache→php→mysql测试已通; LAMP环境搭建ok。
LAMP环境搭建之编译安装指南(php-5.3.27.tar.gz)的更多相关文章
- LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)
测试环境:CentOS release 6.5 (Final) 软件安装:nginx mysql-5.5.32-linux2.6-x86_64.tar.gz php-5.3.27.tar.gz ...
- (二)lamp环境搭建之编译安装mysql
mysql 编译安装1,在网站上下载: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz 2,安装cmake ...
- (三)lamp环境搭建之编译安装php
1,PRC (People's republic of China) timezone中设置的时间为中国时间. 2,php的官方镜像源,使用linux时可以直接下载的 http://cn2.php.n ...
- (一)lamp 环境搭建之编译安装apache
apache的编译安装: 安装步骤大概参考:http://www.cnblogs.com/iyoule/archive/2013/10/24/3385540.html 简单的将分为三步: (1)安装a ...
- LAMP 环境搭建之源码包编译安装
mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46 Apache版本2.4.7 PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...
- Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
经典web开发组合Lamp环境搭建之mysql安装详解 安装前准备 通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本 [root@localhost src]# ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- lamp环境搭建(ubuntu)
系统:Ubuntu14.04 方法一.最简单的在线安装 (参考网址:http://os.51cto.com/art/201307/405333.htm) 具体过程: [1]打开终端,执行命令 # su ...
- LAMP环境搭建教程(原创)
学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一. ...
随机推荐
- Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
UTF-8是使用1~4个字节,一种变长的编码格式,字符编码.mb4即 most bytes 4,使用4个字节来表示完整的UTF-8. mysql的 utf8 编码最大字符长度为 3 字节,如果遇到 4 ...
- 利用detours写了一个工具用于instrument任意指定dll的任意指定函数入口
目录 wiki Disas Dtest Simple withdll load一个dll到指定进程 tracebld显示相关进程涉及的文件读写操作 My Instrumentation tool: w ...
- Mysql 插入自增的最大版本号
有一个需求,在历史表中,一条数据,在最大版本号上进行自增 INSERT Biz_CourseStudyHistory ( contentStudyID, courseWareID, versionNO ...
- Servlet 添加 Cookie 返回 500 的问题
在学习 Servlet 中,学习 Cookie 的时候,往 response 中添加 Cookie ,结果出现 500 的错误 Cookie cookie1 = new Cookie(COOKIE_N ...
- ISO/IEC 9899:2011 条款6.9.2——外部对象定义
6.9.2 外部对象定义 语义 1.如果对一个对象的标识符的声明具有文件作用域以及一个初始化器,那么该声明是对该标识符的一个外部定义. 2.对于具有文件作用域且没有一个初始化器.没有一个存储类说明符, ...
- SQLite添加新的字段
通过alter添加新的字段SQL语句 "ALTER TABLE 'DiHKChatMessage' ADD 'phoneNum' varchar"; 但是如果这个字段已经存在的话, ...
- django项目mysite 2
一.表单form 为了接收用户的投票选择,我们需要在前端页面显示一个投票界面 polls/detail.html <h1>{{ question.question_text }}</ ...
- [LeetCode] 146. LRU Cache 近期最少使用缓存
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- Java字符串无意识的递归
Java中的每个类基本上都继承自Object,标准容器类自然也不例外.因此容器类都有toString()方法,并且重写了该方法,使得它生成的String结果能够表达容器本身,以及容器所包含的对象.例如 ...
- Spring Boot取消默认tomcat启动,打成war包发布到服务器运行
一.设置打包方式 在pom.xml中设置打包格式 <packaging>war</packaging> 二.取消Spring Boot的tomcat <!--部署成war ...