2015年3月30日 星期一

虛擬機鏡像站:NFS、FTP、Apache

一、實體機先測試鏡像站


1. 實體機修改 /etc/apt/sources.list

sudo vi /etc/apt/sources.list
# 安全性更新不動
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

## 假設我的實體機 IP:120.117.72.64
deb ftp://120.117.72.64/debian/ wheezy-updates main

deb ftp://120.117.72.64/debian/ wheezy main contrib non-free
## 下面兩條寫法也可以連至本機
#deb ftp://127.0.0.1/debian wheezy main contrib non-free
#deb file:///home/ftp/debian/ wheezy main contrib non-free

2. 實體機測試

sudo apt-get update
sudo apt-get upgrade

二、實體機架  NFS Server

為了將載好的 /home/ftp 目錄分享給 pxeserver.img 虛擬機使用:

1. 測試有無安裝

showmount -e localhost

正確輸出:
Export list for localhost:
/home/ftp 192.168.10.0/24

若輸出下面,即是告訴我們還沒裝 NFS 伺服器:
clnt_create: RPC: Program not registered

2. 安裝

sudo apt-get install nfs-kernel-server

3. 設定

sudo vi /etc/exports

加入:
/home/ftp 192.168.10.0/24(ro,sync,no_subtree_check)

4. 重啟 NFS

/etc/init.d/nfs-kernel-server restart

5. 再測試

showmount -e localhost

正確輸出:
Export list for localhost:
/home/ftp 192.168.10.0/24

三、虛擬機架  NFS 伺服器

1. 虛擬機手動掛載 NFS

先建立掛載目錄:
mkdir /home/ftp

手動掛載:
mount -t nfs 192.168.10.1:/home/ftp /home/ftp

2. 虛擬機檢查掛載

mount
df -h
cd /home/ftp ; ls -l

會看到 /home/ftp 裡面要實體機所下載的鏡像站資料。

3. 虛擬機設定自動掛載 NFS

修改設定檔:
vi /etc/fstab

加入:
192.168.10.1:/home/ftp /home/ftp nfs defaults 1 2

4. 虛擬機測試 NFS

先將原先的掛載卸除:
umount /home/ftp

** 如果無法 umount 就先關閉 proftpd 就能關了!
/etc/init.d/proftpd stop

打指令執行 /etc/fstab 的設定:

mount -a
df -h

指令 mount -a 正確的話,不會有什麼訊息

四、虛擬機架  FTP 伺服器


基本設定同實體機的方法。

1. 虛擬機安裝

sudo apt-get install proftpd-basic

2. 虛擬機設定 /etc/proftpd/proftpd.conf

sudo vi /etc/proftpd/proftpd.conf

搜尋 Anonymous解除註解,完成如下結果:
User                         ftp
   Group                                nogroup
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # Limit the maximum number of anonymous logins
   MaxClients                   10

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin                 welcome.msg
   DisplayChdir         .message

   # Limit WRITE everywhere in the anonymous chroot
   
     
       DenyAll
     
   

   # Uncomment this if you're brave.
   # 
   #   # Umask 022 is a good standard umask to prevent new files and dirs
   #   # (second parm) from being group and world writable.
   #   Umask                            022  022
   #            
   #            DenyAll
   #            
   #            
   #            AllowAll
   #            
   # 

3. 虛擬機設 /etc/passwd 之 FPT 目錄路徑

sudo vi /etc/passwd

搜尋 ftp ,將其中的目錄路徑改為 /home/ftp

4. 測試

使用實體機開瀏灠器來測試,
URL 為 pxeserver.img 的 IP: 192.168.10.254

正常會看到同虛擬機的 /home/ftp 目錄下的東西 。

若無法連上 pxeserver 之 FTP 站,請設定防火牆,於實體機執行:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i br10 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

5. 虛擬機讓 FTP 下次開機後都自動執行

systemctl status proftpd
systemctl enable proftpd




五、虛擬機架 Apache Server

apt-get install apache2

vi /etc/apache2/apache2.conf
將底下片改為 /home/ftp:
<Directory /home/ftp>
        Options Indexes
        AllowOverride None
        Require all granted
</Directory>
vi /etc/apache2/sites-available/000-default.conf
修改為:
#DocumentRoot /var/www/html
DocumentRoot /home/ftp
/etc/init.d/apache2 restart

六、於實體機連線至 pxeserver.img 鏡像站更新

vi /etc/apt/sources.list

deb ftp://192.168.10.254/debian/ wheezy main contrib non-free
deb ftp://192.168.10.254/debian/ wheezy-updates main

成功之後的 pxe server 就是我們整個虛擬教室的 ftp 站。

七、其他

做最原始的 WinXP.img 備份
cp WinXP.img WinXP_bare.img
qemu-img convert -O raw WinXP.img WinXP_ok.img









沒有留言:

張貼留言