Apache2-ASP

 view release on metacpan or  search on metacpan

sbin/asphelper  view on Meta::CPAN

warn "="x79, "\n";
warn "Creating directory structure...\n";

mkdir($args->{domain}) or die "Cannot mkdir('$args->{domain}'): $!";
foreach my $dir (qw( lib etc conf htdocs handlers PAGE_CACHE MEDIA ))
{
  mkdir("$args->{domain}/$dir") or die "Cannot mkdir('$args->{domain}'): $!";
}# end foreach()

open my $ofh, '>', "$args->{domain}/conf/apache2-asp-config.xml";
print $ofh <<"CONFIG_XML";
<?xml version="1.0" ?>
<configuration>

  <system>
    <post_processors>
<!--
      <class>My::PostProcessor</class>
      <class>My::PostProcessor2</class>
-->
    </post_processors>
    <libs>
      <lib>\@ServerRoot\@/lib</lib>
    </libs>
    <load_modules>
      <module>DBI</module>
    </load_modules>
    <env_vars>
      <var>
        <name>environment-var1</name>
        <value>value-1</value>
      </var>
      <var>
        <name>environment-var2</name>
        <value>value-2</value>
      </var>
    </env_vars>
    <settings>
      <setting>
        <name>mysetting</name>
        <value>some-value</value>
      </setting>
      <setting>
        <name>anothersetting</name>
        <value>anothervalue</value>
      </setting>
    </settings>
  </system>
  
  <errors>
    <error_handler>Apache2::ASP::ErrorHandler</error_handler>
    <mail_errors_to>@{[ $args->{mail_errors_to} ]}</mail_errors_to>
    <mail_errors_from>@{[ $args->{mail_errors_from} ]}</mail_errors_from>
    <smtp_server>@{[ $args->{smtp_server} ]}</smtp_server>
  </errors>

  <web>
    <application_name>@{[ $args->{application_name} ]}</application_name>
    <application_root>\@ServerRoot\@</application_root>
    <handler_root>\@ServerRoot\@/handlers</handler_root>
    <media_manager_upload_root>\@ServerRoot\@/MEDIA</media_manager_upload_root>
    <www_root>\@ServerRoot\@/htdocs</www_root>
    <page_cache_root>\@ServerRoot\@/PAGE_CACHE</page_cache_root>
    <request_filters>
<!--
      <filter>
        <uri_match>/.*</uri_match>
        <class>My::MemberFilter</class>
      </filter>
      <filter>
        <uri_equals>/index.asp</uri_equals>
        <class>My::MemberFilter2</class>
      </filter>
-->
    </request_filters>
  </web>

  <data_connections>
    <session>
      <manager>Apache2::ASP::SessionStateManager::MySQL</manager>
      <cookie_domain>@{[ $args->{session_cookie_domain} ]}</cookie_domain>
      <cookie_name>@{[ $args->{session_cookie_name} ]}</cookie_name>
      <dsn>@{[ $args->{session_dsn} ]}</dsn>
      <username>@{[ $args->{session_user} ]}</username>
      <password>@{[ $args->{session_pass} ]}</password>
      <session_timeout>@{[ $args->{session_timeout} ]}</session_timeout>
    </session>
    <application>
      <manager>Apache2::ASP::ApplicationStateManager::MySQL</manager>
      <dsn>@{[ $args->{app_dsn} ]}</dsn>
      <username>@{[ $args->{app_user} ]}</username>
      <password>@{[ $args->{app_pass} ]}</password>
    </application>
    <main>
      <dsn>@{[ $args->{main_dsn} ]}</dsn>
      <username>@{[ $args->{main_user} ]}</username>
      <password>@{[ $args->{main_pass} ]}</password>
    </main>
  </data_connections>

</configuration>
CONFIG_XML
close($ofh);


open my $conf_ofh, '>', "$args->{domain}/conf/httpd.conf";
print $conf_ofh <<"CONF";


# Load up some important modules:
PerlModule DBI
PerlModule Apache2::ASP::ModPerl

# Admin website:
<VirtualHost *:80>

  ServerName    @{[ $args->{domain} ]}
  DocumentRoot  @{[ cwd() . '/' . $args->{domain} . '/htdocs' ]}
  
  # Set the directory index:
  DirectoryIndex index.asp



( run in 0.874 second using v1.01-cache-2.11-cpan-b16cb0d3907 )