以下有所操作均在Azure上的虚拟机里安顿,Server安装未来

【题外话】

【题外话】

闲的庸俗竟然想尝尝测试自个儿做的花色在分歧操作系统上的质量表现,所以决定尝试在Linux上计划Apache和Mono的条件。由于日常很少接触Linux,所以从网上找了几篇小说(附在相关链接中)尝试,安插的经过也毫不一帆风顺,所以就根据自个儿在Azure上布置的情况再度开始展览了整治,希望对很少接触Linux的同室有所补助。以下有所操作均在Azure上的虚拟机里安排,假设在本土或许虚拟机里陈设,大概首先还亟需安顿网卡设置等。

闲的猥琐竟然想尝试测试自身做的类别在区别操作系统上的属性表现,所以决定尝试在Linux上布署Apache和Mono的条件。由于一直很少接触Linux,所以从网上找了几篇小说(附在相关链接中)尝试,计划的经过也毫无八面玲珑,所以就依照自个儿在Azure上配备的动静重新举办了整治,希望对很少接触Linux的同桌有所协助。以下有所操作均在Azure上的虚拟机里布置,假如在地头大概虚拟机里安顿,恐怕首先还须求配置网卡设置等。

 

 

【文章索引】

【小说索引】

  1. 在Ubuntu下安装Apache
  2. 在Ubuntu下安装Mono
  3. 在Ubuntu下部署ASP.NET网站
  4. 在openSUSE下的操作
  5. 在CentOS下的操作
  6. 连锁链接

 

 

【一、在Ubuntu下安装Apache】

【一、在Ubuntu下安装Apache】

Ubuntu
Server安装未来,暗许没有图形界面,其实在Linux不用图形界面也很不难就足以开始展览布置。在Azure上布置好Ubuntu
Server(那里运用Azure上提供的Ubuntu Server 12.04
LTS,二零一三/2/24)今后,会活动配置好SSH的22端口,大家能够间接选拔SSH工具连接服务器,那里运用免费开源的PuTTY(http://www.putty.org/)。如果在Azure上配置的使用密码连接主机则这里直接输入地址点击“Open”即可,如果还上传了SSH密钥,则还应在Connection/SSH/Auth里选择对应的密钥才可以连接。

Ubuntu
Server安装今后,暗中认可没有图形界面,其实在Linux不用图形界面也很不难就能够举行配备。在Azure上布署好Ubuntu
Server(那里运用Azure上提供的Ubuntu Server 12.04
LTS,201一半/24)未来,会自动配置好SSH的22端口,大家得以一向利用SSH工具连接服务器,那里运用免费开源的PuTTY(http://www.putty.org/)。假使在Azure上布署的应用密码连接主机则那里直接输入地方点击“Open”即可,假设还上传了SSH密钥,则还应在Connection/SSH/Auth里挑选相应的密钥才能够接连。

设置完后得以输入“mono
-V”查看安装的mono的版本(注意V是大写的),当然也能够写个C#的ConsoleApp看看,能够用下列命令编写翻译C#代码。

图片 1

gmcs test.cs

一而再后输入设置的用户名和密码即可登录Ubuntu系统,会并发如下图的命令行,大家所做的差不离全体工作都以经过命令行操作的。

假使程序尚未难题的话则会生成test.exe,可以透过如下命令执行。当然也足以在Windows上编写翻译好exe文件后复制到Linux上进行也是能够的。

图片 2

mono test.exe

在Ubuntu下安装软件其实尤其有益,Ubuntu提供了apt-get工具,可以运用该工具直接下载安装软件。

接下去根据自身索要的版本选拔安装Apache对ASP.NET 2.0要么ASP.NET
4.0的支撑,mono-apache-server2为ASP.NET
2.0的帮衬,mono-apache-server4是ASP.NET
4.0,两者可以同时设有,切换须求在Apache的布局文件中切换。软件包详情:http://packages.ubuntu.com/quantal/mono-apache-server2

在Linux里,系统最高权力账户为root账户,而私下认可登录的账户并非root账户,例如不抱有安装程序等权限,可是同Windows一样都提供了提拔权限的章程,就是sudo命令,在举办的每条命令前增加“sudo
”,即能够root账户的权能履行。在第3回采取sudo时会须求输入当前账户的密码,确认后即可在一段时间(暗许肆秒钟)内使用sudo命令都不必要输入密码,一段时间没有行使后则须求再行输入密码。

sudo apt-get install mono-apache-server2

第叁我们设置Apache,输入下列命令,之后会提示是还是不是安装等,输入Y继续。软件包详情:http://packages.ubuntu.com/quantal/apache2

不清楚为啥,安装到终极会卡在这一个地方

sudo apt-get install apache2
sudo vim /etc/apache2/mods-available/mod_mono.conf

图片 3

 

伺机一段时间后,Apache就会活动安装配备好,那时候可以配备好Azure上的80端口,配置好后选择浏览器访问服务器的地点能够观察如下图的晋升,说明安装成功。

【三、在Ubuntu下部署ASP.NET网站】

图片 4

在Windows上配置网站能够由此远程桌面直接把网站或打包好的网站复制过去,在Linux下实际SSH不光能够援助命令行,还足以支撑文件传输,笔者那边运用免费开源的Filezilla(https://filezilla-project.org/),Filezilla支持FTP和SSH两种协议,在站点管理器中选择SFTP协议,然后把登陆类型设置为正常,输入用户名和密码即可登录。

 

下一场将要求上传的网站打包为zip文件,然后上传到用户目录下(/home/用户名/),然后在命令行中输入就足以了。

【二、在Ubuntu下安装Mono】

sudo unzip 压缩文件名.zip -d /var/www

Linux有个开源的.NET运营时,叫做Mono(http://www.mono-project.com/),能够援助在Linux上运转.NET应用程序。

理所当然,未来用你的浏览器访问你的服务器地址依然是“It
works”,我们还要删除index.html就足以了。

一如既往按上述方法输入下列命令安装Mono及C#编写翻译器,软件包详情:http://packages.ubuntu.com/quantal/mono-gmcs

sudo rm /var/www/index.html
sudo apt-get install mono-gmcs

 

设置完后得以输入“mono
-V”查看安装的mono的版本(注意V是大写的),当然也得以写个C#的ConsoleApp看看,能够用下列命令编写翻译C#代码。

【肆 、在openSUSE下的操作】

gmcs test.cs

不相同的连串采纳分化的软件包管理程序,SUSE则提供了三个叫zypper的软件包管理程序,使用也非常便利(那里运用的openSUSE是Azure上提供的openSUSE
12.3)。

只要程序没有失水准的话则会生成test.exe,能够由此如下命令执行。当然也能够在Windows上编写翻译好exe文件后复制到Linux上进行也是足以的。

先是是设置Apache。

mono test.exe
sudo zypper install apache2

接下去依据自己索要的本子选取安装Apache对ASP.NET 2.0要么ASP.NET
4.0的支撑,mono-apache-server2为ASP.NET
2.0的支撑,mono-apache-server4是ASP.NET
4.0,两者能够而且存在,切换要求在Apache的安顿文件中切换。软件包详情:http://packages.ubuntu.com/quantal/mono-apache-server2

与Ubuntu安装进程差别的是,在装置完毕后并不曾运维Apache的唤醒。所以还亟需手动配置服务自运转。

sudo apt-get install mono-apache-server2
sudo systemctl enable apache2.service

sudo systemctl  apache2.service 

不清楚为何,安装到结尾会卡在这么些位置

现行反革命用浏览器就足以访问服务器了。

图片 5

然后选用zypper安装Mono了(在那之中System.Drawing会用到libgdiplus,多语言帮忙会用到mono-locale-extras,然则即使那样还有局地组件没有安装,前边会表达):

只可以通过Ctrl+Z强制退出,然后输入“sudo
reboot”重启服务器,可是Linux服务器相当的慢就能重启完

sudo zypper install mod_mono libgdiplus mono-locale-extras

然后再安装Apache的模块libapache2-mod-mono即可。当然,mono-gmcs、mono-apache-server② 、libapache-mod-mono都是足以联手安装的,但是要注意mono-apache-server2和libapache-mod-mono的顺序,借使mono-apache-server2在libapache-mod-mono之后的话,由于信赖项的原因,libapache-mod-mono会现在机关选取安装mono-apache-server4。而且,借使一起装的话,在上述卡住的地方Ctrl+Z重启后,libapache-mod-mono并不曾配备实现导致众多操作不可能实施,还亟需举行“sudo
dpkg –configure
-a”那句发号施令才行。软件包详情:http://packages.ubuntu.com/quantal/libapache2-mod-mono

接下去需求配备mod_mono,那里推荐使用官方提供的http://go-mono.com/config-mod-mono/,页面打开后如下图所示:

sudo apt-get install libapache2-mod-mono

以往能够像Ubuntu一样给openSUSE安装上zip解压缩工具(sudo zypper install
zip),将压缩文件解压缩到安装的网站根目录后即可。之后只要求重启Apache服务器后就能够及时访问ASP.NET网站了:

可是安装完要是打开网站发现照旧无力回天执行,其实是不曾配备ASP.NET应用程序。就算今后支撑电动配置应用程序,但是依然要求修改/etc/apache2/mods-available/mod_mono.conf文件。(原文见:http://www.mono-project.com/AutoConfiguration)当然假如您会手动配置应用程序的话也可以在该文件中手动配置应用程序(下同)。

sudo systemctl restart apache2.service
sudo vim /etc/apache2/mods-available/mod_mono.conf

内需注意的是,那样成功后不像Ubuntu把过多重视库都装上了,如果按上述命令的话只有以下部件棉被服装置:

图片 6

与openSUSE类似,安装完须求协调手动配置服务自运行。

按键盘上的i键启用vim的编写制定形式,由于mono-server2-hosts.conf文件中早已对众多参数进行了配置,所以仅供给按图中的添加“MonoAutoApplication
enabled”一行即可。其它,假使您的网站中还有任何的文件格式(比如HttpHandler日常使用.axd),请添加在第三行前边,其余假如网站暗中同意文件不是index.aspx还索要修改第1行后的文本名。注意,由于Linux是分别轻重缓急写的,所以切记不要把大小写搞错。

sudo chkconfig --levels 235 httpd 

假设服务器上还安装了ASP.NET
4.0的帮助(mono-apache-server4),并且要求切换成ASP.NET
4.0,那么仅必要修改最终一行,将2改为4即可。

然后随即运转Apache服务。

修改完后按Ctrl+C截至编辑格局,然后按冒号键(:)进入命令格局,输入w保存文件,然后再次按冒号键,再按q键退出vim。

sudo /etc/init.d/httpd 

说到底执行下述命令重启Apache服务器即可。

于今再用浏览器访问服务器地址就能够健康访问Http服务器了。

sudo /etc/init.d/apache2 restart 

然而CentOS官方并未打包好的mono的rpm包,所以相比好的点子是协调编写翻译。

 

率先配置好编写翻译的条件。

【三、在Ubuntu下部署ASP.NET网站】

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel

在Windows上配置网站能够经过远程桌面直接把网站或打包好的网站复制过去,在Linux下实际SSH不光可以支撑命令行,还足以支撑文件传输,作者那里运用免费开源的Filezilla(https://filezilla-project.org/),Filezilla帮忙FTP和SSH三种协议,在站点管理器中挑选SFTP协议,然后把登陆类型设置为正规,输入用户名和密码即可登录。

恐怕会提醒须要升级kernel-headers,可是系统恐怕暗中认可禁止了主题的包,所以即使出现上述命令不能够履行安装的话,还索要在上一条命令之后附加“ –disableexcludes=main”,即如下的款型。

图片 7

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel --disableexcludes=main

签到后暗许的路径为/home/用户名/,就跟命令行下默许的目录一致。Apache的私下认可路径在/var/www/,可以在这之下找到index.html,相当于拾壹分“It
works”的网页。不过那些目录一般用户的权柄为不可能写入,所以不可能将网站直接配置到这么些目录下。当然你能够在PuTTY下将这一个目录的权限修改后再上传,但是事实上还足以有更简便易行的不二法门,正是将包裹文件上传到用户目录下然后再解压缩到这么些目录下。

若果全勤安装成功,能够举办下列语句下载要求安装组件的源码包并解压缩。

先是安装zip解压缩程序,软件包详情:http://packages.ubuntu.com/quantal/zip

cd /usr/src/
sudo wget http:
sudo wget http:
sudo wget http:
jxf libgdiplus-jxf mono-.--.tar.bz2
sudo apt-get install zip

编写翻译并安装libgdiplus。

然后将急需上传的网站打包为zip文件,然后上传到用户目录下(/home/用户名/),然后在命令行中输入就能够了。

-/configure --prefix=/usr



-./configure --prefix=/usr

-/configure --prefix=/usr

-/configure --prefix=/usr
sudo unzip 压缩文件名.zip -d /var/www

下一场再修改“/etc/httpd/conf/mod_mono.conf”那些文件,与Ubuntu上同名的布置文件配置相同。不过出于不像Ubuntu下有现成的布局文件,所以必要在文书中添加如下两行,由于设置的时候自动安装了2.0和4.0的支撑,所以能够将如下的2换为4即可启用ASP.NET
4.0:

自然,今后用你的浏览器访问你的服务器地址如故是“It
works”,我们还要删除index.html就可以了。

MonoServerPath 
sudo rm /var/www/index.html

 

 

sudo cp /etc/httpd/conf/mod_mono.conf /etc/httpd/conf.d/

【四 、在openSUSE下的操作】

 

分裂的连串选择不一样的软件包管理程序,SUSE则提供了五个叫zypper的软件包管理程序,使用也分外方便(那里运用的openSUSE是Azure上提供的openSUSE
12.3)。

【六 、相关链接】

首先是设置Apache。

1、配置linux(apache) + mono 下运行
asp.net:http://www.cnblogs.com/hcl0208/archive/2010/10/25/1860173.html
2、openSUSE上安装Mono并发布ASP.Net程序:http://www.linuxidc.com/Linux/2011-04/34872.htm
3、CentOS 6.0 安装 MONO
2.10.8:http://www.cnblogs.com/aquilahkj/archive/2011/11/03/2234380.html
④ 、Mono环境下不帮忙粤语的消除格局:http://www.cnblogs.com/shanyou/archive/2010/10/08/1846198.html

sudo zypper install apache2

http://www.bkjia.com/Linuxjc/447125.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/447125.htmlTechArticle【题外话】
闲的低级庸俗竟然想尝尝测试自个儿做的品类在区别操作系统上的品质表现,所以决定尝试在Linux上铺排Apache和Mono的条件。由于平时很…

与Ubuntu安装进度分歧的是,在安装实现后并没有运维Apache的唤起。所以还索要手动配置服务自运维。

sudo systemctl enable apache2.service

下一场立刻运维Apache。

sudo systemctl start apache2.service 

今日用浏览器就能够访问服务器了。

下一场使用zypper安装Mono了(个中System.Drawing会用到libgdiplus,多语言辅助会用到mono-locale-extras,然而尽管如此还有局地零部件没有设置,后面会表明):

sudo zypper install mod_mono libgdiplus mono-locale-extras

接下去供给安顿mod_mono,那里推荐使用官方提供的http://go-mono.com/config-mod-mono/,页面打开后如下图所示:

图片 8

能够选用Virtual
Host也许Application二种格局,第3种能够依照请求的服务器地址设置ASP.NET网站的根路径,第壹种能够依据请求的虚拟目录设置ASP.NET网站的根路径。除了这几个之外页面下方还有多少个设置能够自定义,设置完后选用页面下方的Download下载.conf文件,将文件上传到openSUSE服务器后采取如下命令复制到Apache配置文件夹下:

sudo cp 配置文件名.conf /etc/apache2/conf.d/

日后方可像Ubuntu一样给openSUSE安装上zip解压缩工具(sudo zypper install
zip),将压缩文件解压缩到安装的网站根目录后即可。之后只供给重启Apache服务器后就足以立时访问ASP.NET网站了:

sudo systemctl restart apache2.service

亟需专注的是,那样成功后不像Ubuntu把许多注重库都装上了,假若按上述命令的话唯有以下部件被设置:

图片 9

于是或然还有许多要求的零部件没有设置,比如须要连接Oracle数据库时,恐怕提醒找不到System.Data.OracleClient程序集,必要安装“mono-data-oracle”,到时候能够根据出现的不当再设置。其实也得以遵照通配符安装“mono*”,把跟mono有关的都安装上,不过尔尔也会装很多不须求的零部件。

 

【⑤ 、在CentOS下的操作】

CentOS的软件管理程序是yum(那里运用的CentOS是Azure上提供的CentOS 6.3)。

先是依然设置Apache。

sudo yum install httpd

与openSUSE类似,安装完需求团结手动配置服务自运维。

sudo chkconfig --levels 235 httpd on

接下来立刻运转Apache服务。

sudo /etc/init.d/httpd start

未来再用浏览器访问服务器地址就足以健康访问Http服务器了。

而是CentOS官方尚未打包好的mono的rpm包,所以相比好的点子是温馨编写翻译。

率先配置好编写翻译的环境。

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel

恐怕会唤起须求提高kernel-headers,可是系统或然暗中同意禁止了主导的包,所以只要出现上述命令不能推行安装的话,还亟需在上一条命令之后附加“ –disableexcludes=main”,即如下的花样。

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel --disableexcludes=main

假定一切安装成功,可以推行下列语句下载要求设置组件的源码包并解压缩。

cd /usr/src/
sudo wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
sudo wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
sudo wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2
sudo wget http://download.mono-project.com/sources/mod_mono/mod_mono-2.10.tar.bz2

sudo tar jxf libgdiplus-2.10.tar.bz2
sudo tar jxf mono-2.10.8.tar.bz2
sudo tar jxf xsp-2.10.tar.bz2
sudo tar jxf mod_mono-2.10.tar.bz2

编写翻译并安装libgdiplus。

cd /usr/src/libgdiplus-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

接下来编辑/etc/ld.so.conf文件,添加一行“/usr/lib/”,如下图所示,保存之后再举办如下命令,从而使系统可以将libgdiplus.dll自动映射到相应的so文件中。(原著见:http://www.mono-project.com/DllNotFoundException

图片 10

sudo ldconfig

然后是Mono。

cd /usr/src/mono-2.10.8
sudo ./configure --prefix=/usr
sudo make ; sudo make install

接下去安装xsp。

export PKG_CONFIG_PATH=/usr/lib/pkgconfig
cd /usr/src/xsp-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

然后安装mod_mono。

cd /usr/src/mod_mono-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

下一场再修改“/etc/httpd/conf/mod_mono.conf”这一个文件,与Ubuntu上同名的布署文件配置相同。可是鉴于不像Ubuntu下有现成的配备文件,所以必要在文件中添加如下两行,由于设置的时候自动安装了2.0和4.0的援救,所以能够将如下的2换为4即可启用ASP.NET
4.0:

MonoServerPath "/usr/bin/mod-mono-server2"
MonoAutoApplication enabled

接下来将计划文件复制到Apache的布置文件目录中: 

sudo cp /etc/httpd/conf/mod_mono.conf /etc/httpd/conf.d/

鉴于CentOS自带的SELinux的因由,使得Apache不可能连接到mod-mono-server,所以大家后天还亟需安插SELinux。当然,那里为了简单就单单禁止使用SELinux,有趣味的能够友善创造安全策略,使mod-mono-server能够生效。那里修改/etc/sysconfig/selinux文件。将“SELINUX=enforcing”修改为“SELINUX=permissive”或“SELINUX=disabled”,例如下图,保存重启系统即可。

图片 11

现在就足以经过SSH将网站打包上传上去就能够直接待上访问了。然则供给专注的是,CentOS上的Apache暗中同意的根路径在“/var/www/html”下,当然也可以在“/etc/httpd/conf/httpd.conf”文件中期维修改存放网站根目录的路径。

 

【陆 、相关链接】

1、配置linux(apache) + mono 下运行
asp.net:http://www.cnblogs.com/hcl0208/archive/2010/10/25/1860173.html 2、openSUSE上安装Mono并发布ASP.Net程序:http://www.linuxidc.com/Linux/2011-04/34872.htm 3、CentOS 6.0 安装
MONO
2.10.8:http://www.cnblogs.com/aquilahkj/archive/2011/11/03/2234380.html ④ 、Mono环境下不帮衬中文的消除格局:http://www.cnblogs.com/shanyou/archive/2010/10/08/1846198.html

相关文章