仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 565|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] Linux教程之CentOS 6.3源码装置LAMP情况

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:06:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。
1、简介
甚么是LAMP
LAMP是一种Web收集运用和开辟情况,是Linux,Apache,MySQL,Php/Perl的缩写,每个字母代表了一个组件,每一个组件就其自己而言都是在它所代表的方面功效异常壮大的组件。
LAMP这个词的由来最早始于德国杂志“ctMagazine”,MichaelKunze在1990年最早把这些项目组合在一路发明了LAMP的缩写字。这些组件并非开端就设计为一路应用的,然则,这些软件都是开源的,可以很便利的随时取得并无偿使用,这就招致了这些组件常常在一路应用。这些组件的兼容性也在赓续完美,为了改良分歧组件之间的协作,曾经创立了某些扩大功效,在一路的运用情况变得异常普便,因此成为今朝最风行的web运用基本架构。
LAMP的组件
平台由四个组件构成,呈分层构造,每层都供给了全部架构的一个症结部门:
LinuxLinux处在最底层,供给操作体系。它的灵巧性和可定制化的特色意味着它可以或许发生一种高度定制的平台,让其它组件在下面运转。其它组件运转于Linux之上,然则其实不必定局限于Linux,也能够在MicrosoftWindows,MacOSX或UNIX上运转。
ApacheApache位于第二层,它是一个Web办事平台,供给可以让用户取得Web页面的机制。Apache是一款功效壮大、稳固、可支持症结义务的Web办事器,Internet上跨越50%的网站都应用它作为Web办事器。
MySQLMySQL是最风行的开源关系数据库治理体系,是LAMP的数据存储端。在Web运用法式中,一切帐户信息、产物信息、客户信息、营业数据和其他类型的信息都存储于数据库中,经由过程SQL说话可以很轻易地查询这些信息。
PHP/PerlPerl是一种灵巧的说话,特殊是在处置文本要素的时刻,这类灵巧性使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停止解包。
  1. #!/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
  1. $cfg[Servers][$i][auth_type]=http;
复制代码


5、测试
1、编写info.php文件,检查php设置装备摆设具体
#vi/usr/local/apache2/htdocs/info.php
  1. <?phpphpinfo();?>
复制代码


经由过程阅读器拜访http://10.0.0.154/info.php,取得php的具体设置装备摆设信息

2、Zend加快器信息

3、拜访phpMyAdmin

至此LAMP情况设置装备摆设终了。

小知识:得益于极为出色的稳定性,全球范围内无数著名网站均选用它,CentOS是异次元的服务器也是!
海妖 该用户已被删除
沙发
发表于 2015-1-16 23:51:48 | 只看该作者

Linux教程之CentOS 6.3源码装置LAMP情况

通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-24 21:49:39 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
谁可相欹 该用户已被删除
地板
发表于 2015-2-2 15:55:57 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
小魔女 该用户已被删除
5#
发表于 2015-2-8 03:39:37 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
活着的死人 该用户已被删除
6#
发表于 2015-2-24 18:29:01 | 只看该作者
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
简单生活 该用户已被删除
7#
发表于 2015-3-7 15:34:20 | 只看该作者
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
变相怪杰 该用户已被删除
8#
发表于 2015-3-15 12:40:51 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
小女巫 该用户已被删除
9#
发表于 2015-3-22 02:11:11 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 22:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表