自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】
在centos6.6上安装apache2.4+php5.6+mysql5.6
关于wget的安装
将之前装系统的.iso文件挂载到光驱
由于我在/home/jinnan/下建立了一个cdrom文件夹
Shell>#mount /dev/cdrom /home/jinnan/cdrom
Shell># cd /home/jinnan/cdrom
Shell># ls
Shell># cd Packages
Shell>#ls | grep wget
Shell># rpm -ivh wget-1.12-5.el6.x86_64.rpm
测试wget能否下载文件
Shell># wget https://cmake.org/files/v2.8/cmake-2.8.2.tar.gz
依赖软件查询:http://rpmfind.net
关于lamp环境安装的需要软件的下载地址:
freetype: https://www.freetype.org/
libxml2: http://xmlsoft.org/sources/
jpegsrc: http://www.ijg.org
libpng: http://www.libpng.org/pub/png/libpng.html
zlib: http://zlib.net/
libgd: https://libgd.github.io/
php: http://php.net/downloads.php
apache: http://httpd.apache.org/download.cgi
apr / apr-util: http://apr.apache.org/download.cgi
pcre: http://www.pcre.org/
cmake: https://cmake.org/files/
mysql:国内镜像站下载:http://mirrors.sohu.com/mysql/
台湾镜像站: http://ftp.ntu.edu.tw/MySQL/Downloads/
官方下载: http://www.mysql.com
怎样从Mysql官网下载mysql.tar.gz版本的安装包:http://blog.csdn.net/u012453843/article/details/52876462
【如果压缩包为.tar.bz2,那么解压命令为 tar jxvf ****.tar.bz2】
安装gcc:
安装gcc的时候gcc的几个依赖关系如下,lib【是library的缩写】,比如libppl,ppl代表的是包名或软件名
gcc
cloog-ppl
ppl(libppl.so.7/libppl_c.so.2)
cpp
mpfr(libmpfr.so.1)
gcc-c++
libstdc++-devel
================================================================
apr安装【apr-1.6.2.tar.gz】
shell>#tar zxvf apr-1.6.2.tar.gz
shell>#cd apr-1.6.2
shell>#./configure --prefix=/usr/local/apr1.6
shell>#make && make install
安装apr-util:【 apr-util-1.5.4.tar.gz】
shell>#tar zxvf apr-util-1.5.4.tar.gz
shell>#cd apr-util-1.5.4
shell>#./configure --prefix=/usr/local/apr-util1.4 \
--with-apr=/usr/local/apr1.6/
shell>#make && make install
=============================================================
安装pcre:【 pcre-8.34.tar.gz】
shell>#./configure --prefix=/usr/local/pcre
shell>#make && make install
==========================================================
安装apache2.4【httpd-2.4.27.tar.gz】
shell>#tar zxvf httpd-2.4.27.tar.gz
shell>#cd httpd-2.4.27
shell>#./configure --prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr1.6 \
--with-apr-util=/usr/local/apr-util1.4 \
--with-pcre=/usr/local/pcre \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite
安装zlib【zlib-1.2.11.tar.gz】
shell>#tar zxvf zlib-1.2.11.tar.gz
shell>#cd zlib-1.2.11
shell>#./configure
shell>#make && make install
============================================================
安装libxml2【libxml2-2.7.3.tar.gz】
shell>#tar zxvf libxml2-2.7.3.tar.gz
shell>#cd libxml2-2.7.3
shell>#./configure --prefix=/usr/local/libxml2 \
--without-zlib
shell>#make && make install
=========================================================
安装jpeg【jpegsrc.v9b.tar.gz】
shell>#tar zxvf jpegsrc.v9b.tar.gz
shell>#cd jpegsrc.v9b
shell>#./configure --prefix=/usr/local/jpeg \
--enable-shared --enable-static
make && make install
==================================================
安装libpng【libpng-1.6.30.tar.gz】
shell>#tar zxvf libpng-1.6.30.tar.gz
shell>#cd libpng-1.6.30
shell>#./configure --prefix=/usr/local/png \
--enable-shared --enable-static
shell>#make && make install
==========================================================
安装字体库freetype【freetype-2.5.5.tar.gz】
shell>#tar zxvf freetype-2.5.5.tar.gz
shell>#cd freetype-2.5.5
shell>#./configure --prefix=/usr/local/freetype
shell>#make && make install
===============================================
安装libgd【libgd-2.1.1.tar.gz】
【本人安装php的时候出现一个错误,无法找到一个关于gd的一个文件】,因此在装gd的时候不要指定安装目录
shell>#tar zxvf libgd-2.1.1.tar.gz
shell>#cd libgd-2.1.1
shell>#./configure --with-jpeg=/usr/local/jpeg/ \
--with-png=/usr/local/png/ \
--with-zlib \
--with-freetype=/usr/local/freetype
shell>#make && make install
==========================================================
安装php5.6:【php-5.6.31.tar.gz】
shell>#tar zxvf php-5.6.31.tar.gz
shell>#cd php-5.6.31
shell>#./configure --prefix=/usr/local/php5.6 \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd \
--with-zlib --with-libxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local/png \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared
shell>#make && make install
shell>#cp php.ini-development /usr/local/php5.6/lib/php.ini
=============================================
配置Apache使其支持php
vi /usr/local/apache2.4/conf/httpd.conf
1) 在httpd.conf(Apache主配置文件)中增加:
AddType application/x-httpd-php .php
2) 找到下面这段话:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
在index.html 前面添加index.php
nginx 的安装
下载地址: http://nginx.org/download/nginx-1.4.2.tar.gz
安装准备: nginx依赖于pcre库,要先安装pcre
shell># yum install pcre pcre-devel
shell># cd /usr/local/src/
shell># wget http://nginx.org/download/nginx-1.4.2.tar.gz
shell># tar zxvf nginx-1.4.2.tar.gz
shell># cd nginx-1.4.2
shell># ./configure --prefix=/usr/local/nginx
shell># make && make install
nginx+php的编译
apache一般是把php当做自己的一个模块来启动的.
而nginx则是把http请求变量(如get,user_agent等)转发给 php进程,即php独立进程,与nginx进行通信. 称为 fastcgi运行方式.
因此,为apache所编译的php,是不能用于nginx的.
注意: 我们编译的PHP 要有如下功能:
连接mysql, gd, ttf, 以fpm(fascgi)方式运行
老师编译php的参数(未亲测):
shell># ./configure --prefix=/usr/local/fastphp \
--with-mysql=mysqlnd \
--enable-mysqlnd \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv
--enable-fpm
自己编译php采用的是如下参数(亲测成功):
shell>#./configure --prefix=/usr/local/php5.6.nginx \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd \
--with-zlib --with-libxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local/png \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared \
--enable-fpm
shell># make && make install
编译安装完后
shell># cp /usr/local/fastphp/etc/php-fpm.conf.default /usr/local/fastphp/etc/php-fpm.conf
shell># cd /home/jinnan/upload/php-5.6.31
shell>#cp php.ini-development /usr/local/php5.6.nginx/lib/php.ini
编译完毕后:
1:
nginx+php的配置比较简单,核心就一句话----
把请求的信息转发给9000端口的PHP进程,
让PHP进程处理 指定目录下的PHP文件.
如下例子:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
1:碰到php文件,
2: 把根目录定位到 html,
3: 把请求上下文转交给9000端口PHP进程,
4: 并告诉PHP进程,当前的脚本是 $document_root$fastcgi_scriptname
(注:PHP会去找这个脚本并处理,所以脚本的位置要指对)
=================================================
由于mysql使用更高级的cmake安装,在安装mysql前要先安装cmake
安装cmake:【cmake-3.8.2.tar.gz】
shell>#tar zxvf cmake-3.8.2.tar.gz
shell>#cd cmake-3.8.2
shell>#./bootstrap
shell>#make && make install
安装mysql5.6【mysql-5.6.37.tar.gz】
shell>#tar zxvf mysql-5.6.37.tar.gz
shell>#cd mysql-5.6.37
shell>#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6
\
-DMYSQL_DATADIR=/usr/local/mysql/data
\
-DDEFAULT_CHARSET=utf8
\
-DDEFAULT_COLLATION=utf8_general_ci
以上编译参数说明(准备安装到那里
数据存储目录
默认的字符集
校对字符集)
如果出现如下错误:(安装ncurses-devel)
安装(ncurses-devel):
将之前装系统的.iso文件挂载到光驱
由于我在/home/jinnan/下建立了一个cdrom文件夹
Shell>#mount /dev/cdrom /home/jinnan/cdrom
Shell># cd /home/jinnan/cdrom
Shell># ls
Shell># cd Packages
Shell>#ls | grep ncurses-devel
Shell># rpm -ivh
ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
重新进入到mysql解压后的目录
Shell>#cd mysql-5.6.37
一定要删除CMakeCache.txt,否则重新cmake会报错
Shell># rm -f
CMakeCache.txt //删除该文件
重新cmake
Shell># cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6
\
-DMYSQL_DATADIR=/usr/local/mysql/data
\
-DDEFAULT_CHARSET=utf8
\
-DDEFAULT_COLLATION=utf8_general_ci
Shell>#make && make install
复制配置文件
shell># cp support-files/my-default.cnf
/etc/my.cnf
配置并初始化MySQL
shell># useradd mysql (该mysql用户会存在于同名的组下)
shell># chmod +x /usr/local/mysql5.6
(数据库用户信息不小心删除光了,删除data目录,从此开始执行以下指令,直至结束)
shell># chown -R mysql.mysql
/usr/local/mysql5.6
初始化mysql数据库
shell># /usr/local/mysql5.6/scripts/mysql_install_db
\
--user=mysql
\
--basedir=/usr/local/mysql5.6
\
--datadir=/usr/local/mysql5.6/data
&
把mysql安装文件(除了data)的主人都改为root,避免数据库恢复为出厂设置。
shell># chown -R root /usr/local/mysql5.6
shell># chown -R mysql /usr/local/mysql5.6/data
& 后台运行mysql服务
shell>#
/usr/local/mysql5.6/bin/mysqld_safe --user=mysql &
//查看mysql是否有启动
shell>#
ps –A | grep mysql
测试数据库
shell># /usr/local/mysql5.6/bin/mysql
–u root
mysql> show databases;
接上步,修改mysql密码(可不做此步,默认无密码)
Mysql>use mysql
mysql> delete from
user where host != 'localhost';
mysql> delete from
user where user != 'root';
mysql> update user set
password=password('root') where user='root';
mysql> flush
privileges;
如果希望在任何一个目录下都可以进入mysql数据库,则需要在/root/.bash_profile中添加mysql命令的路径:/home/mysql/bin
如果要让所有用户都能够在所有目录下进入mysql数据库,那么修改环境变量 /etc/profile
配置开机自启动服务项
shell># cp 安装包解压目录/support-files/mysql.server
/etc/init.d/mysqld
shell># chmod +x /etc/init.d/mysqld
shell># chkconfig --add mysqld
shell># chkconfig mysqld on //设置开机自启动
配置文件路径:
shell># vi /etc/rc.d/rc.local
在 文件中增加启动相关服务的命令如下:
/usr/local/apache2.4/bin/apachectl
start
/usr/local/mysql5.6/bin/mysqld_safe
--user=mysql &
service
vsftpd start
自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】的更多相关文章
- CentOS6.4下编译安装Apache2.4+PHP5.6
安装Apache2.4: 首先从 http://httpd.apache.org/download.cgi#apache24下载apache源码包httpd-2.4.4.tar.gz从 http: ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
- 在centos6,7 上编译安装内核
小编以前写过一篇软件的源码编译安装,今天小编再给大家带来一篇内核的编译安装. 今天,就以centos7 编译安装最新版本4.13.2 内核为例,给大家详解.编译安装之前,检查一下自己的磁盘空间 ...
- Centos6.6下编译安装Apache2.2.31
安装环境: [root@apache ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@apache ~]# uname -r ...
- [Ubuntu] Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6
我的操作系统是Ubuntu14.04,其它linux系统的操作流程类似. 主要安装的软件是nginx1.7+php5.4+mysql5.6 1. 创建必要目录 sudo mkdir ~/setup s ...
- Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6
我的操作系统是Ubuntu14.04,其它linux系统的操作流程类似. 主要安装的软件是nginx1.7+php5.4+mysql5.6 1. 创建必要目录 sudo mkdir ~/setup s ...
随机推荐
- 用eval似乎会执行结果一次性返回,结果显示的是一行
with open(r'商品资料','r',encoding='utf-8') as f1: lis_goods = eval(f1.read()) # 用eval似乎会执行结果一次性返回,结果显示的 ...
- 面对对象程序设计_task2_C++视频教程
lessons about C++ 1月份的事情不该留到2月份来做,这几天看了几个地方的C++视频教程,不习惯于云课堂的话多等等,最终还是选择了慕课网上面的资源,也安下心来看了一些内容,下面附上课程详 ...
- 笔记本无密码连接wifi
用手机可以用wifi万能钥匙破解wifi,就想找电脑版的wifi万能钥匙,然并卵. 就去寻找各种办法,最后找了个巧, 用手机下载wifi万能钥匙连接,并且使用数据线连接上笔记本. 然后手机设置中找到开 ...
- 2040-亲和数(java)
http://acm.hdu.edu.cn/showproblem.php?pid=2040 import java.util.Scanner; public class Main{ public s ...
- OOP——构造函数、析构函数
我们在创建和销毁对象时需要执行一些任务.例如,在创建对象时给属性赋值,在对象销毁时关闭数据连接等,这时就需要构造函数和析构函数. 在PHP中构造函数和析构函数是固定的,如下: // 构造函数 func ...
- 搭建高可用mysql系列(1)-- Percona XtraDB Cluster介绍
Percona XtraDB Cluster (下文简称PXC)是一个开源的mysql 高可用解决方案.它将Percona Server和Percona XtraBackup与Galera库集成在一起 ...
- centos安装swoole
编译安装swoole: cd && wget https://github.com/swoole/swoole-src/archive/1.8.6-stable.tar.gz ...
- chrome://命令
一些常用的命令: chrome://version 显示当前版本 chrome://flags 实验项目,加“#项目名称”锚点可以直接定位到项目 chrome://settings 设置,下图是设置定 ...
- Kafka设计解析(十)Kafka如何创建topic
转载自 huxihx,原文链接 Kafka如何创建topic? 目录 一.命令行部分 二.后台逻辑部分 Kafka创建topic命令很简单,一条命令足矣: bin/kafka-topics. --re ...
- 在Linux中连接android设备
1.用usb线连接电脑和android设备,在命令行中输入lsusb可查看采用usb连接到电脑的设备 找到设备的vendor ID. 如上图: "Bus 002 Device 007: ID ...