rmp包格式安装配置lamp,提供两个虚拟机,一个用于wordpress,一个用于phpmyadmin,提供ssl访问方式

rpm -i your-package.rpm

其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。

安装过程中可能出现下面的警告或者提示:

... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有

的文件,缺省时这样的情况下是无法正确安装的可以用

rpm --force -i 强制安装即可

... is needed by ...

... is not installed ... 此包需要的一些软件你没有安装可以用

rpm --nodeps -i 来忽略此信息

也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包

都能安装上,但这种强制安装的软件包不能保证完全发挥功能


2.如何安装.src.rpm软件包

有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时

需要进行编译。这类软件包有两种安装方法,

方法一:

1.执行rpm -i your-package.src.rpm

2. cd /usr/src/redhat/SPECS

3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件

4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录

5. ./configure 这一步和编译普通的源码软件一样,可以加上参数

6. make

7. make install


方法二:

1.执行rpm -i you-package.src.rpm

2. cd /usr/src/redhat/SPECS

前两步和方法一相同

3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件

这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)

在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。

执行rpm -i new-package.rpm即可安装完成。


3.如何卸载rpm软件包

使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm

比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:

rpm -e proftpd-1.2.8-1

rpm -e proftpd-1.2.8

rpm -e proftpd-

有时会出现一些错误或者警告:

... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载

可以用rpm -e --nodeps强制卸载


4.如何不安装但是获取rpm包中的文件

使用工具rpm2cpio和cpio

rpm2cpio xxx.rpm | cpio -vi

rpm2cpio xxx.rpm | cpio -idmv

rpm2cpio xxx.rpm | cpio --extract --make-directories

参数i和extract相同,表示提取文件。v表示指示执行进程

d和make-directory相同,表示根据包中文件原来的路径建立目录

m表示保持文件的更新时间。


5.如何查看与rpm包相关的文件和其他信息

下面所有的例子都假设使用软件包mysql-3.23.54a-11

1.我的系统中安装了那些rpm软件包

rpm -qa 讲列出所有安装过的包

如果要查找所有安装过的包含某个字符串sql的软件包

rpm -qa |grep sql


2.如何获得某个软件包的文件全名

rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得

当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11


3.一个rpm包中的文件安装到那里去了?

rpm -ql 包名

注意这里的是不包括.rpm后缀的软件包的名称

也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。

如果只是想知道可执行程序放到那里去了,也可以用which,比如

which mysql


4.一个rpm包中包含那些文件

一个没有安装过的软件包,使用rpm -qlp ****.rpm

一个已经安装过的软件包,还可以使用rpm -ql ****.rpm


5.如何获取关于一个软件包的版本,用途等相关信息?

一个没有安装过的软件包,使用rpm -qip ****.rpm

一个已经安装过的软件包,还可以使用rpm -qi ****.rpm


6.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序

rpm -qf `which 程序名` 返回软件包的全名

rpm -qif `which 程序名` 返回软件包的有关信息

rpm -qlf `which 程序名` 返回软件包的文件列表

注意,这里不是引号,而是`,就是键盘左上角的那个键。

也可以使用rpm -qilf,同时输出软件包信息和文件列表


7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件

注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以

用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。

首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:

# whereis ftptop

ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz

# rpm -qf /usr/bin/ftptop

proftpd-1.2.8-1

# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt

proftpd-1.2.8-1


总结:

获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如

i 表示info,获得软件包的信息;

l 表示list,获得文件列表;

a 表示all,在所有包中执行查询;

f 表示file,根据文件进行相关的查询;

p 表示package,根据软件包进行查询


LAMP 

配置环境

操作系统:Redhat Enterprise AS 4

已安装包:httpd2.0.4, mysql4.1,libxml2.6.16, zlib1.2.1.2,gd2.0.28, libpng1.2.7

说明:网上的各种安装说明都不是很好地说明了配置参数的来由,本文将尽可能标明每一步的必要性.已安装包不是必需的,其中mysql可以独立安装,而rpm包形式的httpd因为不是mod-so形式安装的,如果要支持php或者其它模块,要强制remove重安装编码版本. #rpm --nodeps --erase httpd

其它php可能需要的模块功能说明:

libxml2: xml解析库

zlib: 开源压缩库

gd: 图形库

libpng: 用来处理png图像格式文件的库

freetype: TrueType字体绘制引擎

ZendOptimizer:


第一步:安装apache

进入安装目录,依次执行下面命令:

解压源码包

# tar -zxf httpd-2.0.55.tar.gz 

进入安装目录

# cd httpd-2.0.55

配置apache安装信息, 配置安装后目录,模块动态配置,允许重写重配置

# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite

执行make安装

# make; make install



第二步:配置apache

修改httpd.conf文件

//ServerName 修改主机名称,若无dns,则用IP替代

ServerName 192.168.36.163:80


//DocumentRoot 修改文档路径,就是要放置目标网页的地方

DocumentRoot "/var/www/html"



//DirectoryIndex 修改默认的首页名称

DirectoryIndex index.html index.php index.htm


2 把PHP 5.2.3 zip package 里面的php_mysql.dll拷贝到PHP安装根目录,建议重新启动下IIS,再来调试phpMyAdmin 3.配置php.ini  PHP5默认不支持MSQL,所以我们需要配置下PHP.INC (1) 设置扩展路径  查找 extension_dir 有这么一行 ;extension_dir = "./"  在此行后面加入一行(注意是加入一行,不是加到后面) extension_dir = "d:\php\ext"   其中d:\php是你安装php的路径。路径不正确将无法加载dll   (2) 查找 extension   extension=php_mbstring.dll extension=php_gd2.dll extension=php_mysql.dl   把上面3项前面的分号去掉,这样IIS启动时就可以加载这些dll了    (3) 设置会话保存路径  查找session.save_path 有这么一行 ;     session.save_path = "N;/path" 在此行后加入一行  session.save_path = "C:\WINDOWS\Temp"    保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下   (4) 还有比较值得注意的是 short_open_tag 默认是Off的 

也就是说 php不能使用短标记如 <? ?> 必须使用<?php ?>  由于短标记使用方便,并且很多程序也是用短短标记来写,如discuz等  如果不把 short_open_tag 改成On将出现的症状将很难判断是上面原因,这里建议修改  查找  short_open_tag = Off 改为  short_open_tag = On   (5) 是否显示错误 display_errors   出于安全性考虑,display_errors 也默认为 Off  就是说在调试时,如果php代码有误,就只出现一个空白页。而不会显示出错原因和出错行数。  这样调试起来将非常不便,建议根据自己需要修改 查找  register_globals = Off 改成  register_globals = On   (6) register_globals  出于安全性考虑它默认也是Off  当register_globals=Off的时候,下一个程序接收的时候应该用$_POST[‘user_name‘]和$_POST[‘user_pass‘])   当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值。    建议根据自己需要修改   (7) php5时差问题  <?php echo date("Y-m-d H:i:s");?>时间相差八小时 为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时  查找date.timezone有这么一行 ;date.timezone = 将;去掉,改成  date.timezone = PRC  

其中PRC:People‘s Republic of China 中华人民共和国       第一个问题:“无法载入mcrypt扩展,请检查PHP配置”。   1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动。  2、在系统的 system32(C:\windows\system32) 目录下缺少 libmcrypt.dll文件,解决方法

是找到php目录下的libmcrypt.dll,并将libmcrypt.dll复制到C:\windows\system32目录中,然后重新启动Web服务。  3、在PHP目录下的php.ini文件中,没有将“;extension=php_mcrypt.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件,找到;extension=php_mcrypt.dll改成extension=php_mcrypt.dll     //去掉前面的;使之生效 


apache_1.3.11.tar.gz (服务器)     mod_ssl-2.5.0-1.3.11.tar.gz (SSL接口模块)    openssl-0.9.4.tar.gz (ssl安全和算法类库)    mod_perl-1.21.tar.gz (perl接口模块)    rsaref20.tar.Z(RSA算法包)    perl5.005_03.tar.gz(perl环境) 



2、mod_ssl - http://www.modssl.org/    这是一个为Apache1.3.x web server提供强力加密的的软件模块,它使用的是SSL v2和v3 以及TLS(Transport Layer Security)v1 协议。该软件包是在BSD的license下开发的,在非商业的情况下,你可以自由地使用它,要判断该使用哪一个版本的mod_ssl很简单,它的版本号是-格式的,也就是说,你如果用的是1.3.11的Apache,那么就该用2.50-1.3.11的mod_ssl。     3、mod_perl - http://perl.apache.org/dist/   Apache1.3.x 的perl接口模块     4、Open SSL - http://www.openssl.org/ ??????    这一软件包提供了SSL v2/v3(Secure Sockets Layer)及TLS v1(Transport Layer Security) 协议的加密保护。    5、RSAref - 用搜索引擎查找一下"rsaref20.tar.Z"应该就能找到了RSA加密算法的实现软件包    6、Perl减压缩、安装(详见Perl介绍)     Perl是一种编程语言。它是一种非常流行的编程语言,在文本处理、端口通信、协调多个不同应用以及完成其他诸多任务时都受到人们的欢迎。Perl同时也是一种颇有名气的流行CGI编程语言,不过这只是Perl诸多应用中的一种  我们将把这些程序安装于/usr/local目录下增加功能模块可以给阿帕奇更强大的功能,如果你需要更多的模块的话,自己去获得它并且加载,比如mod_php这一模块也是现在流行的,可以使阿帕奇提供php脚本支持…… 三、软件包的安装     在实际安装前我们要决定我们将把web server安装在什么环境下,对于一个对安全有相当高要求的人来说,可以将服务器和软件安装于chroot环境,chroot改变root 目录并且仅在这一目录中执行程序,这提供了一个内建的小环境,即使入侵者已经通过cgi程序或者其它办法通过80端口获得了系统的进入权限,它也只能够在这一受限的环境中活动,从安全角度考量,这当然是最好的,但对系统管理员来说,这样安装相对麻烦一些,还必须把一些必要的库,perl以及相关工具也搬到chroot中,所以——你自己决定吧,这里我们介绍的是在chroot下安装。 展开这些软件包:     #gzip -d -c apache_1.3.11.tar.gz | tar xvf -    #gzip -d -c mod_ssl-2.5.0-1.3.11.tar.gz | tar xvf -   #gzip -d -c openssl-0.9.4.tar.gz | tar xvf -   #gzip -d -c mod_perl-1.21.tar.gz | tar xvf -     展开并且编译rsaref    #mkdir rsaref    #cd rsaref     #gzip -d -c ../rsaref20.tar.Z | tar xvf -   #tar xvf rsaref.tar     #cp -rp install/unix temp    #cd temp    #make     #mv rsaref.a librsaref.a    #cd ../../  

    编译OpenSSL    #cd openssl-0.9.4     #perl util/perlpath.pl /usr/bin/perl (Path to Perl)   #./config -L`pwd`/../rsaref/temp/    #make     #make test    #cd ..      将mod_perl加到Apache的编译选项里    #cd mod_perl-1.21     #perl Makefile.PL APACHE_PREFIX=/usr/local/apache \   APACHE_SRC=../apache_1.3.11/src \     USE_APACI=1     你会得到下面的提示:    Configure mod_perl with ../apache_1.3.11/src ? [y]   直接按enter就是默认的yes     然后Makefile会问你是否建立httpd,可以用n选择不。   #make    #make install    #cd ..     将mod_ssl加到Apache中    #cd mod_ssl-2.5.0-1.3.11     #./configure --with-apache=../apache_1.3.11 \   --prefix=/usr/local/apache \    --with-ssl=../openssl-0.9.4 \    --with-rsa=../rsaref/temp \     --activate-module=src/modules/perl/libperl.a   #cd ..  编译Apache:     #cd apache_1.3.11     在编译以前我们可以再做一件事——编辑包含http server版本号的文件,使想得到它的入侵者摸不着脑袋长哪儿:)   # src/include/httpd.h     寻找下面的行 (approx. 454)并且改变server的名字及版本号——可以随便用你想改成的东西。    define SERVER_BASEVERSION "Apache/1.3.11"   现在你可以编译阿帕奇了    #make     现在你可以生成一个CA了(actual certificate).    #make certificate     按照该授权书的安装介绍做。   #make install  

  这将会把阿帕奇装在/usr/local/apache。     测试web server (还没装SSL)是否运行正常 ----调用web server:   /usr/local/apache/bin/apachectl start ??    当WEB服务器运行起来后,你可以用 lynx或者任意什么浏览器连接你的80端口,如果能看到apache的欢迎页,就OK了。   停止server:    /usr/local/apache/bin/apachectl stop     测试web server (同时起SSL) - 调用带SSL的WEB服务器    /usr/local/apache/bin/apachectl startssl    服务器运行时你用Netscape或者其它支持SSL的浏览器来看https://your.ip.here/,看到欢迎页了么?    要停止SERVER:     /usr/local/apache/bin/apachectl stop ????   四、阿帕奇的配置     现在我们可以来看看阿帕奇的配置文件了——需要记住的是如果你对它做了更改,   在未重新启动httpd守护进程前,它是不会发生作用的。好,现在我们可以进目录   /usr/local/apache/conf看看了。    httpd.conf -     这是阿帕奇的主要配置文件,你可以在这里设定服务器启动时的基本环境,比如服务 ??   器的启动方式、端口号、允许的最多连接数等等,这一文件的注释非常详细,要看明 ??   白应该没什么问题。    access.conf -     这一文件是设定系统中的存取方式和环境的,但现在已经可以在httpd.conf中设定了,   所以推荐你别动它,放空好了。    srm.conf -      这家伙主要做的是资源上的设定,你也可以放空,仅仅设定httpd.conf中的相关项。   现在重启web server来使改动生效:    #/usr/local/apache/bin/apachectl restart



2、mod_ssl - http://www.modssl.org/    这是一个为Apache1.3.x web server提供强力加密的的软件模块,它使用的是SSL v2和v3 以及TLS(Transport Layer Security)v1 协议。该软件包是在BSD的license下开发的,在非商业的情况下,你可以自由地使用它,要判断该使用哪一个版本的mod_ssl很简单,它的版本号是-格式的,也就是说,你如果用的是1.3.11的Apache,那么就该用2.50-1.3.11的mod_ssl。     3、mod_perl - http://perl.apache.org/dist/   Apache1.3.x 的perl接口模块     4、Open SSL - http://www.openssl.org/ ??????    这一软件包提供了SSL v2/v3(Secure Sockets Layer)及TLS v1(Transport Layer Security) 协议的加密保护。    5、RSAref - 用搜索引擎查找一下"rsaref20.tar.Z"应该就能找到了RSA加密算法的实现软件包    6、Perl减压缩、安装(详见Perl介绍)     Perl是一种编程语言。它是一种非常流行的编程语言,在文本处理、端口通信、协调多个不同应用以及完成其他诸多任务时都受到人们的欢迎。Perl同时也是一种颇有名气的流行CGI编程语言,不过这只是Perl诸多应用中的一种  我们将把这些程序安装于/usr/local目录下增加功能模块可以给阿帕奇更强大的功能,如果你需要更多的模块的话,自己去获得它并且加载,比如mod_php这一模块也是现在流行的,可以使阿帕奇提供php脚本支持…… 三、软件包的安装     在实际安装前我们要决定我们将把web server安装在什么环境下,对于一个对安全有相当高要求的人来说,可以将服务器和软件安装于chroot环境,chroot改变root 目录并且仅在这一目录中执行程序,这提供了一个内建的小环境,即使入侵者已经通过cgi程序或者其它办法通过80端口获得了系统的进入权限,它也只能够在这一受限的环境中活动,从安全角度考量,这当然是最好的,但对系统管理员来说,这样安装相对麻烦一些,还必须把一些必要的库,perl以及相关工具也搬到chroot中,所以——你自己决定吧,这里我们介绍的是在chroot下安装。 展开这些软件包:     #gzip -d -c apache_1.3.11.tar.gz | tar xvf -    #gzip -d -c mod_ssl-2.5.0-1.3.11.tar.gz | tar xvf -   #gzip -d -c openssl-0.9.4.tar.gz | tar xvf -   #gzip -d -c mod_perl-1.21.tar.gz | tar xvf -     展开并且编译rsaref    #mkdir rsaref    #cd rsaref     #gzip -d -c ../rsaref20.tar.Z | tar xvf -   #tar xvf rsaref.tar     #cp -rp install/unix temp    #cd temp    #make     #mv rsaref.a librsaref.a    #cd ../../  

    编译OpenSSL    #cd openssl-0.9.4     #perl util/perlpath.pl /usr/bin/perl (Path to Perl)   #./config -L`pwd`/../rsaref/temp/    #make     #make test    #cd ..      将mod_perl加到Apache的编译选项里    #cd mod_perl-1.21     #perl Makefile.PL APACHE_PREFIX=/usr/local/apache \   APACHE_SRC=../apache_1.3.11/src \     USE_APACI=1     你会得到下面的提示:    Configure mod_perl with ../apache_1.3.11/src ? [y]   直接按enter就是默认的yes     然后Makefile会问你是否建立httpd,可以用n选择不。   #make    #make install    #cd ..     将mod_ssl加到Apache中    #cd mod_ssl-2.5.0-1.3.11     #./configure --with-apache=../apache_1.3.11 \   --prefix=/usr/local/apache \    --with-ssl=../openssl-0.9.4 \    --with-rsa=../rsaref/temp \     --activate-module=src/modules/perl/libperl.a   #cd ..  编译Apache:     #cd apache_1.3.11     在编译以前我们可以再做一件事——编辑包含http server版本号的文件,使想得到它的入侵者摸不着脑袋长哪儿:)   # src/include/httpd.h     寻找下面的行 (approx. 454)并且改变server的名字及版本号——可以随便用你想改成的东西。    define SERVER_BASEVERSION "Apache/1.3.11"   现在你可以编译阿帕奇了    #make     现在你可以生成一个CA了(actual certificate).    #make certificate     按照该授权书的安装介绍做。   #make install  

  这将会把阿帕奇装在/usr/local/apache。     测试web server (还没装SSL)是否运行正常 ----调用web server:   /usr/local/apache/bin/apachectl start ??    当WEB服务器运行起来后,你可以用 lynx或者任意什么浏览器连接你的80端口,如果能看到apache的欢迎页,就OK了。   停止server:    /usr/local/apache/bin/apachectl stop     测试web server (同时起SSL) - 调用带SSL的WEB服务器    /usr/local/apache/bin/apachectl startssl    服务器运行时你用Netscape或者其它支持SSL的浏览器来看https://your.ip.here/,看到欢迎页了么?    要停止SERVER:     /usr/local/apache/bin/apachectl stop ????   四、阿帕奇的配置     现在我们可以来看看阿帕奇的配置文件了——需要记住的是如果你对它做了更改,   在未重新启动httpd守护进程前,它是不会发生作用的。好,现在我们可以进目录   /usr/local/apache/conf看看了。    httpd.conf -     这是阿帕奇的主要配置文件,你可以在这里设定服务器启动时的基本环境,比如服务 ??   器的启动方式、端口号、允许的最多连接数等等,这一文件的注释非常详细,要看明 ??   白应该没什么问题。    access.conf -     这一文件是设定系统中的存取方式和环境的,但现在已经可以在httpd.conf中设定了,   所以推荐你别动它,放空好了。    srm.conf -      这家伙主要做的是资源上的设定,你也可以放空,仅仅设定httpd.conf中的相关项。   现在重启web server来使改动生效:    #/usr/local/apache/bin/apachectl restart


一切运行正常后我们可以删除前面的那些服务器安装的东西——/usr/local下的,   包括服务器以及那些内建的模块等等。    #rm -rf /usr/local/apache     #rm -rf /usr/local/mod_ssl-2.5.0-1.3.11/   #rm -rf /usr/local/mod_perl-1.21/    #rm -rf /usr/local/openssl-0.9.4/    #rm -rf /usr/local/rsaref     如果以后还想改变它们的配置,增加新的模块,那么将原先的apache留下来也行。   将阿帕奇设定为在开机时自启动,修改/etc/rc.d/rc.local并且加入以下行:   echo "Starting Apache-SSL"     /usr/sbin/chroot/apache/bin/apachectl startssl    如果一切都运行正常的话,那么恭喜你,你已经成功地运行了带SSL支持的阿帕奇 ??   了,这会使你的web server更加安全,如果你希望加入更多的模块实现其它功能的   话,自己动手吧,最后要说明的是:在chroot环境中最好只有必需的一些二进制程   序,而SUID程序还是干掉比较好些。(http://www.fanqiang.com/) 进入【UNIX论坛】   注明:    在局域网中这样是可行的,但是在广域网可能会出现这样一种情况:    由于加密证书是我们自己生成并自签的,并没有得到广域证书提供商认可,可能在html连接上,会弹出提问,是否信任证书提供商(这个时候的证书提供商就是本公司)。如果想要得到广域证书提供商的证书,可以寻找相关网站,花费大概300-500美元,这样在html连接上,由于有了广域证书,就不会弹出上面的提问了。   第三节Perl介绍及安装     以版本 5.00503 为例,上述命令会在目前目录下建立一个 perl5.005_03 的子目录, 接著    cd perl5.005_03    ./Configure     这时 Configure 会尝试取得针对你的系统应有的设定值, 都按 [Enter] 就行了    如果您觉得按 [Enter]回答问题很累的話, ./Configure 这个命令可以换成./Configure -des, 那么 Configure 会直接使用它找出来的设定值, 不再寻求使用者的确认. 接下来   make    make test


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。