带来一篇CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运转情况步骤
无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。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:***Error1
make:Leavingdirectory`/usr/local/src/gd-2.0.35
make:***Error1
make:Leavingdirectory`/usr/local/src/gd-2.0.35
make:***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.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[$i]=http;
5、测试
1、编写info.php文件,检察php设置具体
#vi/usr/local/apache2/htdocs/info.php
<?phpphpinfo();?>
经由过程扫瞄器会见http://10.0.0.154/info.php,取得php的具体设置信息
2、Zend减速器信息
3、会见phpMyAdmin
至此LAMP情况设置终了。
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
带来一篇CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运转情况步骤
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。 Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。 随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。 让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。? 这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。? 我是学习嵌入式方向的,这学期就选修了这门专业任选课。 通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
页:
[1]