centos6.6 编译安装LAPM平台(一)

【本文档所介绍的内容适用于公司测试/生产常见的php,HTML等web环境部署,即常见的LAMP环境部署】

一:LAMP环境部署前准备:

1.1相关软件以及系统

系统要求:Centos 6.6 (64位)

相关中间件:apache:2.4.12   php:版本5.5  mysql-5.5 .25

1.2相关系统依赖包安装检查准备

1.2.1 检查系统自带httpd,mysql是否安装

# rpm -qa | grep httpd 
# rpm -qa | grep mysql

如有安装,请使用以下命令卸载相关程序 

# yum remove httpd  mysql

1.2.2 安装系统相关的编译环境,php扩展库支持,httpd,mysql编译需要的依赖包

[备注:大多数LAMP部署所用的相关扩展支持包可能都是用到官方下载的源码包.注意下:本篇所用的依赖包和扩展包都是都是基于系统自带的RPM包,比如安装httpd所用到的pcre;编译MySQL时用到cmake,用于支持PHP相关的功能扩展:gd,加密,压缩等PHP等等,都是基于RPM包安装,而并非利用源码包的形式支持相关的功能扩展,下一篇我们将讲到LAMP的另一个安装方式:即所有的需要用到包都是基于源码安装]

yum install wget gcc  gcc-c++   make  cmake bison  bison-devel  libaio-devel  perl file patch mlocate flex diffutils readline-devel libcap-devel glibc-devel glib2-devel autoconf automake libgcrypt* libtool* openssl openssl-devel ncurses ncurses-devel libxml2  libxml2-* libmcrypt* curl curl-devel zlib zlib-devel bzip2*  gd gd-devel libjpeg libjpeg-devel  libpng  libpng-devel  mcrypt freetype* gettext gettext-devel pcre pcre-devel 

说明(以下只用于说明,不用于实际操作):

以下包是编译前必须要安装的依赖包

wget gcc gcc-c++ make cmake ncurses ncurses-devel bison bison-devel libaio-devel perl file patch  mlocate flex  diffutils  readline-devel  libcap-devel glibc-devel  glib2-devel  autoconf automake libgcrypt* libtool* pcre pcre-devel

下面说明是与php常见扩展相关的依赖包

openssl openssl-devel -用于编译php时添加    --with-openssl     选项;
libxml2  libxml2-*  -用于编译php时添加    --with-libxml-dir   选项;
libmcrypt*       -用于编译php时添加    --with-mcrypt     选项;
curl curl-devel    -用于编译php时添加    --with-curl      选项;
zlib  zlib-devel   -用于编译php时添加    --with-zlib[-dir]   选项;
bzip2*         -用于编译php时添加    --with-bz2       选项;
gd gd-devel      -用于编译php时添加    --with-gd       选项;
libjpeg libjpeg-devel -用于编译php时添加    --with-jpeg-dir    选项;
libpng libpng-devel  -用于编译php时添加    --with-png-dir     选项;
libpng libpng-devel  -用于编译php时添加    --with-zlib[-dir]   选项;
libXpm libXpm-devel  -用于编译php时添加    --with-xpm-dir     选项(可选);
freetype*        -用于编译php时添加    --with-freetype-dir   选项;
gettext gettext-devel -用于编译php时添加    --with-gettext     选项;
pcre  pcre-devel   -用于编译httpd时添加    --with-pcre      选项;
perl          -用于编译php时添加    --with-pear      选项;
mcrypt         -用于编译php时添加    --with-mhash      选项;

二:LAMP环境部署正式安装:

2.1编译安装Apache

在正式编译httpd时,首先需要下载Apr ,Apr-ntil,因为httpd2.4以上的版本需要1.4以上Apr及Apr-util支持;

以下链接是apr  Apr-util下载官网和httpd下载官网:

http://apr.apache.org/download.cgi    //apr && Apr-util下载地址

http://mirror.bit.edu.cn/apache/httpd/  //httpd下载地址

这里以Apr1.5.2,Apr-util-1.5.4为例:

2.1.1安装Apr  Apr-util(默认包放在/root目录下,包统一解压到/usr/local/src)

<--install Apr-->

# wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz  //下载Apr包
# tar -zxvf apr-1.5.2.tar.gz -C /usr/local/src/ 
# cd /usr/local/src/apr-1.5.2/  
# ./configure --prefix=/usr/local/apr           
# make && make install

<--install Apr-util-->

# wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz   //下载Apr-util包
# tar -zxvf apr-util-1.5.4.tar.gz -C /usr/local/src/  
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 
# make && make install

2.1.2安装httpd(默认包放在/root目录下,包统一解压到/usr/local/src)

# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.12.tar.gz  //下载httpd包
# tar -zxvf httpd-2.4.12.tar.gz -C /usr/local/src/  
# cd /usr/local/src/httpd-2.4.12/
# ./configure \
--prefix=/usr/local/httpd  \
--sysconfdir=/etc/httpd \
--enable-rewrite \
--enable-ssl \
--enable-cgi \
--enable-expires=shared \
--enable-mods-shared \
--enable-mudules=most \
--enable-mods-shared=all \
--enable-deflate \
--enable-speling \
--enable-cache \
--enable-file-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-so \
--enable-rewrite=shared \
--enable-static-support \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre
# make && make install

2.1.3优化httpd服务,以及相关配置文件

<----服务优化――>

# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
# vim /etc/init.d/httpd
# 在第二行下添加以下两行内容
 #chkconfig:345 85 15 
 #description:Apache httpd 
# wq!                               //保存文件并退出;
# chkconfig --add httpd              //添加到系统服务;
# chkconfig --level 235 httpd on    //设置系统级别为:235 为开机自启动

<----配置文件优化――>

# vim /etc/httpd/httpd.conf
# 找到:ServerName 80
# ServerName 80    //取消掉注释符号,改为"ServerName localhost:80";

2.2编译安装mysql

2.2.1 mysql安装前准备(安装mysql前先需要添加相关的mysql运行账号及相关安装目录和权限)

<--添加mysql运行账号-->

# groupadd mysql                             //添加mysql服务组账号;
# useradd -g mysql -s -M /sbin/nologin mysql //添加mysql服务服务账号,设置不登陆系统;

<--添加mysql程序相关目录-->

# mkdir -p /usr/local/mysql        //创建mysql安装目录;
# mkdir -p /usr/local/mysql/data   //创建mysql数据存放目录;

2.2.2编译安装mysql(默认包放在/root目录下,包统一解压到/usr/local/src)

# tar -zxvf mysql-5.5.25.tar.gz -C /usr/local/src/
# cd /usr/local/src/mysql-5.5.25/
# cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DEXTRA_CHARSETS=all \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MEMORY_STORAGE_ENGINE=1 \
 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_READLINE=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DMYSQL_DATADIR=/usr/local/mysql/data \
 -DMYSQL_USER=mysql \
 -DMYSQL_TCP_PORT=3306 \
 -DSYSCONFDIR=/etc \
 -DWITH_SSL=yes
# make && make install

2.2.3 给mysql相关目录设置属主权限

# chown -R mysql:mysql /usr/local/mysql       //设置mysql安装目录的属主;
# chown -R mysql:mysql /usr/local/mysql/data  //设置mysql数据存放目录的属主;

注意:后面如果在初始化数据库的时候,出现权限问题,需要重新设置下属主权限

2.2.4 初始化mysql数据库准备

# cd /usr/local/mysql/     //设置mysql安装目录的属主;
# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql  
                           //初始化mysql数据库;

2.2.5 添加mysql数据库配置文件模板

# cd /usr/local/mysql/                 //进入到安装目录拷贝数据库样例模板;
# cp support-files/my-medium.cnf /etc/my.cnf  //这里样例模板可以是生产也可以是开发;

2.2.6 添加mysql服务启动到系统服务里,并优化mysql命令调用

<--添加mysql服务启动到系统服务,并开机自启动-->

# cd /usr/local/mysql/
# cp support-files/mysql.server /etc/init.d/mysqld  //拷贝mysql服务脚本到系统;
# vim /etc/init.d/mysqld 找到如下内容并添加相关路径
  basedir=/usr/local/mysql             //mysql安装目录;
  datadir=/usr/lcoal/mysql/data        //mysql数据存放目录;
# chkconfig -add mysqld                 //添加mysql服务到系统服务;
# chkconfig --level 235 mysqld on      //设置mysql开机自启动;

<--优化mysql命令调用-->

修改/etc/profile文件,在文件末尾添加

# PATH=/usr/local/mysql/bin:$PATH
# export PATH
# wq!                                   //保存
# source /etc/profile

2.2.7 启动mysql服务,并设置管理员账号密码

# service mysqld start
# mysqladmin -u root password 'Bluemobi@2014'

2.3编译安装php5.5

2.3.1 到php官网下载php相对应的版本,这里我上传的是php-5.5.25.tar.gz

默认包放在/root目录下,包统一解压到/usr/local/src)

# tar -zxvf php-5.5.25.tar.gz -C /usr/local/src/
# cd /usr/local/src/php-5.5.25/
#  ./configure  \
--prefix=/usr/local/php \
--with-mysql=mysqlnd  \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-zlib \
--with-libxml-dir \
--enable-sockets \
--with-apxs2=/usr/local/httpd/bin/apxs  \
--with-mcrypt  \
--with-config-file-path=/etc  \
--with-config-file-scan-dir=/etc/php.d  \
--with-bz2  \
--with-gd  \
--with-mhash  \
--enable-gd-native-ttf  \
--with-iconv  \
--with-png-dir  \
--with-jpeg-dir  \
--with-gettext  \
--with-curl  \
--with-pear \
--with-freetype-dir  \
--enable-bcmath \
--enable-xml \
--enable-mbstring \
--enable-shmop \
--enable-soap  \
--enable-sysvsem  \
--enable-calendar \
--enable-zip \
--enable-ftp \
--enable-maintainer-zts
# make && make install

2.3.2 进入到php源码解压目录,拷贝相关样例模板到/etc下命名为php.ini,并编辑样例模板优化php相关性能

<---拷贝php开发样例模板配置文件---->

# cd /usr/local/src/php-5.5.25/
# cp /usr/local/src/php-5.5.25/php.ini-development /etc/php.ini

<---编辑php.ini----->

# vim /etc/php.ini

找到如下内容,并修改

# ;default_charset = "UTF-8"      //取消掉注释符号";"将值设为"utf-8";
#  engine = On                    //将此选项的开关为 on ;
#  short_open_tag = on            //将此选项的开关为 on ,表示支持php标语;
# ;date.timezone = Asia/Shanghai  //取消掉注释符号";",将值设为"Asia/Shanghai"或"PRC";

2.4 LAMP相关程序支持

在安装完apache ,mysql ,php 之后并不意味着整个LAMP平台就完成;还需要编辑apache相关配置文件,以方便apache完整支持php环境解析

编辑apache配置文件,让apache支持php解析 

#  vim /etc/httpd/httpd.conf
# 首先查看是否有用支持php解析的模块
# LoadModule php5_module        modules/libphp5.so
# 找到这行 
  AddType application/x-gzip .gz .tgz 
# 添加这两行内容 
  AddType application/x-httpd-php .php 
  AddType application/x-httpd-php-sourece .phps
# 找到以下这句,在后面添加index.php  
  DirectoryIndex index.html     //修改前
  DirectoryIndex index.html index.php  //修改后

2.5 测试php环境

2.5.1 启动相关的服务,并查看端口侦听状态

# service httpd restart
# netstat -ntl

2.5.2 编辑两个个测试页面(一个测试php环境,一个测试mysql)

# vim /usr/local/httpd/htdocs/info.php  内容如下

<?php
 $conn=mysqli_connect('localhost','root','Bluemobi@2014');
 if ($conn)
   echo "<h2>成功...</h2>";
 else
   echo "<h2>Failure...</h2>";
?>

<?php
phpinfo();
?>

2.5.3 输入http://172.51.96.249/info.php  访问,出现如下页面说明LAMP环境ok了


你可能感兴趣的:(中间件,程序)