




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境一、简介什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件。 LAMP这个词的由来最早始于德国杂志“ct Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件经常在一起使用。这些组件的兼容性也在不断完善,为了改善不同组件之间的协作,已经创建了某些扩展功能,在一起的应用情形变得非常普便,因而成为目前最流行的web应用基础架构。LAMP的组件 平台由四个组件组成,呈分层结构,每一层都提供了整个架构的一个关键部分: Linux:Linux 处在最底层,提供操作系统。它的灵活性和可定制化的特点意味着它能够产生一种高度定制的平台,让其它组件在上面运行。其它组件运行于Linux 之上,但是并不一定局限于 Linux,也可以在 Microsoft Windows, Mac OS X 或 UNIX上运行。 Apache:Apache位于第二层,它是一个Web 服务平台,提供可让用户获得 Web 页面的机制。Apache 是一款功能强大、稳定、可支撑关键任务的Web服务器,Internet 上超过 50 的网站都使用它作为 Web 服务器。 MySQL:MySQL 是最流行的开源关系数据库管理系统,是LAMP的数据存储端。在 Web 应用程序中,所有帐户信息、产品信息、客户信息、业务数据和其他类型的信息都存储于数据库中,通过 SQL 语言可以很容易地查询这些信息。 PHP/Perl:Perl是一种灵活的语言,特别是在处理文本要素的时候,这种灵活性使Perl很容易处理通过 CGI接口提供的数据,灵活地运用文本文件和简单数据库支持动态要素。PHP 是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。可以使用 PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。二、系统环境系统平台:CentOS release 5.8 (Final)Apache版本:httpd-2.2.9.tar.gzMysql 版本:mysql-5.0.41.tar.gzPhp版本:php-5.2.6.tar.gz三、安装前准备1、库文件准备在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支 持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件,读者可以按照本节提供的顺序安装。autoconf-2.61.tar.gzfreetype-2.3.5.tar.gzgd-2.0.35.tar.gzjpegsrc.v6b.tar.gzlibmcrypt-2.5.8.tar.gzlibpng-1.2.31.tar.gzlibxml2-2.6.30.tar.gzzlib-1.2.3.tar.gzZendOptimizer-3.2.6-linux-glibc21-i386.tar.gzphpMyAdmin-3.0.0-rc1-all-languages.tar.gz2、安装gcc、gcc-c+编译器用gcc -v 命令检查安装时使用的编译工作是否存在如系统未安装,在系统联网的情况下使用yum install gcc和yum install gcc-c+安装3、卸载默认的低版本环境目前发行的Linux操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。a. 卸载Apache# rpm -qa | grep httpd说明:检查是否安装了httpd软件包# rpm -e httpd-2.2.3-63.el5.centos -nodeps说明:卸载软件包, -nodeps 如果有连带关系,也强制卸载# cd /etc/httpd/# rm -rf *说明:到原来的apache安装目录下,将其所有的安装目录和文件都删掉b. 卸载Mysql# rpm -qa | grep mysql# rpm -e mysql-5.0.77-4.el5_4.2 -nodeps说明:卸载mysqlc. 卸载Php# rpm -qa | grep php# rpm -e php-common-5.1.6-27.el5 -nodeps# rpm -e php-ldap-5.1.6-27.el5 -nodeps# rpm -e php-cli-5.1.6-27.el5 -nodeps# rpm -e php-5.1.6-27.el5 -nodeps说明:卸载PHP4、关闭selinux,清空防火墙规则5、使用ssh shell将windows下的13个源码包上传到/usr/local/src6、解包编写一个shell脚本tar.sh进行解包。#!/bin/sh cd /usr/local/srcls *.tar.gz ls.list for TAR in cat ls.list dotar -zxvf $TARdone执行脚本tar.sh进行解包7、将源码包*.tar.gz全都删除四、安装LAMP1、安装libxml2# cd /usr/local/src/libxml2-2.6.30# ./configure -prefix=/usr/local/libxml2# make & make install2、安装libmcrypt# cd /usr/local/src/libmcrypt-2.5.8# ./configure -prefix=/usr/local/libmcrypt# make & make install3、安装zlib# cd /usr/local/src/zlib-1.2.3# ./configure# make & make install4、安装libpng# cd /usr/local/src/libpng-1.2.31# ./configure -prefix=/usr/local/libpng# make & make install5、安装jpeg6这个软件包安装有些特殊,其它软件包安装时如果目录不存在,会自动创建,但这个软件包安装时需要手动创建。# mkdir /usr/local/jpeg6# mkdir /usr/local/jpeg6/bin# mkdir /usr/local/jpeg6/lib# mkdir /usr/local/jpeg6/include# mkdir -p /usr/local/jpeg6/man/man1# cd /usr/local/src/jpeg-6b# ./configure -prefix=/usr/local/jpeg6/ -enable-shared -enable-static# make & make install6、安装freetype# cd /usr/local/src/freetype-2.3.5# ./configure -prefix=/usr/local/freetype# make# make install7、安装autoconf# cd /usr/local/src/autoconf-2.61# ./configure# make & make install8、安装GD库# cd /usr/local/src/gd-2.0.35# ./configure -prefix=/usr/local/gd2/ -enable-m4_pattern_allow -with-zlib=/usr/local/zlib/ -with-jpeg=/usr/local/jpeg6/ -with-png=/usr/local/libpng/ -with-freetype=/usr/local/freetype/# make出现错误:make2: * gd_png.lo Error 1make2: Leaving directory /usr/local/src/gd-2.0.35make1: * all-recursive Error 1make1: Leaving directory /usr/local/src/gd-2.0.35make: * all Error 2分析:这个问题是因为gd库中的gd_png.c这个源文件中包含png.h时,png.h没有找到导致的。解决:在编译文件里# vi gd_png.c将include “png.h” 改成 include “/usr/local/libpng/include/png.h”其中/usr/local/libpng/为libpng安装路径。# make install9、安装Apache# cd /usr/local/src/httpd-2.2.9# ./configure -prefix=/usr/local/apache2 -sysconfdir=/etc/httpd -with-z=/usr/local/zlib -with-included-apr -enable-so -enable-deflate=shared -enable-expires=shared -enable-rewrite=shared -enable-static-support# make & make install10、配置Apache启动Apache# /usr/local/apache2/bin/apachectl start关闭Apache# /usr/local/apache2/bin/apachectl stop查看80端口是否开启# netstat -tnl|grep 80访问Apache服务器添加自启动# echo /usr/local/apache2/bin/apachectl start /etc/rc.d/rc.local11、安装Mysql添加一个mysql标准组# groupadd mysql添加mysql用户并加到mysql组中# useradd -g mysql mysql# cd /usr/local/src/mysql-5.0.41# ./configure -prefix=/usr/local/mysql/ -with-extra-charsets=all出现错误:checking for tgetent in -lncurses. nochecking for tgetent in -lcurses. nochecking for tgetent in -ltermcap. nochecking for tgetent in -ltinfo. nochecking for termcap functions library. configure: error: No curses/termcap library found分析:缺少ncurses安装包解决:# yuminstall ncurses-devel# make & make install12、配置Mysql创建MySQL数据库服务器的配置文件# cp support-files/f /etc/f用mysql用户创建授权表,创建成功后,会在/usr/local/mysql目录下生成一个var目录# /usr/local/mysql/bin/mysql_install_db -user=mysql将文件的所有属性改为root用户# chown -R root /usr/local/mysql将数据目录的所有属性改为mysql用户# chown -R mysql /usr/local/mysql/var将组属性改为mysql组# chgrp -R mysql /usr/local/mysql启动数据库# /usr/local/mysql/bin/mysqld_safe -user=mysql &查看3306端口是否开启# netstat -tnl|grep 3306简单的测试# /usr/local/mysql/bin/mysqladmin version查看所有mysql参数# /usr/local/mysql/bin/mysqladmin variables设置Mysql开机自启动# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld# chown root.root /etc/rc.d/init.d/mysqld# chmod 755 /etc/rc.d/init.d/mysqld# chkconfig -add mysqld# chkconfig -list mysqld# chkconfig -levels 245 mysqld off13、Mysql安全性设置没有密码可以直接登录本机服务器# /usr/local/mysql/bin/mysql -u root查看mysql用户权限信息mysql select * from mysql.user;删除非localhost的主机mysql DELETE FROM mysql.user WHERE Host=localhost AND User=;刷新授权表mysql FLUSH PRIVILEGES;为root用户添加密码mysql SET PASSWORD FOR rootlocalhost = PASSWORD(abc123);再次进入Mysql客户端# /usr/local/mysql/bin/mysql -u root -h localhost -p关闭MySQL数据库# /usr/local/mysql/bin/mysqladmin -u root -p shutdown14、安装PHP# cd /usr/local/src/php-5.2.6# ./configure -prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc -with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/local/mysql/ -with-libxml-dir=/usr/local/libxml2/ -with-png-dir=/usr/local/libpng/ -with-jpeg-dir=/usr/local/jpeg6/ -with-freetype-dir=/usr/local/freetype/ -with-gd=/usr/local/gd2/ -with-zlib-dir=/usr/local/zlib/ -with-mcrypt=/usr/local/libmcrypt/ -with-mysqli=/usr/local/mysql/bin/mysql_config -enable-soap -enable-mbstring=all -enable-sockets# make & make install15、配置PHP创建配置文件# cp php.ini-dist /usr/local/php/etc/php.ini使用vi编辑apache配置文件# vi /etc/httpd/httpd.conf添加这一条代码Addtype application/x-httpd-php .php .phtml重启Apache# /usr/lo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二级风力发电运维值班员职业技能鉴定考试题库附答案
- 湖南广益实验中学2026届九年级英语第一学期期末复习检测试题含解析
- 2026届湖北省襄阳市宜城市九年级英语第一学期期末统考试题含解析
- 2026届浙江省杭州市西湖区英语九年级第一学期期末统考试题含解析
- 2026届湖南省郴州市资兴市兴华实验学校九年级英语第一学期期末学业水平测试模拟试题含解析
- 吉林省白城地区大安县2026届九年级化学第一学期期中质量跟踪监视模拟试题含解析
- 智能家居:智能家居委托借款合作协议
- 税务局出口退税出口货物劳务专项审计报告合同
- 离婚协议书(涉及离婚后子女心理辅导争议解决)
- 离婚后子女抚养权调整与财产分割及监护权转移合同
- 2024年新版煤矿安全生产标准化管理体系基本要求及评分方法培训课件
- 火灾调查培训课件
- 护理输入过期液体不良事件
- 快开门式压力容器培训课件
- 创业板指数历史数据(2010年06月01日-2025年3月31日)399006
- 会议管理服务合同样本
- 中医养生馆合作协议书范本
- 海底捞晋升面试题及答案
- 2024年教育事业统计综合调查制度
- 穿越机的基础知识
- 《仓库出入库流程》课件
评论
0/150
提交评论