Не удалось запустить моно сайт с Apache2, ошибка 404 с mod_mono

Моя домашняя система - настольная система Ubuntu 13.4 (обновленная с 12.10), где я занимаюсь разработкой, в основном на PHP, и у меня установлен Apache и он работает нормально.

Мне нужно сделать некоторые разработки в ASP.NET, и я установил MonoDevelop, а также сервер XSP. Из MonoDevelop я могу запустить XSP, который обслуживает порт 8080 (localhost:8080). Это нормально во время сеанса разработки, но по какой-то причине время ожидания XSP истекло, и мой маршрутизатор не обслуживает порт 8080; Кроме того, XSP одновременно обслуживает только один монопроект.

Я попытался настроить виртуальный хост с Apache, но он не работает. Я получаю 404 ошибки как для статических файлов, файлов ASPX, так и для несуществующих файлов.

Моя конфигурация vhost выглядит следующим образом:

<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>

Теперь это работает!


Теперь я не могу заставить его работать для виртуальных каталогов для разных приложений.

1 ответ

Решение

Хорошо, мой первоначальный вопрос был дан ответ путем включения веб-приложения в .webapp файл в /etc/mono-server каталог. В ходе этого процесса я решил попробовать использовать только один виртуальный хост для всех связанных проектов 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 файл, позволяющий мне выбрать, какой тест.

Итак, теперь у меня есть Mono (mod_mono для ASP.NET), работающий над парой виртуальных каталогов на виртуальном хосте Apache в Ubuntu.

Другие вопросы по тегам