【本文档所介绍的内容适用于公司测试/生产常见的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了