zoukankan      html  css  js  c++  java
  • ubuntu+apache2+mono+mvc3

    研究了几天,发觉网上的中文教程因为软件版本的原因,大都是“残谱”,没有搞定,最后参考一篇外文才一次性成功,按自己的操作步骤记录一下。

    一.安装虚拟机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.asc
    sudo apt-key add directhex.ppa.asc
    sudo apt-get install python-software-properties
    sudo 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 /srv
    sudo mkdir www
    cd www
    sudo mkdir default

    sudo chown -R www-data:www-data /srv/www

    sudo chmod -R g+rw /srv/www/default/Up
    cd /etc/apache2/sites-available
    sudo 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-enabled
    sudo rm 000-default
    sudo 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

  • 相关阅读:
    [javaSE] 数组(获取最值)
    [javascript] Promise简单学习使用
    [javaSE] 基本类型(String相关)
    [android] 手机卫士黑名单功能(ListView结合SQLite增删改)
    [PHP] 重回基础(IO流)
    [PHP] 重回基础(Array相关函数)
    [PHP] 重回基础(date函数和strtotime函数)
    [HTML5] Canvas绘制简单图片
    [javaSE] 集合框架(TreeSet)
    [android] 手机卫士黑名单功能(ListView优化)
  • 原文地址:https://www.cnblogs.com/ninestates/p/2805719.html
Copyright © 2011-2022 走看看