|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1、简介
甚么是LAMP
LAMP是一种Web收集运用和开辟情况,是Linux,Apache,MySQL,Php/Perl的缩写,每个字母代表了一个组件,每一个组件就其自己而言都是在它所代表的方面功效异常壮大的组件。
LAMP这个词的由来最早始于德国杂志“ctMagazine”,MichaelKunze在1990年最早把这些项目组合在一路发明了LAMP的缩写字。这些组件并非开端就设计为一路应用的,然则,这些软件都是开源的,可以很便利的随时取得并无偿使用,这就招致了这些组件常常在一路应用。这些组件的兼容性也在赓续完美,为了改良分歧组件之间的协作,曾经创立了某些扩大功效,在一路的运用情况变得异常普便,因此成为今朝最风行的web运用基本架构。
LAMP的组件
平台由四个组件构成,呈分层构造,每层都供给了全部架构的一个症结部门:
Linux:Linux处在最底层,供给操作体系。它的灵巧性和可定制化的特色意味着它可以或许发生一种高度定制的平台,让其它组件在下面运转。其它组件运转于Linux之上,然则其实不必定局限于Linux,也能够在MicrosoftWindows,MacOSX或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供给的一些特征的静态内容。
2、体系情况
体系平台:CentOSrelease5.8(Final)
Apache版本:httpd-2.2.9.tar.gz
Mysql版本:mysql-5.0.41.tar.gz
Php版本:php-5.2.6.tar.gz
3、装置前预备
1、库文件预备
在装置PHP之前,应先装置PHP5须要的最新版本库文件,例如libxml2、libmcrypt和GD2库等文件。装置GD2库是为了让PHP5支持GIF、PNG和JPEG图片格局,所以在装置GD2库之前还要先装置最新的zlib、libpng、freetype和jpegsrc等库文件。并且中央还会交叉装置一些软件,读者可以依照本节供给的次序装置。
autoconf-2.61.tar.gz
freetype-2.3.5.tar.gz
gd-2.0.35.tar.gz
jpegsrc.v6b.tar.gz
libmcrypt-2.5.8.tar.gz
libpng-1.2.31.tar.gz
libxml2-2.6.30.tar.gz
zlib-1.2.3.tar.gz
ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
2、装置gcc、gcc-c++编译器
用gcc-v敕令检讨装置时应用的编译任务能否存在
如体系未装置,在体系联网的情形下应用yuminstallgcc和yuminstallgcc-c++装置
3、卸载默许的低版本情况
今朝刊行的Linux操作体系版本中,假如选择默许全体装置,就曾经装置了LAMP情况,然则版原形对都比拟低。我们可以再装置一个LAMP环境和本来的并存,然则如许做没有需要,由于同时只能开启一个LAMP情况。所要我们要在装置之前,先应检讨一下体系中能否曾经装置了低版本的情况,假如已经装置过了,停滞本来的办事运转,或许把本来的情况卸载失落。
a.卸载Apache
#rpm-qa|grephttpd
解释:检讨能否装置了httpd软件包
#rpm-ehttpd-2.2.3-63.el5.centos--nodeps
解释:卸载软件包,--nodeps假如有连带关系,也强迫卸载
#cd/etc/httpd/
#rm-rf*
解释:到本来的apache装置目次下,将其一切的装置目次和文件都删失落
b.卸载Mysql
#rpm-qa|grepmysql
#rpm-emysql-5.0.77-4.el5_4.2--nodeps
解释:卸载mysql
c.卸载Php
#rpm-qa|grepphp
#rpm-ephp-common-5.1.6-27.el5--nodeps
#rpm-ephp-ldap-5.1.6-27.el5--nodeps
#rpm-ephp-cli-5.1.6-27.el5--nodeps
#rpm-ephp-5.1.6-27.el5--nodeps
解释:卸载PHP
4、封闭selinux,清空防火墙规矩
5、应用sshshell将windows下的13个源码包上传到/usr/local/src
6、解包
编写一个shell剧本tar.sh停止解包。- #!/bin/shcd/usr/local/srcls*.tar.gz>ls.listforTARin`catls.list`dotar-zxvf$TARdone
复制代码 履行剧本tar.sh停止解包
7、将源码包*.tar.gz全都删除
4、装置LAMP
1、装置libxml2
#cd/usr/local/src/libxml2-2.6.30
#./configure--prefix=/usr/local/libxml2
#make&&makeinstall
2、装置libmcrypt
#cd/usr/local/src/libmcrypt-2.5.8
#./configure--prefix=/usr/local/libmcrypt
#make&&makeinstall
3、装置zlib
#cd/usr/local/src/zlib-1.2.3
#./configure
#make&&makeinstall
4、装置libpng
#cd/usr/local/src/libpng-1.2.31
#./configure--prefix=/usr/local/libpng
#make&&makeinstall
5、装置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&&makeinstall
6、装置freetype
#cd/usr/local/src/freetype-2.3.5
#./configure--prefix=/usr/local/freetype
#make
#makeinstall
7、装置autoconf
#cd/usr/local/src/autoconf-2.61
#./configure
#make&&makeinstall
8、装置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
涌现毛病:
make[2]:***[gd_png.lo]Error1
make[2]:Leavingdirectory`/usr/local/src/gd-2.0.35
make[1]:***[all-recursive]Error1
make[1]:Leavingdirectory`/usr/local/src/gd-2.0.35
make:***[all]Error2
剖析:这个成绩是由于gd库中的gd_png.c这个源文件中包括png.h时,png.h没有找到招致的。
处理:
在编译文件里
#vigd_png.c
将include“png.h”改成include“/usr/local/libpng/include/png.h”
个中/usr/local/libpng/为libpng装置路径。
#makeinstall
9、装置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&&makeinstall
10、设置装备摆设Apache
启动Apache
#/usr/local/apache2/bin/apachectlstart
封闭Apache
#/usr/local/apache2/bin/apachectlstop
检查80端口能否开启
#netstat-tnl|grep80
拜访Apache办事器
添加自启动
#echo"/usr/local/apache2/bin/apachectlstart">>/etc/rc.d/rc.local
11、装置Mysql
添加一个mysql尺度组
#groupaddmysql
添加mysql用户并加到mysql组中
#useradd-gmysqlmysql
#cd/usr/local/src/mysql-5.0.41
#./configure
--prefix=/usr/local/mysql/
--with-extra-charsets=all
涌现毛病:
checkingfortgetentin-lncurses...no
checkingfortgetentin-lcurses...no
checkingfortgetentin-ltermcap...no
checkingfortgetentin-ltinfo...no
checkingfortermcapfunctionslibrary...configure:error:Nocurses/termcaplibraryfound
剖析:缺乏ncurses装置包
处理:
#yuminstallncurses-devel
#make&&makeinstall
12、设置装备摆设Mysql
创立MySQL数据库办事器的设置装备摆设文件
#cpsupport-files/my-medium.cnf/etc/my.cnf
用mysql用户创立受权表,创立胜利后,会在/usr/local/mysql目次下生成一个var目次
#/usr/local/mysql/bin/mysql_install_db--user=mysql
将文件的一切属性改成root用户
#chown-Rroot/usr/local/mysql
将数据目次的一切属性改成mysql用户
#chown-Rmysql/usr/local/mysql/var
将组属性改成mysql组
#chgrp-Rmysql/usr/local/mysql
启动数据库
#/usr/local/mysql/bin/mysqld_safe--user=mysql&
检查3306端口能否开启
#netstat-tnl|grep3306
简略的测试
#/usr/local/mysql/bin/mysqladminversion
检查一切mysql参数
#/usr/local/mysql/bin/mysqladminvariables
设置Mysql开机自启动
#cp/usr/local/src/mysql-5.0.41/support-files/mysql.server/etc/rc.d/init.d/mysqld
#chownroot.root/etc/rc.d/init.d/mysqld
#chmod755/etc/rc.d/init.d/mysqld
#chkconfig--addmysqld
#chkconfig--listmysqld
#chkconfig--levels245mysqldoff
13、Mysql平安性设置
没有暗码可以直接登录本机办事器
#/usr/local/mysql/bin/mysql-uroot
检查mysql用户权限信息
mysql>select*frommysql.user;
删除非localhost的主机
mysql>DELETEFROMmysql.userWHEREHost=localhostANDUser=;
刷新受权表
mysql>FLUSHPRIVILEGES;
为root用户添加暗码
mysql>SETPASSWORDFORroot@localhost=PASSWORD(abc123);
再次进入Mysql客户端
#/usr/local/mysql/bin/mysql-uroot-hlocalhost-p
封闭MySQL数据库
#/usr/local/mysql/bin/mysqladmin-uroot-pshutdown
14、装置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&&makeinstall
15、设置装备摆设PHP
创立设置装备摆设文件
#cpphp.ini-dist/usr/local/php/etc/php.ini
应用vi编纂apache设置装备摆设文件
#vi/etc/httpd/httpd.conf
添加这一条代码
Addtypeapplication/x-httpd-php.php.phtml
重启Apache
#/usr/local/apache2/bin/apachectlrestart
以上装置步调可以写成一个shellscript,具体参考http://files.cnblogs.com/mchina/lamp.rar
16、装置Zend加快器
#cd/usr/local/src/ZendOptimizer-3.2.6-linux-glibc21-i386/
#./install.sh
17、装置phpMyAdmin
拷贝目次到指定地位并更名为phpmyadmin
#cp-aphpMyAdmin-3.0.0-rc1-all-languages/usr/local/apache2/htdocs/phpmyadmin
#cd/usr/local/apache2/htdocs/phpmyadmin/
#cpconfig.sample.inc.phpconfig.inc.php
18、设置装备摆设phpMyAdmin
#vi/usr/local/apache2/htdocs/phpmyadmin/config.inc.php
将auth_type改成http
- $cfg[Servers][$i][auth_type]=http;
复制代码
5、测试
1、编写info.php文件,检查php设置装备摆设具体
#vi/usr/local/apache2/htdocs/info.php
经由过程阅读器拜访http://10.0.0.154/info.php,取得php的具体设置装备摆设信息
2、Zend加快器信息
3、拜访phpMyAdmin
至此LAMP情况设置装备摆设终了。
欢迎大家来到仓酷云论坛! |
|