Назад | Перейти на главную страницу

Несколько разработчиков, один Apache (с mod_perl)

У меня есть несколько разработчиков на одном сервере, каждый со своей копией одной и той же кодовой базы Perl, извлеченной из SVN.

Я хочу, чтобы у каждого разработчика был собственный субдомен, указывающий на его собственную копию кодовой базы.

Я попытался вставить PerlSwitches внутрь, но это не сработало. например


<VirtualHost dev1.devserver.com>
    PerlSwitches -I/home/dev1/www -w -T
    <Location /webapp/>
        SetHandler  perl-script
        PerlHandler WebApp::Handler
    </Location>
</VirtualHost>

<VirtualHost dev2.devserver.com>
    PerlSwitches -I/home/dev2/www -w -T
    <Location /webapp/>
        SetHandler  perl-script
        PerlHandler WebApp::Handler
    </Location>
</VirtualHost>

Спасибо.

Хотя этот пост довольно старый, я хотел бы указать на несколько вещей на случай, если кто-то обнаружит его во время поиска. Я бы считал mod_perl производственной целью (хотя лично я предпочел бы fastcgi) НЕ хорошей средой разработки по причинам, указанным выше. Если вы начинаете новый проект Perl, вам следует подумать о создании поверх Plack (http://plackperl.org/) или современный фреймворк, такой как Catalyst (http://www.catalystframework.org/), который с самого начала разработан для удобства разработчиков.

Удачи!

Попробуйте добавить PerlOptions +Parent над директивой PerlSwitches ... Должен заставить его выделить новый пул интерпретаторов.

Ссылка на mod_perl Директива PerlOptions

Как указано, вам могут потребоваться отдельные установки Apache. Вы можете использовать псевдонимы ip, имена хостов, чтобы дать каждому разработчику ip с apache, отвечающим на порты по умолчанию, или просто привязать apache к нестандартным портам, как вам лучше всего.

Возможно, вы сможете куда-то добраться, используя su exec, но я думаю, что это работает только с режимом CGI, поэтому он не поможет вам, если вам понадобится mod_perl.

Я не думаю, что это возможно. mod_perl - это неотъемлемая часть процесса apache. Возможно, вам потребуется настроить два отдельных httpd.

В любом случае может быть лучше разделить их для целей разработки.