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