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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章