跨平臺Linux虛擬服務(wù)器配置心得
為什么會出現(xiàn)這樣一個組合?
之前在學(xué)校的時候曾經(jīng)為了搪塞老師而寫過一篇實習(xí)報告,主題是Linux實用服務(wù)提供,也就是用一臺Linux機器提供http,ftp等服務(wù),當(dāng)時為了趕工.所以選了個這樣亂七八糟的題目[主要是專業(yè)對不上號,但是萬幸老師收下實習(xí)報告了].
VBox+vboxnetflt+Arch+Lighttpd+Nginx+MySQL+PHP+SShD+Samba+Rsyncd
這個組合其實當(dāng)初我也沒怎么想過,不過現(xiàn)在配置出來之后就發(fā)現(xiàn)相當(dāng)舒適.主要是很適合我,也許也適合別人.之前都是用本機做服務(wù)來調(diào)試網(wǎng)頁和其他服務(wù),但是感覺不舒服的是自己如果沒有用上某些服務(wù)的話白白開著還是有些不舒坦.后來就萌發(fā)了用VBox的想法,最初的話是用的NAT模式,通過10.0.2.2跟10.0.2.15這兩個地址以及端口映射來實現(xiàn)主機虛擬機的訪問,這樣的不足就是映射端口的話就會浪費端口,后來換成了網(wǎng)橋模式一切都和諧了[不知道撥號的童鞋怎么想].而且虛擬機可以做暫停休眠操作,這樣就節(jié)約了系統(tǒng)資源,特別是我這種老爺機.直接用命令就可以控制虛擬機狀態(tài),很是方便.
VirtualBox虛擬機提供虛擬硬件支持,vboxnetflt提供網(wǎng)橋服務(wù),ArchLinux是我用得最久的Linux平臺,Lighttpd也是很多人推薦用的,那么Nginx就是為了高并發(fā)而存在,MySQL來提供多數(shù)的數(shù)據(jù)庫服務(wù),SShD提供了安全的終端服務(wù)和sftp,Samba是為了提高對win的親和力存在,Rsyncd是用來文件同步的主要服務(wù).沒有ftp?恩.是的,Samba和Rsyncd分別為各個平臺提供了極好的文件同步.ftp當(dāng)然就是雞肋了.
1.VirtualBox的安裝ArchLinux下官方源里的是ose版本,推薦用AUR里的bin版本.安裝之后使用命令modprobe啟用vboxdrv和vboxnetflt這兩個模塊.虛擬機的內(nèi)核模塊和虛擬機網(wǎng)橋模塊.最好是把這兩個模塊添加到rc.conf里.
配置的時候,需要把網(wǎng)卡設(shè)置為橋接模式,并選擇要橋接的網(wǎng)卡.
還要設(shè)置的就是開啟VRDP支持,設(shè)置認(rèn)證模式為NULL.
這樣基本上就完成了本文要用到的配置.
2.ArchLinux的安裝這個直接用光盤鏡像安裝到虛擬機上就可以,然后配置好源[也可以用默認(rèn)源],就可以安裝之后的軟件了.
通過類似這樣的命令來啟動虛擬機
VBoxHeadless -startvm “ArchStation”
通過類似這樣的命令來控制虛擬機,分別是暫停,繼續(xù),重啟,關(guān)機,休眠
VBoxManage controlvm “ArchStation” pause
VBoxManage controlvm “ArchStation” resume
VBoxManage controlvm “ArchStation” reset
VBoxManage controlvm “ArchStation” poweroff
VBoxManage controlvm “ArchStation” savestate
3.SShD的安裝openssh的配置默認(rèn)就能工作,但還是要修改一下sftp的路徑,這樣方便偶爾遇到的問題.
安裝openssh并編輯配置:
pacman -S openssh
vim /etc/ssh/sshd_config
找到這一行,改掉路徑
Subsystem sftp /home/data/sftp
之后,我們的操作就可以不用在rdesktop里操作,直接使用終端程序登錄到主機進行操作
4.PHP的安裝這一步直接安裝好,然后遇到需要加載某些模塊的時候就編輯配置文件來解開所要加載模塊的注釋
pacman -S php
vim /etc/php/php.ini
找到extension設(shè)置部分,然后解開mysql這些必備的模塊
5.LighttpD的安裝安裝lighttpd的時候需要配置php的解析程序,也就是fastcgi.然后修改lighttpd的配置,使之通過fastcgi來解析php程序.
pacman -S php php-cgi fcgi
vim /etc/lighttpd/lighttpd.conf
配置網(wǎng)頁根目錄
server.document-root= “/home/http/”
#p#解開server.modules設(shè)置部分“mod_fastcgi”的注釋,找到#### fastcgi module部分,解開這一段的注釋
fastcgi.server = ( “.php” =>( “l(fā)ocalhost” =>(“socket” => “/tmp/php-fastcgi.socket”,“bin-path” => “/usr/bin/php-cgi”)))fastcgi.server = ( “.php” =>
( “l(fā)ocalhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-cgi”
)
)
)
TIPS:設(shè)置目錄映射可以通過類似下面的方式來設(shè)置
alias.url = ( “/repo/” => “/media/sda6/repo/” , “/axr/” => “/home/axr/” )
6.MySQL的安裝安裝MySQL后,要修改一下默認(rèn)的數(shù)據(jù)庫目錄,還需要設(shè)置mysql的root密碼,否則沒有密碼會出現(xiàn)很糾結(jié)的問題,雖然大部分時間很舒坦.
pacman -S mysql
vim /etc/my.cnf
修改[mysqld]段里的datadir項
datadir = /home/home/mysql
登錄數(shù)據(jù)庫,然后修改root的密碼
mysql -uroot
UPDATE user SET password=PASSWORD(“密碼”) WHERE User=‘root’;
7.Nginx的安裝安裝Nginx并配置Nginx為緩存服務(wù)器,并且修改Lighttpd端口
pacman -S nginx
vim /etc/nginx/conf/nginx.conf
修改server段下listen的端口,location下的root為網(wǎng)頁根目錄,index后加上index.php
遇到點問題了,解決中…
把lighttpd的端口改到8080
## bind to port (default: 80)
server.port= 8080 8.Samba的安裝安裝samba后,設(shè)置好同步的目錄就能工作了
pacman -S samba
vim /etc/samba/smb.conf
設(shè)置機器名跟工作組后,加入新的段就可以了
[web]
path = /home/data/
guest ok = yes
writable = yes
9.RsyncD的安裝
同samba一樣設(shè)置好同步的目錄就可以了
pacman -S rsync
vim /etc/rsyncd.conf
跟samba神似阿
[ftp]
path = /home/ftp
comment = ftp area
10.設(shè)置服務(wù)為daemon模式編輯rc.conf這個靈魂文件,把上面這些服務(wù)都加到daemon段里,這樣重啟后就大功告成了.
11.后記偶爾用到那win7的話,也可以直接有平臺做事,真是很方便阿.
【編輯推薦】