2015年3月16日 星期一

在Ubuntu上執行.NET程式安裝Mono平台步驟

2015.06.07

安裝mono

sudo apt-get install mono-complete

sudo apt-get install mono-runtime


==================下面是舊文章僅供參考============================

一、安裝XSP

命令提示字元下,執行以下指令

1.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update

2.
echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list

3.
sudo apt-get install mono-devel  mono-complete referenceassemblies-pcl 


4
測試mono是否正常執行(hello.cs)

using System;   public class HelloWorld { static public void Main () { Console.WriteLine ("Hello Mono World"); } }

編譯cs檔:
mcs hello.cs

然後測試執行:
mono hello.exe

5.測試web 是否正常執行,安裝xsp4

sudo apt-get install mono-xsp4

在你所在目錄下建立一個.aspx頁面

<%@ Page Language="C#" %> <html> <head> <title>Sample Calendar</title> </head> <asp:calendar showtitle="true" runat="server"> </asp:calendar>

執行 xsp4 --port 9000

看看 http://localhost:9000/hello.aspx 網頁是否正常執行


參考文件:

Install Mono on Linux

Mono Basics


二、手動安裝mod_mono

1.
sudo apt-get install libapache2-mod-mono

想啓用.Net 2.0版,可以加裝(選擇性,不一定要裝)

sudo apt-get install mono-apache-server2

2.
sudo a2enmod mod_mono

3.如果想要將版本改為.Net 2.0版可以在/etc/apache2/mods-available/mod_mono.conf下修改,不然保持預設值即可


vim /etc/apache2/mods-available/mod_mono.conf

4.設定你的網站,在/etc/mono-server4目錄下副檔名是.webapp,你可以查使用man xsp查閱詳細的內容, 下面列出概要

====================================================
       <apps>
       <web-application>
               <name>{appname}</name>
               <vhost>{virtual host for application}</vhost>
               <vport>{port for the application}</vport>
               <vpath>{virtual directory in apache}</vpath>
               <path>{physical path to aspx files}</path>
               <!-- <enabled> is true by default -->
               <enabled>{true|false}</enabled>
       </web-application>
       </apps>
=======================================================

5.重新啓動apache2,沒有安裝的話 sudo apt-get install apache2

sudo /etc/init.d/apache2 restart

6.新增一個apache2(2.4版以上)的站台設定檔/etc/apache2/sites-enabled/example.com.conf,裡面有以下內容


===========================================================
<VirtualHost *:80>
#        ServerName example.com

        DocumentRoot /var/www/example.com/

        <Directory /var/www/example.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require All granted
#                Order allow,deny
#                Allow from all
#                SetHandler mono
                DirectoryIndex index.aspx index.html
        </Directory>
</VirtualHost>


======================================================

直接用ip測試應該可以看得到index.html的內容,但index.aspx還不會正常顯示


7.設定asp.net的設定檔案

先將剛剛在apache中建立的example.com.conf中的mono註解拿掉#

#                SetHandler mono  

再來在/etc/mono-server4中建立example.com.webapp檔,內容如下

<apps>
        <web-application>
                <name>example.com</name>
#                <vpath>/moo</vpath>
                <path>/var/www/example.com</path>
#                <vhost>example.com</vhost>
        </web-application>
</apps>

再測試一下index.aspx應該就可以正常顯示了,vpath和vhost是虛擬目錄和主機名,視你的需要設定吧

參考文件:

ModMono〉Non-AutoHosting Instructions

Apache HTTP Server Version 2.4 VirtualHost Examples

其他資源:

各作業系統的mono下載



下一章:Mono主機上建置Restful Web Api

沒有留言:

張貼留言

熱門文章