<--目录-->

1)RPM方式构建LAMP平台

2)源码编译构建LAMP平台

3)LAMP配置解析



一、RPM方式构建LAMP平台


【服务器配置(192.168.2.1)】


1) 安装各组件

#yum -y install httpd mysql-server mysql php php-mysql php-pdo php-mbstring


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

#servcie httpd start

#service mysqld start

#chkconfig httpd on

#chkcofig mysqld on


2) 编写网页,测试PHP解析

#cat /var/www/html/test1.php

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

?>


3) 编写网页,测试数据库连接

#cat /var/www/html/test2.php

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

        if($link)echo "恭喜你,成功了!!";       //成功时的提示

        mysql_close();     //关数据库

?>


【客户端测试(192.168.2.2)】


http://192.168.2.1/test1.php

http://192.168.2.1/test2.php



二、源码编译构建LAMP平台


【准备工作】


1) 安装开发工具开发库

#yum -y instsal gcc gcc-c++   或  yum -y groupinstall "开发工具" "开发库"


2) 卸载移除冲突软件包

#yum -y remove httpd mysql-server mysql php php-mysql php-pdo php-mbstring

#rm -rf /var/lib/mysql/ /etc/my.cnf/     //删除数据库主配置文件和库文件



【编译安装HTTPD】


1) 解压安装包

#cd

#tar -zxf httpd-2.2.25

#cd httpd-2.2.25

#yum -y install openssl-devel


2) 配置、编译、安装

#./configure --prefix=/usr/local/httpd \

--enable-so --enable-rewrite \

--enable-cgi --enable--ssl \

--enable-charset-lite \

--enable-suexec --with-suexec-caller=daemon \

--with-suexec-docroot=/usr/local/httpd/htdocs

 

3) 添加为系统服务

#cp /usr/local/httpd/bin/apachectl /etc/init.d/myhttpd

#vi /etc/init.d/myhttpd

#!/bin/sh

#chkconfig:35 85 15

#description:Apache is a World Wide Web Server

...

#chkconfig --add myhttpd

#chkconfig --list myhttpd 


4)启动服务

#service myhttpd start



【编译安装MySQL】


1)添加执行用户

#useradd -M -u 49 -s /sbin/nologin mysql


2)安装依赖包

#yum -y install ncurses-devel libtermcap-devel


3)解包、配置、编译及安装

#cd 

#tar zxf mysql-5.1.62.tar.gz

#cd mysql-5.1.62

#./configure \

--prefix=/usr/local/mysql --with-charset=utf8 \

--with-collation=utf8_general_ci \

--with-extra-charsets=gbk,gb2312

#make && make install


4)初始化设置

#cd support-files

#cp my-medium.cnf /etc/my.cnf//复制样本配置文件

#cd /usr/local/mysql/bin/

#./mysql_install_db --user=mysql  


5)权限调整及执行优化

#chown -R root:mysql /usr/local/mysql/

#chown -R mysql /usr/local/mysql/var/       //库路径


6)使用mysql有权写库

#ln -s /usr/local/mysql/bin/*  /usr/local/bin/

#ln -s /usr/local/mysql/lib/mysql/* /usr/lib64/

#ln -s /usr/local/mysql/include/mysql/* /usr/include/ 


7)添加为系统服务

#cd ~/mysql-5.1.62/support-files/

#cp mysql.server /etc/init.d/mysqld

#chmod +x /etc/rc.d/init.d/mysqld 

#chkconfig --add mysqld


8)启动服务

#service mysqld start



【编译安装PHP】


1)安装依赖包

#yum -y install libxml2-devel


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

#cd

#tar zxf php-5.4.19.tar.gz 

#cd 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

#make && make install


3)复制配置文件

#cp php.ini-development /usr/local/php/php.ini



【LAMP协作配置】


1)调整httpd配置,以便支持php网页

#vi /usr/local/httpd/conf/httpd.conf

...

 54  LoadModule php5_module modules/libphp5.so//有此行,证明PHP安装成功

...

 168 DirectoryIndexindex.html  index.php//添加PHP首页

...

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

...


2)重启服务

#service myhttpd restart



【LAMP协作测试】


1) 编写网页,测试PHP解析

#cat /usr/local/httpd/htdocs/test1.php

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

?>


2) 编写网页,测试数据库连接

#cat /usr/local/httpd/htdocs/test2.php

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

        if($link)echo "恭喜你,成功了!!";       //成功时的提示

        mysql_close();     //关数据库

?>


3)重启服务

#service myhttpd restart


4)浏览器测试

http://192.168.1.10/test1.php

http://192.168.1.10/test2.php



三、部署PHP网站应用 


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

# mysql -u root

> create database bbsdb;

> grant all on bbsdb.* to 'bbs'@'localhost' identified by 'admin123';

> quit


2、解包

cd

#unzip Discuz_X3.0_SC_UTF8.zip -d DiscuzX3

#ls DiscuzX3


3、部署

#cp -r  Discuz_X3/upload/ /usr/local/httpd/htdocs/bbs

#cd /usr/local/httpd/htdocs/bbs/

#chown -R daemon config/ data/ uc_server/ template/ uc_client/


4、从浏览器中执行安装

http://192.168.1.10/bbs/install/


5、访问论坛

http://192.168.1.10/bbs/


6、善后工作(转移install/目录,避免重复安装,改名,限制访问权限)

#mv install/ install.lock

#chmod 600 install.locak


7、管理论坛

http://192.168.1.10/bbs/admin.php


三、LAMP配置解析

什么是LAMP

-Linux  --Linux、Apache、Mysql、PHP/Perl/Python

- 目前最为成熟的一种企业网站应用模式

- 提供动态Web应用与开发环境 


LAMP架构的优势

- 成本低廉、可定制、易于开发

- 方便易用、安全、稳定


RPM/YUM安装

- 速度快、方便、

- 适用于简单Web环境

- 可定制性差、不够灵活


源代码编译安装

- 速度慢、配置麻烦

- 适用于需求复杂的Web环境(邮件、论坛等)

- 可定制性强、非常灵活



LAMP编译安装注意事项

- 先卸载已安装的RPM版本,避免冲突

- 编译安装顺序:L->A->M->->P


1)编译安装httpd

.关健在于配置—./configure

- 通过./configure --help查看详细说明

- 根据实际需要选择配置参数


编译安装httpd

httpd配置参数用途

- --prefix= : 指定安装目录

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

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

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

- --enable-ssl : 支持SSL加密

- --enable-charsets-lite :支持多种语言编码


RPM安装VS源码包安装(http)

文件路径等相关差异

类型RPM安装源码包安装

ServerRoot      /etc/httpd/      /usr/local/httpd/

DocumentRoot      /var/www/html/      /usr/local/httpd/htdocs/

主配置文件      /etc/httpd/conf/      /usr/local/httpd/conf/

Include配置      /etc/httpd/conf.d/      /usr/local/httpd/conf/extra/

日志位置      /var/log/httpd      自定义

运行用户/组      apache      daemon



2)编译安装MySQL

基本实现过程

- 1、添加运行用户

- 2、解包、配置、编译及安装

- 3、初始化设置

- 4、权限调整及执行优化

- 5、添加为系统服务


MySQL配置参数用途:

--prefix= : 指定用户安装目录

--with-charset=utf8 : 指定默认字符集

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

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



3)编译安装PHP

关键配置参数

--prefix= :指定安装目录

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

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

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

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

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



调整php.ini配置(可选)

#/vi /usr/local/php/php.ini

...

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

file_uploads=On  //允许上传

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

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



LAMP协作及测试

A+M+P如何一起工作?

- 安装php时,将其与httpd、mysql关联

- 修改httpd配置文件,添加php模块的调用

- 当用户访问httpd时,启用php模块来解析动态网页,连接Mysqld数据库



Discuz!X 论坛系统

- Crossday Discuz! Board论坛系统

- 利用PHP+MySQL等构建的高效论坛程序

- 可免费获得源代码进行学习/测试

- 用于商业目的时需要购买其授权许可


部署Discuz!X 论坛

1、基本准备工作

- 准备可用的LAMP服务器

- 确定论坛服务器的域名、IP地址等信息

- 建立bbs论坛的数据库及授权用户


2、下载并确认程序代码

- 官方网站:http://www.discuz.net/


安装Discuz! X 论坛系统

访问新部署的论坛、注册用户、发贴

修改论坛名称、版块