我們在使用linux系統時,當我們掌握了基礎的命令之后,我們的系統還需要一個很重要的東西,也就是軟體,在windows系統中,我們可以通過簡單的方法在系統里安裝各種想使用到的軟體,但是在linux系統中是有著一定差別的,不僅如此,不同的linux版本,安裝軟體的方法也有差異,這里筆者使用centos系統來進行軟體的安裝,以及網站環境的搭建(重點),這個在整個安全學習中會陪伴我們整個職業生涯,不會自己搭建網站環境,那么算不上網路安全可以入門,所以希望大家能多動手實踐,
冰冰鎮樓
開始前,如果你還沒有裝centos系統,也不知道linux的基本指令 , 或者連虛擬機都沒有,,,那先請移步到以下的文章:
1.滲透前期基礎—虛擬化技術了解與Linux常用指令(簡寫)https://blog.csdn.net/weixin_52605156/article/details/118769491?spm=1001.2014.3001.5501
2.VMware虛擬機https://blog.csdn.net/weixin_52605156/article/details/117887784?spm=1001.2014.3001.5501
centos軟體常用安裝方式
1.軟體包管理工具( yum )
直接把rpm安裝包需要依賴檔案安裝好,無需額外處理
2.rpm二進制包
rpm二進制安裝包是已經編譯好的,型別和windows下的exe安裝檔案一樣,直接安裝即可
3.原始碼安裝
原始碼安裝包需編譯安裝,可修改原始碼兼容性,效率較高
上述的三種方法中,第一種方法(yum)類似于我們先通過命令下載安裝包,再安裝安裝包,屬于在線安裝,第二種方法,類似于windows系統里的.exe檔案,直接可以安裝,與第一種方法相比,我們需要先把安裝包下載到本地,然后再安裝,第三種方法,當我們下載好后,里面都是源代碼,我們下載完我們需要進行編譯,比如像我們的windows系統,里面有.exe檔案,那么我們的.exe檔案也是通過編譯出來的,我們人能看懂的語言叫做編程語言,而計算機需要的是機器碼,我們把源代碼進行編譯,翻譯成我們機器能看懂的機器碼,我們下載好的原始碼基本是C/C++語言或者是匯編語言,我們可以對原始碼進行修改,增強原始碼的兼容性,進行演算法優化,進行漏洞修復,我們的原始碼安裝需要編譯,而rpm包已經編譯好了,初學者我們選擇第一種居多,第二種也會涉及(尤其是在線安裝無法安裝時,但由于依賴性較強,所以有時會很麻煩),第三種方法筆者也會進行演示,
yum詳細講解
基于RPM包構建的軟體更新機制,可以自動解決rpm包之間的依賴關系,所有軟體包由集中的yum軟體倉庫提供,yum直接在云端下載軟體,根據每個不同版本的系統獲取不同的軟體資訊,按順序下載rpm包,安裝軟體,
我們的軟體在云端下載軟體,可以根據作業系統不同版本,比較智能的選擇不同版本進行安裝,
yum源檔案
/etc/yum.repos.d
所有yum源的默認存放目錄,所有yum源檔案都是以 .repo 結尾,

上圖這里面有很多鏈接,這些鏈接就是在線倉庫的地址,
我們如果把源地址放到國內,速度就會快很多,下圖是Ubuntu的源,我們安裝好Ubuntu系統后默認是國外的源,換成國內的源后就會快很多,

我們可以查找centos系統所對應的源:

鏈接:https://cloud.tencent.com/developer/article/1464422
筆者這里下載的是阿里云


然后我們就會發現在線倉庫地址變為了阿里云,我們就可以把源理解為軟體倉庫,
yum軟體安裝命令
install -> 安裝軟體
update -> 升級軟體
remove -> 卸載軟體
clean -> 清除快取
搜索軟體 [root@localhost ~]# yum search 軟體包名或描述的重要關鍵字
安裝軟體 [root@localhost ~]# yum install 要安裝的軟體
升級軟體 [root@localhost ~]# yum update 要升級的軟體
卸載軟體 [root@localhost ~]# yum remove 安裝的軟體
我們知道我們在軟體倉庫找東西,我們先進行搜索,有就安裝,沒有就換別的安裝方法,如下,我們搜索火狐瀏覽器是否在軟體倉庫里,然后我們發現一個32位的(i686),一個64位的(x86_64),

筆者的centos上有firefox了,這里,筆者先進行卸載,再安裝一遍,
我們卸載firefox:


我們再進行安裝:


由于我們選用了第一種安裝方法,前面也說過了,比較智能一些,所以我們直接輸入firefox就可以了,它會根據系統自動匹配適合的版本進行安裝,這樣大大的簡化了我們的流程,
上面還出現了作為依賴被安裝,所謂的作為依賴,其實就是我們安裝一些軟體時,可能由于它需要其他的組件才能正常啟動,所以又安裝了別的程式,
我們再進行升級:

由于筆者的火狐剛安裝上,所以這里就顯示沒有升級所用的一些程式可用,
顯示軟體資訊:
[root@localhost ~]# yum info 軟體包名或描述的重要關鍵字
顯示作業系統已經安裝過的軟體:
[root@localhost ~]# yum list installed
升級所有軟體:
[root@localhost ~]# yum update
檢查可更新的軟體:
[root@localhost ~]# yum check-update
我們輸入yum info firefox

我們下載完之后,可能不知道下載到那個目錄里了,我們也可以用命令查找which 軟體的名稱:

rpm二進制包安裝詳解
RPM型別的檔案在安裝的時候,會先去讀取檔案內記載的設定引數內容,然后將該資料用來比對Linux系統的環境,以找出是否有屬性相依的軟體尚未安裝的問題,
RPM使用自動化安裝軟體,比較類似windows下的.exe需要下載安裝包,但是它安裝程序中會有很多的依賴問題,
RPM包的命名格式:
對于一個rpm包來說,都是由 " - " 和 " . " 構成的 , 基本上由以下幾部分組成:
包名、版本資訊、發布版本號、運行平臺,當出現 noarch 時,代表軟體可以平臺兼容,
RPM包命名格式:包名-版本號-發布次數-發行商-Linux平臺-適合的硬體平臺-包擴展名
i386 —386以上的計算機都可以安裝
i586 —686 以上的計算機都可以安裝
i686 —奔騰 II 以上的計算機都可以安裝,目前所有的 CPU 是奔騰 II 以上的,所以這個軟體版本居多
x86_64 — 64 位 CPU 可以安裝
noarch — 沒有硬體限制
查詢已安裝的RPM軟體資訊,結合不同的字選項完成不同的查詢格式 :
rpm -q[子選項]軟體名
-q :
僅查詢,指定的軟體是否有安裝
-qa :
列出已經安裝在本機 Linux系統上面的所有軟體名稱
-ql :
列出該軟體所有的檔案與目錄所在完整檔案名( list )
-qR :
列出與該軟體有關的相依軟體所含的檔案(Required 的意思)
通過RPM安裝軟體:
[root@localhost ~]# rpm -ivh package_name --force --nodeps
-i : 安裝指定的rpm檔案
-v : 顯示安裝程序中的詳細資訊
-h : 以" # "號顯示安裝的進度
-U : 用指定的 .rpm 檔案升級同名包
-e : 卸載軟體
我們可以先下載好本地的包,然后再安裝,但是,我們實際上不是把linux當windows使用,我們大多數其實是在非圖形化界面進行操作的,所以面對那個黑框框,我們就需要用命令去做事情,比如下圖,我們先在真機里找到地址,復制下來,然后粘貼到虛擬機里去

我們使用wget命令,先把包下載下來,然后進行安裝,我們可以使用pwd命令,進行查看安裝到的目錄,

然后我們進行安裝命令:

我們可以發現,有大量的依賴關系都檢測失敗了,這種情況大多數我們可以換成原始碼安裝,不過我們也可以想辦法把這些依賴關系都解決,
這里我們進行依賴問題解決:
首先我們發現有一個什么.so.30的檔案沒有:

我們先強制安裝一波,看看它提示我們什么:

顯示缺少一個什么檔案,我們去查找錯誤,借助谷歌或者百度,查閱后初步感覺可能和centos的共享庫有關,我們繼續查找(此處省略n個錯誤步驟),先看一下這個缺失的東東是放在什么地方的,使用命令:


我們發現,我們現在的這個版本里面沒有那個so.30的版本,所以下面的目標就是怎么把它整進去,繼續查閱資料,發現可以使用鏈接來解決問題,參考鏈接:https://www.runoob.com/linux/linux-comm-ln.html,來我們輸入命令:

我們發現哈,第一個錯誤已經不在了,但是又出現了新的問題,.so.6的檔案出現了問題,我們繼續查找資料,似乎又是共享庫的問題,解決方案:https://www.cnblogs.com/effortsing/p/10363921.html,然后根據提示,根據你系統自己的所需檔案,進行安裝操作即可
源代碼安裝
源代碼安裝就是tar包安裝,源代碼就是別人開發好的軟體程式,沒有經過加密直接公布出來的 , 源代碼不能直接運行,必須將源代碼編譯成可執行的二進制檔案才可以運行,所以源代碼安裝比較麻煩,需要編譯.
使用源代碼安裝軟體的優點:
1.獲取最新的軟體版本,及時修復bug
2.根據用戶需要,靈活定制軟體功能
什么時候使用此安裝方式???
a.安裝較新版本的應用程式,軟體的最新版本大都以原始碼形式發布
b.當前安裝的程式無法滿足需求時,編譯安裝可由用戶自行修改、定制功能
需要為應用程式添加新功能時,用戶可以重新配置、自由修改源代碼,加入新的功能

我們用原始碼安裝可以安裝到最新的版本,用戶也可以自定義功能,筆者舉個例子,大家雙十一肯定會多多少少看看淘寶啥的,買不買的,看看總會有,當訪問量過大時,我們的開發維護人員就可以通過修改原始碼里的配置,從而達到容納更多的訪問量的目的,在大公司,尤其是一些比較大的專案,基本都會選擇原始碼安裝方式,
1 : tar解包
解壓縮源代碼包到指定的目錄
2: ./configure
配置生成makefile檔案
3: make編譯生成可執行的二進制檔案
4: make install安裝
復制二進制檔案到系統,配置應用環境
我們打開剛才的虛擬機安裝好的壓縮包:使用解包命令


我們會發現有一堆.h啊,.c之類的檔案,我們感覺似乎是和c語言有關系的,我們進入再看一看,我們隨便選一個檔案進入,使用命令:vim netkey.c(為了方便查看,我們使用vim查看),如下,確實是一行行代碼所寫:


configure可以檢測當前系統環境是否適合編譯,起到檢測作用,我們要認真去看后面的檢測結果,

這里提示我們缺少C++的測驗環境,我們的linux系統是gcc的編譯環境,我們先檢查一下我們的系統有沒有安裝gcc的編譯環境,

然后我們繼續解決我們的問題,查閱資料,嘗試安裝C++編譯器:


然后我們再用configure檢測一下,發現又出現了新的錯誤:

再次查找資料,嘗試安裝對應的程式:

再次運行,成功!

使用configure命令再次檢查,發現又有了新的問題,我們按上面的方法繼續執行命令:

然后再次使用configure命令檢測,筆者發現又有了一個錯誤(雨越下越大了…):

繼續查資料,繼續修改:

繼續使用configure命令檢測,無報錯,成功!!!:

注意:1.安裝前,仔細閱讀原始碼目錄下的README或者INSTALL檔案
2 ./configure配置:
首先跳轉到原始碼的解壓目錄,configure實際上是一個腳本檔案,在當前目錄中鍵入"./configure",這一步配置指定安裝目錄,安裝模塊等,可以通過選項只安裝需要的,這一步還會檢查編譯環境是否滿足,如果這一步沒有報錯就可以繼續進行了,如果這一步報錯,必須解決好了才可以進行下一步,
當檢測通過后,下一關就是編譯了:
1.如果configure 程序正確完成,那么在原始碼目錄,會生成相應的 Makefile檔案
2.Makefile檔案是一組檔案依賴關系以及編譯鏈接的相關步驟,make只是一個通用的工具
3.make 會根據 Makefile 中的規則呼叫合適的編譯器編譯所有與當前軟體相依賴的原始碼,生成所有相關的目標檔案,最后再使用聯結器生成最終的可執行程式
4.簡單的說就是將源代碼檔案編譯成二進制檔案

我們直接使用make命令,就是編譯當前檔案下的makefile檔案,你也可以指定編譯其他檔案,加上名稱即可,如果編譯沒問題,他就是把C語言給編譯成了二進制形式,系統不會提示錯誤:

1.當上面兩個步驟正確完成,代表著編譯鏈接程序已經完全結束,最后要做的就是將可執行程式安裝到正確的位置在這個步驟,普通用戶可能沒有相關目錄的操作權限,最好切換到root賬號,
2.如果在configure階段沒有使用"–prefix=/xxx/”指定應用程式的安裝目錄,那么應用程式一般會被默認安裝到/usr/local/bin,
3.簡單的說,就是將編譯好的二進制檔案復制到相應的目錄,
使用下圖命令,去安裝編譯好的軟體:

軟體可以執行操作了:

之后我們就可以測驗或者洗掉等等操作了,筆者就不演示了
啟動安裝好的服務進行測驗:
[root@localhost ~]#安裝目錄/bin/apachectl start
洗掉安裝產生的臨時檔案:
[root@localhost lftp-4.9.2]# make clean
卸載已安裝的程式:
前提是makefile檔案指定過uninstall,如果makefile沒有uninstall,則需要手動洗掉
[root@localhost lftp-4.9.2]# make uninstall

網站環境搭建
LAMP環境搭建
LAMP環境概述:
LAMP : Linux + Apache + Mysql + PHP
LAMP是一種常用來搭建動態網站或者服務器的開源軟體,本身都是各自獨立的程式,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程式平臺
LAMP的組件:
Linux : Linux處在最底層,提供作業系統,其它組件運行于Linux之上,但不一定局限于Linux,也可以在Windows上運行
Apache : Apache位于第二層,它是一個Web服務平臺,提供可讓用戶獲得 Web頁面的機制,
MySQL:是最流行的開源關系資料庫管理系統,是LAMP的資料存盤端
PHP:是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到 HTML中,尤其適合web開發
apache環境搭建
使用yum搭建LAMP環境
安裝Apache環境
安裝Apache和擴展
[root@localhost 桌面]# yum -y install httpd httpd-devel httpd-manual mod_ssl


本地瀏覽器訪問自己搭建好的服務器的IP




為了不用每次開機都輸入一次命令啟動阿帕奇,我們使用開機自啟動命令去方便我們自己的操作:
設定為開機自啟動
[root@localhost /]# systemctl enable httpd
mysql環境搭建
筆者恢復了3次快照,在網上找了大量的方法,一遍一遍入坑,終于成功了,這里筆者就把大佬的文章放這里了,大家跟著一步步搭建,有問題在評論區留言,https://blog.csdn.net/baidu_32872293/article/details/80557668
(這里筆者就不一步一步截圖了,直接上成功的截圖)

PHP環境搭建
安裝PHP環境
1.安裝PHP 5和擴展包
[root@localhost html]# yum -y install php php-mysql php-common php-gd php-mbstring php-mcryptphp-devel php-xml
2.安裝完成后重啟httpd服務
[root@localhost html]# systemctl restart httpd
3.安裝完成后在/var/www/html下新建一個1.php檔案<? php
phpinfo( );
?>
安裝成功!!!

擴展:
LNMP環境介紹
對于LAMP環境中的Apache服務器,可以使用nginx來替代 nginx + php-fpm + mysql安裝PHP和擴展包
Nginx服務器∶
Nginx是一款輕量級的高性能Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like協議下發行,
特點是占有記憶體少,并發能力強,事實上nginx的并發能力確實在同型別的網頁服務器中表現較好使用Nginx服務器的代表網站用戶有:百度、"京東、新浪、網易、騰訊、淘寶等
LAMP的環境搭建好后,關于使用我們之后再細說,這里先把環境搭好,掌握軟體安裝方法是本文的重點,更重要的是學會使用搜索引擎去解決我們遇到的問題,因為每個人的系統可能都不一樣,筆者沒法把所有版本的環境搭建方法都列舉出來,希望大家學會自己查資料,不斷去試錯,而不是想著像windows環境下我們用小皮面板一鍵搭建一樣容易,
文中若有錯誤,請大家及時指出,如果有什么問題,歡迎大家在評論區留言,感謝大家的支持哈,

“不要羨慕大佬,因為他們只會搶你的作業,”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290543.html
標籤:其他
