我的家庭系统是一个Ubuntu 13.4(从12.10升级)桌面系统,我在那里进行了一些开发,主要是在PHP中,我安装了Apache并且工作正常。
我需要在ASP.NET中进行一些开发,我安装了MonoDevelop以及XSP服务器。从MonoDevelop我可以启动XSP,它在端口8080(localhost:8080)上运行。这在开发会话期间没问题,但由于某些原因,XSP似乎超时,我的路由器不提供端口8080;另外,XSP一次只能提供一个单声道项目。
我曾尝试使用Apache配置虚拟主机,但它无法正常工作。我对静态文件,aspx文件和不存在的文件都有404错误。
我的虚拟主机配置如下:
<virtualhost *:80>
ServerAdmin webmaster@mydomain.net
ServerName myproject.local
ServerAlias myproject.mydomain.net
DocumentRoot /home/myuser/source/myproject/myproject
<Directory /home/myuser/source/myproject/myproject>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
SetHandler mono
DirectoryIndex Default.aspx index.aspx index.html
</Directory>
LogLevel debug
ErrorLog /var/www/vhosts/myproject/log/error.log
CustomLog /var/www/vhosts/myproject/log/access.log combined
</virtualhost>
查看错误日志,我发现以下消息:
[Mon Oct 07 00:42:45 2013] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 279 to 214 : URL /
[Mon Oct 07 00:43:00 2013] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 291 to 223 : URL /Default.aspx
[Mon Oct 07 00:43:04 2013] [error] [client 127.0.0.1] script '/home/myuser/source/myproject/myproject/Default.php' not found or unable to stat
[Mon Oct 07 00:43:04 2013] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 290 to 222 : URL /Default.php
[Mon Oct 07 00:43:14 2013] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 292 to 222 : URL /Template.css
[Wed Oct 09 12:36:00 2013] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 290 to 221 : URL /favicon.ico
文件Default.php
和favicon.ico
不存在,其他文件Default.aspx
和Template.css
确实存在。
提前谢谢。
我错过了部分配置:webapp
文件。我添加到/etc/mono-server4/debiab.webapp
添加项目。
<apps>
<web-application>
<name>myproject</name>
<vhost>myproject</vhost>
<vport>80</vport>
<vpath>/</vpath>
<path>/home/myuser/source/myproject/myproject/</path>
<enabled>true</enabled>
</web-application>
</apps>
现在有效!
现在,我无法让它适用于不同应用的虚拟目录。
答案 0 :(得分:0)
好的,我的原始问题是通过在.webapp
目录的/etc/mono-server
文件中包含Web应用程序来回答的。在此过程中,我决定尝试仅为所有相关的Mono / ASP项目使用一个虚拟主机,因此我针对虚拟目录(别名)进行了以下配置。
mytestsite.local
虚拟主机(位于/etc/apache2/sites-available/
并在/etc/apache2/sites-enabled/
处链接)
<virtualhost *:80>
ServerAdmin webmaster@interlecto.net
ServerName mytestsite.local
ServerAlias mytestsite.mydomain.net *.mytestsite.mydomain.net
MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
DocumentRoot /var/www/vhosts/mytestsite/root
<Directory /var/www/vhosts/mytestsite/root>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex Default.aspx index.aspx index.html
Alias /myproject "/home/myuser/source/myproject/myproject"
Alias /othertest "/home/myuser/source/othertest/othertest"
MonoApplications default "/myproject:/home/myuser/source/myproject/myproject,/othertest:/home/myuser/source/othertest/othertest"
<Location /myproject>
SetHandler mono
</location>
<Location /othertest>
SetHandler mono
</location>
<Directory /home/myuser/source/myproject/myproject>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /home/myuser/source/othertest/othertest>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
LogLevel debug
ErrorLog /var/www/vhosts/mytestsite/log/error.log
CustomLog /var/www/vhosts/mytestsite/log/access.log combined
</virtualhost>
debian.webapp
文件(/etc/mono-server4/
)
<apps>
<web-application>
<name>My Project</name>
<vpath>/myproject</vpath>
<path>/home/myuser/source/myproject/myproject</path>
<vhost>mytestsite.local</vhost>
</web-application>
<web-application>
<name>Other Test</name>
<vpath>/othertest</vpath>
<path>/home/myuser/source/othertest/othertest</path>
<vhost>mytestsite.local</vhost>
</web-application>
</apps>
在我的虚拟主机根(/var/www/vhosts/mytestsite/root/
)我有一个简单的index.html
文件,允许我选择哪个测试。
所以现在我在Ubuntu上的Apache上的虚拟主机上处理Mono(mod_mono for ASP.NET)上的几个虚拟目录。