天天看点

LAMP的部署(一)

LAMP的部署(一)

LAMP(Linux+Apache+Mysql+PHP)由linux操作系统、Apache Web服务、Mysql数据库和PHP(Python或Perl)脚本语言四种技术的开头字母组成。所有的组成产品均为开源软件,是国际上流行的架构,很多商业应用采取这个架构,和JAVA/J2EE架构相比,LAMP具有web资源丰富、轻量、快速开发等特点。微软的.NET架构相比,LAMP更具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量或者价格都是企业搭建网站的首选平台。

搭建LAMP平台步骤:

一、 准备安装包

Apache服务下载地址:http://down.51cto.com/data/300691

Mysql数据库下载地址:http://download.mysql.cn/

数据加密工具libmcrypt、 mhash 、 mcrypt下载地址:站点sf.net

PHP下载地址:http://download.pchome.net/development/sever/php/detail-7883.html

我将安装包下载之后通过挂载光盘的方式将其复制到/root目录下。

二、搭建Apache服务

1. 准备工作

防止端口、程序突出,建议将使用rpm方式安装的httpd以及相关的依赖包卸载。

建议先用rpm –q 查看一下有哪些包已安装

[root@ns ~]# rpm –q httpd http-manual webalizer subversion mod_python mod_ssl mod_perl  system-config-httpd  php  php-cli  php-ldap  php-common  mysql  dovecot

LAMP的部署(一)

然后根据查看的结果卸载已安装的程序,如有依赖包的情况下,可在后面添加- -nodeps忽略掉就可以了

LAMP的部署(一)
LAMP的部署(一)

2.  源码编译及安装

将httpd软件解压到/usr/src目录下,再切换到展开的源码目录中。

LAMP的部署(一)

配置

LAMP的部署(一)

    配置中选项含义如下:

     --prefix:指定将httpd服务程序安装到哪个目录。

    --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

    --enable-rewrite:启用网页地址重写功能,用于网站优化以及目录迁移维护。

    --enable-charset-lite:启用字符集支持,以便于支持使用各种字符集编码的网页。

    --enable-cgi:启用cgi脚本程序支持。便于扩展网站的应用访问能力。

编译并安装

LAMP的部署(一)

3. 确认安装已完毕

在编译过程中指定安装目录为/usr/local/httpd,因此httpd服务的各种程序、模块、帮助文件等都会复制到此目录下。

LAMP的部署(一)

/usr/local/apache(默认为/uar/localhttpd)子目录的用途介绍:

/usr/local/httpd/bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制程序、apachectl等。

/usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra/等。

/usr/local/httpd/htdocs/:存放网页文档,包括默认首页文件index.html等。

/usr/local/httpd/logs:存放httpd服务的日志文件。

/usr/local/httpd/modules:存放httpd服务的各种模板文件。

/usr/local/httpd/cgi-bin:存放各种cgi程序文件。

4. 优化执行路径     ----方便执行命令

LAMP的部署(一)
LAMP的部署(一)

  示例:  httpd  -v =  /usr/local/apache/bin/httpd   -v   查看程序版本

LAMP的部署(一)
LAMP的部署(一)

5. 添加httpd为系统服务

   将httpd添加为系统服务,通过chkconfig管理。需要建立可控的服务版本。

LAMP的部署(一)
LAMP的部署(一)
LAMP的部署(一)

成功执行以上操作之后,每次linux系统进入运行级别3、5时,httpd服务会自动启动运行。在日常维护中,也可直接使用apachectl工具来控制httpd服务,也可使用/etc/init.d/httpd来控制,以下我只举例了/etc/init.d/httpd

/usr/local/bin/apachectl=/etc/init.d/httpd

LAMP的部署(一)

到这里,httpd服务准备工作我们已经做完了,现在,我们接下来该部署mysql数据库。

三、搭建Mysql数据库

1. 准备工作:

   避免发生端口、程序冲突,建议现用rpm –q确认mysql-server、mysql是否已安装

LAMP的部署(一)

   通过查询,我们得知mysql-server、mysql没有安装。

2. 创建运行用户 ,释放源码包到/usr/src目录下

LAMP的部署(一)

3. 配置

LAMP的部署(一)

故障表现及解决方法:

LAMP的部署(一)

4. 编译并安装

LAMP的部署(一)

编译可能出现故障表现:

LAMP的部署(一)

解决办法:挂载系统盘安装ncurses-devel软件包就可以了

LAMP的部署(一)

可能遇到警告:

LAMP的部署(一)

5. 安装后另外调整

       (!)建立配置文件 

LAMP的部署(一)

     (2)初始化数据库

      为了能正常使用mysql数据库系统,需要以运行用户mysql的身份执行初始化任务,建立用户授权库、表,test测 试库等。初始化脚本mysql_install_db位于安装目录下的bin文件夹中。

LAMP的部署(一)

     除此之外,需要调整用于存放数据库内容的文件夹属性,便于mysql有权限对其进行读写操作。

LAMP的部署(一)

(3)优化执行路径、程序库路径

        为mysql数据库的各种执行程序添加符号链接,便于使用。

       建议将mysql的库文件、头文件添加符号链接,便于安装其他的用到这些文件的软件包时能自动搜索。

LAMP的部署(一)

(4)添加系统服务

LAMP的部署(一)

 同样,到这里mysql数据库的准备工作以及做好,接下来安装PHP

四、PHP的安装

     1. 准备工作

      避免发生程序冲突,先将rpm方式安装的php及相关依赖包,若有则卸载。

LAMP的部署(一)

      2. 安装扩展工具库

      实际企业应用中,一部分基于PHP开发的Web应用系统需要额外的扩展工具。安装数据加密工具libmcrypt、mhash、mcrypt等。

      安装libmcrypt

LAMP的部署(一)
LAMP的部署(一)

      安装mhash

LAMP的部署(一)
LAMP的部署(一)

        安装mcrypt

LAMP的部署(一)
LAMP的部署(一)

配置报错:(提示未安装libmcrypt,其实刚刚已经安装完毕)

LAMP的部署(一)

解决办法:

LAMP的部署(一)

   3. 解压PHP到/usr/src目录下,并进行相关配置

LAMP的部署(一)

模块详解:

-with-mcrypt:加载数据加密等扩展工具支持。

--with-apxs2:设置“Apache HTTP Server”提供的apxs模块支持程序文件设置。

--with-mysql:设置MySQL数据库服务程序的安装位置。

--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置。

--enable-mbstring:启用多字节字符串功能,便于支持中文等代码。

  4. 编译并安装PHP

LAMP的部署(一)

配置报错:(提示xml-config未安装)

LAMP的部署(一)

解决办法:因为相关依赖包较多,建议使用yum安装xml*

LAMP的部署(一)