RPM构建LAMP平台

源码编译构建LAMP平台

部署PHP网站应用

LAMP-- LinuxApacheMySQLPHP/Perl/Python

LNMP-- LinuxNginxMySQLPHP/Perl/Python

   (LEMP

一、RPM方式构建LAMP平台


1) 安装各组件

[root@svr5 ~]# yum -y install  httpd  mysql-server  mysql  php  php-mysql  php-pdo  php-mbstring

2)配置各组件

[root@svr5 ~]# cp /etc/httpd/conf/httpd.conf{,.bak}

[root@svr5 ~]# vim /etc/httpd/conf/httpd.conf

.

ServerName svr5.tarena.com

DocumentRoot "/var/www/html"

DirectoryIndex index.php index.html

.. ..

MySQL配置文件:/etc/my.cnf

MySQL库存放路径:/var/lib/mysql

PHP配置文件: /etc/php.ini

3)启动各组件服务

[root@svr5 ~]# service httpd restart

[root@svr5 ~]# chkconfig httpd on

[root@svr5 ~]# service mysqld restart

[root@svr5 ~]# chkconfig mysqld on

php组件不需要启动,以模块方式被httpd加载

4)测试

[root@svr5 ~]# vim  /var/www/html/test1.php

phpinfo();  //输出PHP环境相关信息

?>

[root@svr5 ~]# vim /var/www/html/test2.php

$link=mysql_connect('localhost','test','');     //连数据库

if($link) echo "恭喜你,数据库连接成功啦 !!";   //成功时的提示

mysql_close();      //关数据库

?>


二、源码编译构建LAMP平台


1. 卸载/移除冲突软件包

[root@svr5 ~]# yum -y remove httpd mysql-server  mysql php php-mysql php-pdo php-mbstring

[root@svr5 ~]# rm -rf /var/lib/mysql/ /etc/my.cnf

2. 安装各组件

【编译安装httpd

1)安装依赖包

[root@svr5 ~]# yum -y install openssl-devel


2)解包、配置、编译、安装


[root@svr5 ~]# cd /var/ftp/pub/            //源码包路径

[root@svr5 pub]# tar zxf httpd-2.2.25.tar.gz

[root@svr5 pub]# cd httpd-2.2.25

[root@svr5 httpd-2.2.25]#./configure --prefix=/usr/local/httpd--enable-so  --enable- rewrite  --enable-cgi  --enable-ssl   --enable- charset-lite

常用配置参数用途:

--prefix=:指定安装目录

--enable-so:支持动态加载模块

--enable-rewrite :支持网站地址重写

--enable-cgi:支持CGI程序脚本

--enable-ssl:支持SSL加密

--enable-charset-lite:支持多语言编码

[root@svr5 httpd-2.2.25]# make

[root@svr5 httpd-2.2.25]# make install


3)建立服务脚本


[root@svr5 ~]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/myhttpd

[root@svr5 ~]# vim /etc/init.d/myhttpd

#!/bin/sh

# chkconfig: 35 85 15

# description: Apache is a World Wide Web Server

.. ..

[root@svr5 ~]# chkconfig --add myhttpd

[root@svr5 ~]# chkconfig --list myhttpd

myhttpd         0:关闭  1:关闭  2:关闭  3:启用  4: 关闭  5:启用  6:关闭

4)调整及启动服务

[root@svr5 ~]# vim /usr/local/httpd/conf/httpd.conf

ServerName svr5.tarena.com

.. ..

[root@svr5 ~]# service myhttpd start

【编译安装mysql

1) 添加运行用户

[root@svr5 ~]# useradd -M -u 49 -s /sbin/nologin  mysql

2) 解包、配置、编译、安装

[root@svr5 ~]# yum -y install ncurses-devel  libtermcap-devel

依赖包

[root@svr5 ~]# cd /var/ftp/pub/

[root@svr5 pub]# tar zxf mysql-5.1.62.tar.gz

[root@svr5 pub]# cd mysql-5.1.62

[root@svr5 mysql-5.1.62]#./configure  --prefix=/usr/local/mysql --with-charset=utf8   -- with-collation=utf8_general_ci   --with-extra- charsets=gbk,gb2312


常用配置参数用途:

--prefix=:指定安装目录

--with-charset=utf8:指定默认字符集 (支持中文)

--with-collation=utf8_general_ci:指定默认的校对规则 集

--with-extra-charsets=gbk,gb2312:设置支持的其他字符 集


[root@svr5 mysql-5.1.62]# make

[root@svr5 mysql-5.1.62]# make install

3) 初始化设置

[root@svr5 ~]# cd  /var/ftp/pub/mysql- 5.1.62/support-files/

[root@svr5 support-files]# cp  my-medium.cnf  /etc/my.cnf//复制样本配置文件

[root@svr5 support-files]# cd /usr/local/mysql/bin/

[root@svr5 bin]# ./mysql_install_db  --user=mysql //初始化库表

4) 权限调整及执行优化

[root@svr5 bin]# chown -R root:mysql  /usr/local/mysql/

[root@svr5 bin]# chown -R mysql  /usr/local/mysql/var///使用户mysql有权写库

[root@svr5 bin]# ln -s /usr/local/mysql/bin/*   /usr/local/bin/  //建程序快捷方式

[root@svr5 bin]# ln -s /usr/local/mysql/lib/mysql/*   /usr/lib64/  //链接库文件

[root@svr5 bin]# ln -s  /usr/local/mysql/include/mysql/*  /usr/include/   //链接头文件

5) 添加为系统服务

[root@svr5 bin]# cd  /var/ftp/pub/mysql- 5.1.62/support-files/

[root@svr5 support-files]# cp  mysql.server   /etc/init.d/mysqld  //复***务脚本

[root@svr5 support-files]# chmod  +x   /etc/rc.d/init.d/mysqld

[root@svr5 support-files]# chkconfig  --add  mysqld

[root@svr5 support-files]# service mysqld restart

//如果启动失败,先killall -9 mysqld ,再service mysqld restart

【编译安装php

1)解包、配置、编译、安装

[root@svr5 php-5.4.19]# yum -y install libxml2-devel

[root@svr5 ~]# cd /var/ftp/pub

[root@svr5 pub]# tar zxf php-5.4.19.tar.gz

[root@svr5 pub]# cd /usr/src/php-5.4.19/

[root@svr5 php-5.4.19]# ./configure \

 --prefix=/usr/local/php --enable-mbstring -- enable-sockets \

 --with-apxs2=/usr/local/httpd/bin/apxs \

 --with-mysql=/usr/local/mysql \

 --with-config-file-path=/usr/local/php


关键配置参数

--prefix=:指定安装目录

--enable-mbstring:支持多字节字符

--with-apxs2:指定httpd的模块工具位置

--with-mysql:指定mysql的安装位置

--enable-sockets:启用套接字支持

--with-config-file-path=:指定配置路径


[root@svr5 php-5.4.19]# make

[root@svr5 php-5.4.19]# make install

[root@svr5 php-5.4.19]# cp php.ini-development  /usr/local/php/php.ini    //建立配置文件

2)调整配置文件(可选)

[root@svr5 ~]# vim  /usr/local/php/php.ini

.. ..

default_charset = "UTF-8"  //默认字符 集

file_uploads = On  // 允许上传

upload_max_filesize = 4M  //可上传的 最大文件

post_max_size = 8M  //最大POST 提交的容量


3LAMP协作配置

[root@svr5 ~]# vim   /usr/local/httpd/conf/httpd.conf

.. ..

LoadModule  php5_module   modules/libphp5.so

DirectoryIndex  index.html  index.php  // 添加PHP首页

AddType  application/x-httpd-php  .php  // 识别PHP网页类型

.. ..

[root@svr5 ~]# service  myhttpd  restart

4LAMP协作测试

测试PHP解析(访问http://your_server/test1.php

[root@svr5 ~]# vim  /usr/local/httpd/htdocs/test1.php

phpinfo();  //输出PHP环境相关信息

?>

测试数据库连接(访问http://your_server/test2.php

[root@svr5 ~]# vim /usr/local/httpd/htdocs/test2.php

$link=mysql_connect('localhost','test','');     // 连数据库

if($link) echo "恭喜你,数据库连接成功啦 !!";   //成 功时的提示

mysql_close();      //关数据库

?>

三、部署PHP网站应用

1. 准备工作(数据库的准备)

[root@svr5 ~]# mysql  -u  root

mysql> CREATE DATABASE bbsdb;

mysql> GRANT all ON bbsdb.* TO 'runbbs'@'localhost' IDENTIFIED BY

'adm123';

mysql> quit

2. 解包

[root@svr5 pub]# unzip Discuz_X3.0_SC_UTF8.zip -d DiscuzX3

[root@svr5 pub]# ls DiscuzX3

Readme  upload  utility

3. 部署

[root@svr5 pub]# cp -rf DiscuzX3/upload/ /usr/local/httpd/htdocs/bbs

[root@svr5 pub]# cd /usr/local/httpd/htdocs/bbs/

[root@svr5 bbs]# chown -R daemon  config/  data/  uc_server/

[root@svr5 bbs]# chown -R daemon  template/  uc_client/

4. 从浏览器中执行安装

   http://服务器地址/bbs/install

善后工作

[root@svr5 bbs]# cd /usr/local/httpd/htdocs/bbs/

[root@svr5 bbs]# mv install/ install.lock

[root@svr5 bbs]# chmod 600 install.lock/

5. 访问论坛:

  http://服务器地址/bbs/forum.php

6. 管理论坛:

 http://服务器地址/bbs/admin.php