研究了幾天,發覺網上的中文教程因為軟體版本的原因,大都是“殘譜”,沒有搞定,最後參考一篇外文才一次性成功,按自己的操作步驟記錄一下。
一.安裝虛擬機器VmWare
二.安裝ubuntu-12.04.1-desktop-amd64.iso(或ubuntu-12.04.1-dvd-i386.iso,依據自己的cpu而定)
安裝完後進入ubuntu
1.查詢ip:ifconfig (用ctrl+alt+t開啟終端),本文中擷取的地址是192.168.80.129
2.設定root密碼:sudo passwd root
三、安裝遠端控制軟體
1.安裝ssh: sudo apt-get install openssh-server
2.windows下載PuTTy,和winscp
四、安裝apahe2:sudo apt-get install apache2
安裝完後進入apache2目錄:cd /etc/apache2
ls列出檔案,發現有mods-available,開啟mod_mono.conf:sudo vim /etc/apache2/mods-available/mod_mono.conf,內容是空白
五.安裝mono及其apache組件:
wget http://badgerports.org/directhex.ppa.ascsudo apt-key add directhex.ppa.ascsudo apt-get install python-software-propertiessudo add-apt-repository 'deb http://ppa.launchpad.net/directhex/ppa/ubuntu lucid main'sudo apt-get update
sudo apt-get install mono-complete mono-apache-server4 libapache2-mod-mono
六.配置web在/svr/www/default
1.cd /srv
cd /srvsudo mkdir wwwcd wwwsudo mkdir default
sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+rw /srv/www/default/Up
cd /etc/apache2/sites-availablesudo vi mono-default
粘貼:
<VirtualHost *:80> ServerName my-mono-server.somewhere.com ServerAdmin web-admin@my-mono-server.somewhere.com DocumentRoot /srv/www/default MonoServerPath my-mono-server.somewhere.com "/usr/bin/mod-mono-server4" MonoDebug my-mono-server.somewhere.com true MonoSetEnv my-mono-server.somewhere.com MONO_IOMAP=all MonoApplications my-mono-server.somewhere.com "/:/srv/www/default" <Location "/"> Allow from all Order allow,deny
CheckSpelling on MonoSetServerAlias my-mono-server.somewhere.com SetHandler mono SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary </Location> <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript </IfModule></VirtualHost>
儲存:{按Esc}:ZZ,然後做成symbolic link(同樣用vi可編輯)
cd /etc/apache2/sites-enabledsudo rm 000-defaultsudo ln -s /etc/apache2/sites-available/mono-default 000-mono
2.
sudo
–u www-data mozroots --
import
–
sync
sudo
mv
/var/www/index.html /srv/www/default
sudo
vi
/srv/www/default/index.html 隨意修改後儲存(:wq)sudo /etc/init.d/apache2 restart現在用
http://<ip>/index.html, 訪問看看,初步大功告成!
七、現在發行就緒一個webform項目上去試試
vs2010建立一個.net基本項目,發布後用winscp拷貝到/svr/www/default,(注意目錄,Web.config直接在default下)刪除原index.html
sudo /etc/init.d/apache2 restart 後訪問,第一個正式項目可以運行了
八、發布MVC3項目
vs2010建立一個mvc3基本項目,發布前設定幾個引用dll的屬性,設定Copy Local option為True:
System.Web.Helpers, System.Web.Mvc, System.Web.Routing,System.Web.WebPages
發布後拷貝Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies下的幾個動態庫到發布bin目錄:
System.Web.WebPages.Deployment.dll, System.Web.WebPages.Razor.dll, and System.Web.Razor.dll
用winscp拷貝到/svr/www/default(刪除原有項目)
sudo /etc/init.d/apache2 restart,大功告成!
補充:
1.大小寫問題,可能導致網頁或圖片無法顯示訪問
000-mono裡的<Location "/">下加:CheckSpelling on
拷貝:sudo cp /etc/apache2/mods-available/speling.load /etc/apache2/mods-enabled/speling.load
2.編輯000-mono
sudo vi /etc/apache2/sites-enabled/000-mono