用ISP Control Panel建置自己的Linux虛擬主機服務
ispCP is a project founded to build a Multi Server Control and Administration Panel without limits.
This Control Panel should be usable by any Internet Service Provider (ISP).
ispCP is a project founded to build a Multi Server Control and Administration Panel without limits.
This Control Panel should be usable by any Internet Service Provider (ISP).
ISPConfig 是一個 Web Hosting 管理軟體套件(Web Panel),類似 CPanel 只不過 ISPConfig 是免費。
可以讓您輕鬆的管理伺服器(servers),網站(webs),經銷商(resellers)和每一個獨立的虛擬主機(virtual hosts),功能十分強大。
因為此套件對 Linux 系統中許多主要服務的設定進行轉換,所以強烈建議在新建置且尚未進行任何設定的 Linux 主機上安裝,這樣在設定檔的管理上才比較不會有問題。
若是在已運作的主機上可就要先做好全面性的系統備份之後再開始安裝 ISPConfig 以策安全。
各種不同 Linux 與不同版本的安裝可參考 Installation Instructions for ISPConfig 2
另外因為好像是德國人開發的系統,雖然有做出多語系的程式架構,但卻不是用UTF8編碼寫的程式,而且好像是用德語為主語的字串,所以想要中文化可就沒那麼輕鬆了,希望 ISPConfig 3 會有所改變。
想操作遠端的 Linux 桌面就架設 VNC Server 來用
然後考量連線安全,再透過 SSH Tunnel 來連線
久久設定一次都找網路資料,還是簡略記錄過程
首先安裝 VNCServer 服務
設定 /etc/sysconfig/vncserver 設定檔,以要讓 bestlong 帳號登入為例
1 2 | VNCSERVERS="2:bestlong" VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost" |
其中的 2 就是設定成 5900 + 2 當連線的 Port
接著登入 bestlong 帳號用 vncpassw 建立連線密碼,這一步驟沒做會導致 VNC Server 無法順利啟動
1 2 3 4 | [bestlong@www ~]$ vncpasswd Password: Verify: [bestlong@www ~]$ |
啟動 VNC Server 服務 /etc/init.d/vncserver start
1 2 3 4 5 6 7 8 9 10 | [root@www ~]# /etc/init.d/vncserver start 正在啟動 VNC 伺服器: 2:allen New 'www.bestlong.idv.tw:2 (bestlong)' desktop is www.bestlong.idv.tw:2 Creating default startup script /home/bestlong/.vnc/xstartup Starting applications specified in /home/bestlong/.vnc/xstartup Log file is /home/bestlong/.vnc/www.bestlong.idv.tw:2.log [ 確定 ] [root@www ~]# |
在 SSH 完成連線並登入
接著設定 Putty (or Pietty) Tunnel
1 2 3 4 | Source port 5902 Destintion localhost:5902 Local Auto |
然後就可以用 VNC Client 連線
要注意先前設定的 ssh 在此時必須是連線狀態 Tunnel 才會存在
連線到 localhost:2 並輸入密碼就可以看到一個簡單的桌面
這是因為所產生的設定是預設使用 twm 視窗管理員
當然也是可以改為 GNOME 或 KDE 的
請修改 $HOME/.vnc/xstart 檔案
以 bestlong 帳號來說路徑就是 /home/bestlong/.vnc/xstart
預設內容是
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & |
修改成為
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #twm & gnome-session & |
修改完後重新啟動 VNC Server
然後重新用 VNC Client 連線就可以看到 GNOME 桌面了。
如果只是單一主機的環境,僅需要校正本機時間,其實不需要用到 ntpd 服務。
1 2 | # crontab -e 0 0 * * * /usr/sbin/ntpdate time.stdtime.gov.tw && /sbin/hwclock -w |
ntpdate:與指定的 NTP Server 進行時間同步的指令,後面接的是所要同步的 NTP Server。
hwclock:可讀取 BIOS 的時間及將時間寫入 BIOS。
當 Postfix 的 Mail Log 中出現如下的錯誤訊息
1 | cannot access mailbox /var/mail/XXXX for user XXXX. error writing message: File too large |
這是因為 mailbox_size_limit 設定的容量過小或者是沒有設定而使用預設值
可以用 postconf 指令檢查目前設定
1 2 | [root@bestlong ~]# postconf | grep mailbox_size_limit mailbox_size_limit = 51200000 |
如果希望不限制大小可以在 /etc/postfix/main.cf 中設定成 mailbox_size_limit = 0 然後重新啟動 Postfix 就可以了
不過這樣可要小心有可能會把整個硬碟空間被用光喔