當前位置:首頁 » 雲伺服器 » centos65搭建http伺服器搭建

centos65搭建http伺服器搭建

發布時間: 2024-12-14 19:00:43

1. 如何通過PXE實現一鍵自動化安裝操作系統

因為之前的工作需要搭建紅帽實驗室環境,由於機器數量比較多,所有需要批量自動化無人值守安裝系統,所以我嘗試使用RHEL5+PXE+DHCP+Apache+Kickstart安裝了RHCE5.1 i386實驗室環境,並取得了成功,不過過程比較漫長,所以我特地記錄下PXE+DHCP+Apache+Kickstart無人值守安裝的過程。現階段,由於需要大規模應用CentOS5.8 x86_64系統用於集群環境,所以將此方法主要用於在公司內網批量安裝新伺服器系統,這極大地簡化了用光碟重復安裝CentOS5.8 x86_64的過程,再加上分布式自動化運維工具puppet進行批量部署,達到了自動化運維的目的,避免了重復性勞動,極大的提高了工作效率。
首先,我們來介紹一下與之相關的原理和概念。
1. 什麼是PXE
嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE (Pre-boot Execution Environment)協議可以使計算機通過網路啟動。此協議分為 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網路下載到本地運行。運行 PXE 協議需要設置 DHCP 伺服器和 Tftp 伺服器。DHCP 伺服器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 伺服器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。
2. 什麼是Kickstart
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種參數,並生成一個名為 ks.cfg的文件。如果在安裝過程中(不只局限於生成Kickstart安裝文件的機器)出現要填寫參數的情況,安裝程序首先會去查找 Kickstart生成的文件,如果找到合適的參數,就採用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工干預了。所以,如果Kickstart文件涵蓋了安裝過程中可能出現的所有需要填寫的參數,那麼安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後就去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中的設置重啟系統,並結束安裝。
3. PXE + Kickstart的安裝條件和詳細步驟
執行PXE+Kickstart安裝需要的設備為:
DHCP伺服器。
TFTP 伺服器。
Kickstart所生成的ks.cfg配置文件。
一台存放系統安裝文件的伺服器,如 NFS、HTTP 或 FTP 伺服器。
一個帶有 PXE 支持網卡的主機。
系統環境紹如下:
伺服器系統為CentOS 5.6 x86_64,IP為192.168.11.29(此伺服器並非一定要限定為CentOS 5.8 x86_64系統),由於是最小化安裝的,我們在後面要用到system-config-kickstart工具,它必須依賴於X windows,所以我們要提前安裝好X windows及gnome並重啟系統,步驟如下所示:
先裝X windows和GNOME桌面環境,命令如下所示:
yum -y groupinstall 'X Window System'
yum -y groupinstall 'GNOME Desktop Environment'
然後修改/etc/inittab文件並重啟伺服器,使其運行在圖形模式下,主要修改文件內容如下所示:
id:5:initdefault:
重啟伺服器命令如下:
reboot
完成上述的准備工作後,PXE+DHCP+Apache+Kickstart無人值守安裝CentOS5.8安裝的步驟如下:
(1)我們先下載CentOS5.8 x86_64光碟至/usr/local/src下,並掛載至/mnt/cdrom目錄下,並確認系統已安裝好httpd服務,如下:
cd /usr/local/src
wget //mirror.neu.e.cn/CentOS/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso
mkdir –p /mnt/cdrom
接下來我們掛載光碟ISO文件至/mnt/cdrom目錄下,如下命令:
mount -o loop CentOS-5.8-x86_64-bin-DVD-1of2.iso /mnt/cdrom
CetnOS5.x x86_64系列已默認安裝Apache,我們可以用命令看下其版本號,如下所示:
rpm -q httpd
命令顯示結果如下所示:
httpd-2.2.3-65.el5.CentOS
(2)接下來我們復制光碟下的所有內容(文件和文件夾)到/var/html/www(此目錄為Apache默認DocumentRoot目錄)下,無論是紅帽系統還是CentOS 5.x系統,如果是最小化安裝,基本上第一張DVD光碟文件就夠了,復制命令如下所示:
cp -rf /mnt/cdrom /var/html/www
(3)安裝 tftp-server,並啟用tftp服務,同時啟動xinetd進程,步驟如下所示。
1.我們用命令安裝tftp-server,命令如下:
yum -y install tftp-server
2.接著修改/etc/xinetd.d/tftp文件,將disable的值由yes變為no,內容如下所示:

3.接著重啟xinetd進程,命令如下所示:
service xinetd restart
(4)配置支持PXE的啟動程序(注意:前面已經將CentOS5.8 x86_64第一張光碟的內容復制到/var/www/html目錄中了,所以需要的文件只需要從/var/www/html目錄中復制就行了)。
a) 建立tftpboot文件夾,如下所示,若該文件夾已經存在則不用建立。
mkdir -p /tftpboot
b) 復制pxelinux.0文件至tftpboot文件夾中,如下所示。
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
c) 把DVD光碟上的/image/pxeboot/initrd.img和vmlinux復制到/tftpboot/中,如下所示。
cp /var/www/html/images/pxeboot/vmlinuz /tftpboot
d) 復制DVD光碟上的isolinux/*.msg到/tftpboot目錄下,如下所示:
cp /var/www/html/isolinux/*.msg /tftpboot/
e) 在tftpboot中新建一個pxelinux.cfg目錄:
mkdir pxelinux.cfg
f) 將isolinux目錄中的isolinux.cfg復制到pxelinux.cfg目錄中,同時更改文件名稱為default,命令如下所示:
cd pxelinux.cfg
cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
g) 在上一個步驟,即第6點中,暫時不要修改default文件,進行到這一步時,雖然已經可以通過網路來引導並手動安裝Kickstart了,但是由於這里討論的是無人值守安裝,所以先不修改這個default文件。
(5)安裝dhcp服務,同時修改如下配置:
yum –y install dhcp
然後復制配置模板文件到指定的目錄中,並重新命名。
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
接著修改/etc/dhcpd.conf配置文件,文件最後修改內容如下所示:

最後啟動dhcp服務:
service dhcpd start
註:如果機器數量過多的話,注意dhcp伺服器的地址池,不要因為耗盡IP而導致dhcpd伺服器沒有IP地址release情況。
(6)用yum工具自動安裝Kickstart,同時配置system-config-kickstart。
a) 首先我們需要安裝Kickstart這個工具包,在CentOS最小化安裝系統時,此軟體包並沒有默認安裝,yum安裝命令如下所示:
yum –y install system-config-kickstart
b) 在gnome環境下配置Kickstart,命令如下所示:
system-config-Kickstart
運行上面的命令後可以對系統的一些基本配置進行設置,例如選擇時區、設置root的密碼等。
c) 接下來便要進行安裝了,建議選擇httpd安裝,切記不要輸入任何賬號,而是採用匿名安裝。
在安裝過程中,根據引導選擇安裝選項,不需要做更改。
d) Kickstart會讓我們選擇需要批量安裝的CentOS5.8分區信息,按照上一節所介紹的CentOS5.5 x86_64的安裝方法,我們創建四個分區,即/、/boot、/data和swap分區。
e) 在進行網路配置時,我使用的靜態分配地址(動態同樣如此),這里跟前面進行光碟安裝是一樣的。
f) 設置顯示配置時可以按照我們的習慣選擇。
g) 關於軟體包的選擇,大家可以根據實際的工作需求來選擇自己需要的軟體包,由於伺服器安裝後用途都是不一樣的,建議大家這里選擇最小化安裝。
h) 其他都選擇默認設置,不需要修改。
i) 最後將生成的文件ks.cfg保存到/var/www/html下,此為自動化無人值守安裝的重難點,此文件稍有配置不當的話就會需要人為干預了,如果大家遇到問題,建議參考我下面的ks.cfg配置文件。
(7)修改/tftpboot/pxelinux.cfg/default文件,指定讀取ks.cfg的方法,即修改文件第一行內容,改動後文件第一行內容如下所示:
default text ks=192.168.11.29/ks.cfg
另外,也建議將timeout時間由原先的600改為1,timeout時間是引導時等待用戶手動選擇的時間,設為「1」可直接引導。
(8)/var/www/html/ks.cfg文件內容如下所示(此內容是整個實驗過程的重難點,請關注):

此配置過程中的重難點我這里說明下:
分區操作按照目前線上分區來操作,即分成/、/boot、/data及swap四個分區,其中/data分區是存放數據的,我們這里用--grow --size=1參數來將其餘的剩餘空間全部分配給/data分區。
key --skip如果是紅帽系統,此選項可以跳過輸入序列號過程;如果是CentOS 5.x系列,則可以不保留此項內容;
reboot 此選項必須存在,也必須文中設定位置,不然kickstart顯示一條消息,並等待用戶按任意鍵後才重新引導,此問題是很多朋友在論壇上發言提問的,我在實驗過程中也遇到此問題,建議多做幾次實驗;
clearpart --all --initlabel此條命令必須添加,不然系統會讓用戶手動選擇是否清除所有數據,這就需要人為干預了,從而導致自動化過程失敗;
其它方面選項較容易看懂,我這里就不再重復了。
(9)將Kickstart需要的伺服器均啟動後,此自動化安裝系統的過程就完成了,我們就可以在內網機櫃中全自動同時安裝CentOS5.8 x86_64系統了,伺服器端啟動相應命令如下:
service httpd start
chkconfig httpd on
service dhcpd start
chkconfig dhcpd on
service xinetd restart
系統完成最小化後安裝後,大家可以根據自己公司的實際情況來進行系統的優化,此最小化優化腳本init.sh還可以讓puppet伺服器進行推送,此腳本內容如下所示:

注意:
#tune kernel parametres為內核優化部分,在這里我只做了基礎處理,大家有需求可以自行修改,記住:一切以系統穩定為原則。
#vim setting選項為vim的個性化配置,如果想vim語法高亮,則必須安裝vim-enhanced包,另外,vim在使用搜索功能,搜索選中內容為高亮,感覺不是特別舒服,所以我這里用了set nohlsearch選項,如果大家不介意此項功能,則不需要添加此語句;
#disable ipv6選項我在測試時發現,在CentOS5.8 x86_64系統下,如果不添加install ipv6 /bin/true此語句到/etc/modprobe.conf文件里,是關閉不了ipv6選項的,而測試的CentOS5.5 | 5.6不添加此句均可以順利關閉ipv6,這點請大家注意,當然了,最後要reboot系統讓此配置生效。

引申:相信大家的開發環境應該有不少Xen虛擬機,雖然Xen有自身的模板文件操作,但我們也可以利用Kickstart的方式快速無人值守安裝Xen虛擬機系統,命令如下所示:
virt-install -n vm4 -r 300 -f /data/vm/vm4.img -s 8 -p -l -x ks=192.168.11.29/ks.cfg
我們單位有個叫noc-ps的伺服器,可以通過他自動安裝各種操作系統,把鏡像都做好,可以像給任務一樣都完全自動化,比PXE還簡單,原本是一個老員工做的,他走了,老闆讓我現在做一個功能就是讓他能自動破解windows密碼,我只會家裡平時用用GHOST里的工具去破解,賽光碟直接進軟體然後選擇磁碟的sam文件,但是通過noc-ps我就不是很清楚,老闆叫我做個WINPE,然後通過腳本方式實現,既然是winpe我想論壇很多GHOST系統里開機都有WINPE的,我猜想把這個系統鏡像里的系統GHOST文件去除,減少點容量,然後想辦法通過NOC-PS引導到像家裡光碟機啟動一樣的界面,讓他自己進入WINPE,然後系統啟動後自動讓他執行破解軟體的腳本,不知道是這樣否,現在我把系統鏡像上傳上去,引導就是引導不起來,不知道論壇下載的ISO文件本身帶自己引導嗎?因為我通常把ISO放到虛擬機里CD/DVD光碟機,虛擬機只要按運行虛擬機自動會啟動的,不知道NOC-ps是不是要我手工把ISO這個文件製作成帶啟動功能的,請大俠指點我

2. 想安裝 Linux,有什麼版本可以推薦

圖3: KDE Plasma 5登錄管理界面

安裝後

你要首先要做的兩件事之一便是給 root 用戶設個密碼(通過輸入命令 passwd 來修改默認的密碼),以及添加一個標准用戶。做法和其它的 Linux 發行版無二。用 root 用戶登錄,然後在終端輸入命令:

useradd -m USER

將 USER 替換成你想要添加的用戶名。然後通過下面的命令給用戶設上密碼:

passwd USER

同樣的將 USER 替換成你添加的用戶。

然後會有提示引導你填寫並驗證新密碼。然後,你就能用標准用戶登錄 NixOS 啦。

NixOS 在你安裝並運行後,你可以為系統添加新的軟體包,但並非通過尋常的方式。如果你發現你需要安裝些新東西,你得回到配置文件(位置就是/etc/nixos/),找到之前安裝時添加軟體包的位置,運行以下命令(需要 root 許可權):

nixos-rebuild switch

命令執行結束後,你就能使用新安裝的軟體包了。

Enjoy NixOS

現在,NixOS 已經帶著所有你想安裝的軟體和 KDE Plasma 5桌面運行起來了。要知道,你所做的不僅僅只是安裝了個 Linux 發行版,關鍵是你自定義出來的發行版非常符合你的需求。所以好好享受你的 NixOS 吧!

via: http://www.linux.com/learn/intro-to-linux/2017/10/nixos-linux-lets-you-configure-your-os-installing

作者:JACK WALLEN[6]譯者:martin2011qi 校對:wxy

本文由 LCTT 原創編譯,Linux中國榮譽推出

點擊「了解更多」可訪問文內鏈接

3. 如何配置Centos 6.5 的yum源

您好,很高興為您解答。

1.檢查是否安裝yum包

查看RHEL是否安裝了yum,若是安裝了,那麼又有哪些yum包:

[root@localhost ~]# rpm -qa |grep yum

yum-metadata-parser-1.0-8.fc6

yum-3.0.1-5.el5

yum-rhn-plugin-0.4.3-1.el5

yum-updatesd-3.0.1-5.el5

2 刪除redhat自帶的yum包

卸載上面顯示的所有yum包:

[root@localhost ~]# rpm -qa|grep yum|xargs rpm -e --nodeps(不檢查依賴,直接刪除rpm包)

再用

[root@localhost ~]# rpm -qa |grep yum

[root@localhost ~]#

查看,無信息顯示表示已經卸載完成。


3.下載新的yum包。使用Centos6.5的yum包

#wgethttp://mirrors.163.com/centos/6.5/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
#wgethttp://mirrors.163.com/centos/6.5/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
#wgethttp://mirrors.163.com/centos/6.5/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

安裝yum軟體包

注意:單個的安裝包可能會依賴其它包(例如yum和yum-fastestmirror會相互依賴),所以我們可以把所有這些包放在一起,用一行命令將它們同時安裝即可:

#rpm-ivhyum-metadata-parser-1.1.2-16.el6.i686.rpmyum-3.2.29-40.el6.centos.noarch.rpmyum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

4.更換yum源。使用163的源

#cd/etc/yum.repos.d/
#wgethttp://mirrors.163.com/.help/CentOS6-Base-163.repo
#viCentOS6-Base-163.repo

編輯文件,把文件裡面的$releasever全部替換為版本號,即6.5 最後保存!或者直接把下面的內存拷貝到CentOS6-Base-163.repo文件中即可(已經修改好)

#CentOS-Base.repo
#
#
#
#.
#.
#
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
#
#

[base]
name=CentOS-6.5-Base-163.com
baseurl=http://mirrors.163.com/centos/6.5/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#releasepdates
[updates]
name=CentOS-6.5-Updates-163.com
baseurl=http://mirrors.163.com/centos/6.5/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#
[extras]
name=CentOS-6.5-Extras-163.com
baseurl=http://mirrors.163.com/centos/6.5/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#
[centosplus]
name=CentOS-6.5-Plus-163.com
baseurl=http://mirrors.163.com/centos/6.5/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib-packagesbyCentosUsers
[contrib]
name=CentOS-6.5-Contrib-163.com
baseurl=http://mirrors.163.com/centos/6.5/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

5.清除原有緩存

#yumcleanall


重建緩存,以提高搜索安裝軟體的速度

#yummakecache

6.更新系統

#yumupdate


如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

~ O(∩_∩)O~

熱點內容
模具編程多少錢一個月 發布:2025-03-05 02:52:34 瀏覽:143
安卓拍照哪個 發布:2025-03-05 02:52:24 瀏覽:359
win7打開ftp 發布:2025-03-05 02:40:49 瀏覽:417
三國戰記安卓版和蘋果哪個好 發布:2025-03-05 02:37:26 瀏覽:123
win7怎麼取消文件加密 發布:2025-03-05 02:37:17 瀏覽:196
小米max存儲設置 發布:2025-03-05 02:34:24 瀏覽:166
簡單游的腳本保護器 發布:2025-03-05 02:34:21 瀏覽:522
安卓系統如何改界面字體 發布:2025-03-05 02:17:54 瀏覽:761
新魔百盒m401a密碼是多少 發布:2025-03-05 02:12:51 瀏覽:421
萬網資料庫連接 發布:2025-03-05 01:55:46 瀏覽:123