Loading ...
Sorry, an error occurred while loading the content.

Apache::ASP Installation Issue

Expand Messages
  • Randy
    I m running Windows Server 2003, with Apache (IndigoApache) which has mod_perl installed (not configured.I don t know how/where to start) and have tried
    Message 1 of 6 , Aug 18, 2008
    • 0 Attachment

      I’m running Windows Server 2003, with Apache (IndigoApache) which has mod_perl installed (not configured…I don’t know how/where to start) and have tried repeatedly to install Apache::ASP via CPAN.

       

      The installation always errors out at the same point, and goes something like this:

       

      cpan> install Apache::ASP

      Running install for module ‘Apache::ASP’

      Running make for C/CH/ChAMAS/Apache-ASP-2.61.tar.gz

              Has already been unwrapped into directory C: \INDIGO~1\perl\cpan\build\Apache-ASP-2.61-sF3vmC

      Could not make: Unknown error

      Warning <usually harmless>: ‘YAML’ not installed, will not store persistent state

      Running make test

              Can’t test without successful make

      Running make install

              Make had returned bad status, install seems impossible

       

       

      Anyway, that’s what I usually get back, and have no idea how to correct it.

       

      I’ve been to http://www.apache-asp.org/install.html for directions...they seem like they were written in another language, and refer to directories that don’t exist on my machine…I’ve been to the Yahoo groups, but none of the posts seem to reflect my situation, and the questions regarding installation on Windows seem to go unanswered, and I’ve even been to the IRC channel, but there was an increidble lag between asking a question and getting a reply (I was there for 5 hours, and got only two questions asked in reply to my first question).

       

      I really need help getting this done, and have no idea where else to ask, or even who to ask for that matter.

       

      Any suggestions? (other than put it on a xxnix box)

    • Warren Young
      ... The common wisdom says that Windows is easier to use. In a lot of cases, this is true. This is not one of those cases. Apache::ASP is a native of *ix
      Message 2 of 6 , Aug 18, 2008
      • 0 Attachment
        Randy wrote:
        > Any suggestions? (other than put it on a xxnix box)

        The common wisdom says that Windows is easier to use. In a lot of
        cases, this is true.

        This is not one of those cases. Apache::ASP is a native of *ix systems,
        and so it's far easier to install it there. You usually don't have to
        set up Apache, mod_perl, or compilers on a Linux box...they're just
        assumed to be there, already working, or at least easy to install. The
        lack of this support environment is what you're running into on Windows.

        Even if you have an absolute requirement to use Windows for the final
        product, I would suggest getting started with Linux first. That will
        give you necessary experience with Apache and Apache::ASP which will
        help you to understand the Windows instructions.

        You don't have to get dedicated hardware for this, or install Linux.
        You can download all this, ready to go. First, get VMware Player, here:

        http://www.vmware.com/download/player/download.html

        Now we need a VM. Download VA-LAMP-vmware-*.zip from:

        http://virtualappliances.net/download/vmware/

        This VM is set up for basic Apache serving already. There are several
        more steps required to add Apache::ASP support, but all are easy. It
        might take 15 minutes, all told.

        0. Install VMware Player. It wants to reboot the host machine, but it
        isn't really necessary.

        1. Extract the contents of the VM zip file to the place you want the VM
        to live. You'll need 2.5 GB of disk space.

        2. Open the VA-LAMP folder and double-click the VA-LAMP.vmx file you
        find inside. This will start the VM in VMware Player.

        3. After the VM boots -- it won't take long! -- you'll see it report the
        IP address that your LAN's DHCP server assigned it. Write it down. For
        the sake of the discussion below, we'll say it's 192.168.0.42

        4. Put that IP address into a web browser to test that the VM is
        working. You should see the VM's welcome page.

        5. Say Start > Run and put \\192.168.0.42\wwwroot into the Open field
        and hit Enter. This will connect to the directory holding the content
        being served from the VM by Apache. Log in as admin/admin when
        prompted. You should see index.html. Delete it, or move it off the VM.

        6. Now we have to create the new Apache configuration file, and it's
        easier to do it in Windows and transfer it over, rather than transcribe
        it into the VM directly. You'll need a Unix-aware text editor for this.
        If you don't have one, I can recommend Notepad++, which is free:

        http://notepad-plus.sourceforge.net/

        Paste the text below into a new text file, adjusting the first two lines
        as desired. If you're using Notepad++, say Format > Convert to UNIX
        Format. Then save it out as \\192.168.0.42\wwwroot\asp.conf to write a
        copy of the new configuration file to the VM's virtual hard disk.

        -------------- 8< ---------- cut here --------- 8< -------------

        ServerAdmin your@...
        ServerName my-first-apache-asp-server
        DocumentRoot /var/www/html

        <Directory "/var/www/html">
        Allow from all
        AllowOverride None
        DirectoryIndex index.asp
        Options FollowSymLinks
        Order allow,deny
        </Directory>

        <IfModule mod_perl.c>
        PerlModule Apache::ASP

        <Files ~ (\.asp)>
        SetHandler perl-script
        PerlHandler Apache::ASP
        PerlSetVar Global /var/www/html
        PerlSetVar StateDir /tmp/asp
        </Files>
        </IfModule>

        -------------- 8< ---------- cut here --------- 8< -------------

        7. Click back into the VMware Player window, log in as root/root, and
        give the following commands to set up Apache. First, we'll blow away
        the default Apache config and put our new one in its place:

        # cd /etc/apache2/sites-enabled
        # rm *
        # mv /var/www/html/asp.conf ../sites-available
        # ln -s ../sites-available/asp.conf .

        We've started with a minimal VM, so we don't have the C compilers and
        such on the system yet. Let's go get 'em:

        # apt-get update
        # apt-get install build-essential

        Now we need to set up CPAN:

        # cpan

        Answer the configuration questions, accepting all defaults.

        Now we can install Apache::ASP and its prerequisites:

        cpan> install Bundle::Apache::ASP
        cpan> exit

        Now, the clincher: we need to restart Apache, to load our new configuration:

        # apache2ctl restart

        This should run quickly and silently. It if complains, you did
        something incorrect above.

        9. Pop out of the VM (Ctrl-Alt), open your Unix-aware text editor again,
        ensure it's in Unix line ending mode, and write this:

        <% print "Hello, world!" %>

        Save it out as \\192.168.0.42\wwwroot\index.asp and hit the refresh
        button in your web browser. The page should change to say "Hello,
        world!" If so, congratulations, Apache::ASP is working. Continue on
        with the examples at http://apache-asp.org/eg/

        If all of this is too much for you to deal with, best just use Windows'
        own flavor of ASP.

        ---------------------------------------------------------------------
        To unsubscribe, e-mail: asp-unsubscribe@...
        For additional commands, e-mail: asp-help@...
      • Warren Young
        Redirecting this back to the list. Please don t respond to me personally. I m here to support Apache::ASP, not to support you in particular. :) ... What do
        Message 3 of 6 , Aug 19, 2008
        • 0 Attachment
          Redirecting this back to the list. Please don't respond to me
          personally. I'm here to support Apache::ASP, not to support you in
          particular. :)

          Randy wrote:
          > It now has Apache::ASP installed on it, but still won't run ASP scripts.

          What do you get in the browser?

          What do you get in Apache's error log?

          What does your global.asa file contain, and where is it?

          Can you post the relevant sections of your httpd.conf file, and say what
          is in all of the directories it references?

          Do all of these directories have appropriate permissions? Especially,
          does the StateDir exist, and is it writeable by the httpd user?

          > How do I call out a directory, and specify ASP scripts to run in it, in the
          > httpd.conf file? (I think this may be the end of it).

          There is an answer, but it's the wrong question. If you configure
          Apache::ASP to run on the server as a whole and it doesn't work,
          restricting it to a single directory won't make it work.

          Once you get ASP working globally, we can talk about tightening it down
          to a single directory. Let's not complicate things yet.

          ---------------------------------------------------------------------
          To unsubscribe, e-mail: asp-unsubscribe@...
          For additional commands, e-mail: asp-help@...
        • Randy
          Sorry for the personal reply. I m not used to this list yet. In the browser, I get the asp script. In the error log, I get nothing. (It seems the server thinks
          Message 4 of 6 , Aug 19, 2008
          • 0 Attachment
            Sorry for the personal reply. I'm not used to this list yet.

            In the browser, I get the asp script.

            In the error log, I get nothing. (It seems the server thinks it's cool to
            just throw the script out there.)

            I don't seem to have a global.asa file anywhere on the server. (Did a search
            for it...came up empty.)

            Directories:

            <Directory "D:\Xxxxxxx\xxxxxx">
            Options FollowSymlinks Includes
            AllowOverride None
            Order allow,deny
            Allow from all
            </Directory>

            That directory is the "home" directory for my site. It contains index.php
            and several other php scripts

            <Directory "C:/IndigoPerl/apache/htdocs">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
            </Directory>

            That directory is what came pre-installed on IndigoPerl as the "home".
            There's nothing there.

            <Directory "C:/IndigoPerl/apache/cgi-bin">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
            </Directory>

            <Directory "C:/IndigoPerl/php">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
            </Directory>

            The previous two directories seem to be where Apache is supposed to look for
            cgi's or php.exe.

            <Directory "C:/IndigoPerl/apache/htdocs">
            Options Indexes FollowSymLinks MultiViews ExecCGI +Includes
            </Directory>

            That one seems to tell Apache that in htdocs which options to use.

            <Directory "C:/IndigoPerl/apache/htdocs">
            <IfModule mod_perl.c>
            # Files directive is only valid in Directory section
            <Files ~ "\.(pl|cgi)$">
            SetHandler perl-script
            PerlHandler ModPerl::Registry
            Options ExecCGI
            allow from all
            PerlSendHeader On
            </Files>
            </IfModule>
            </Directory>

            That one seems to tell Apache how to handle Perl scripts in the htdocs
            directory.

            As for permissions, all of the directories above seem to be configured
            properly...at least as far as I understand Apache.

            What is the StateDir? Never heard of it.

            By "the httpd user" to whom do you refer?

            Thanks.


            -----Original Message-----
            From: Warren Young [mailto:warren@...]
            Sent: Tuesday, August 19, 2008 8:44 PM
            To: Apache-ASP List
            Subject: Re: Apache::ASP Installation Issue

            Redirecting this back to the list. Please don't respond to me
            personally. I'm here to support Apache::ASP, not to support you in
            particular. :)

            Randy wrote:
            > It now has Apache::ASP installed on it, but still won't run ASP scripts.

            What do you get in the browser?

            What do you get in Apache's error log?

            What does your global.asa file contain, and where is it?

            Can you post the relevant sections of your httpd.conf file, and say what
            is in all of the directories it references?

            Do all of these directories have appropriate permissions? Especially,
            does the StateDir exist, and is it writeable by the httpd user?

            > How do I call out a directory, and specify ASP scripts to run in it, in
            the
            > httpd.conf file? (I think this may be the end of it).

            There is an answer, but it's the wrong question. If you configure
            Apache::ASP to run on the server as a whole and it doesn't work,
            restricting it to a single directory won't make it work.

            Once you get ASP working globally, we can talk about tightening it down
            to a single directory. Let's not complicate things yet.

            ---------------------------------------------------------------------
            To unsubscribe, e-mail: asp-unsubscribe@...
            For additional commands, e-mail: asp-help@...


            ---------------------------------------------------------------------
            To unsubscribe, e-mail: asp-unsubscribe@...
            For additional commands, e-mail: asp-help@...
          • Warren Young
            ... That means Apache::ASP isn t even being called for the page, which is an Apache configuration problem, not a problem with Apache::ASP. (Problems with
            Message 5 of 6 , Aug 19, 2008
            • 0 Attachment
              Randy wrote:
              >
              > In the browser, I get the asp script.

              That means Apache::ASP isn't even being called for the page, which is an
              Apache configuration problem, not a problem with Apache::ASP. (Problems
              with Apache::ASP or the ASP pages themselves show up as complaints in
              error_log.)

              In all of what you posted about your httpd.conf contents, I don't see
              that you've actually configured Apache to use Apache::ASP. This is from
              the top of the configuration section of the manual:

              PerlModule Apache::ASP
              <Files ~ (\.asp)>
              SetHandler perl-script
              PerlHandler Apache::ASP
              PerlSetVar Global .
              PerlSetVar StateDir /tmp/asp
              </Files>

              I posted something much like it in my initial reply to you. It applies
              just as well on Windows as on Linux. Apache is Apache.

              > I don't seem to have a global.asa file anywhere on the server.

              I don't know that Apache::ASP fails to work without it, but you do want
              it. Here's the default one:

              http://apache-asp.org/eg/global.asa

              Search for global.asa on apache-asp.org for more on what it does.

              Also see the documentation for the Global configuration option to see
              how to change where global.asa lives:

              http://apache-asp.org/config.html#Global

              In the snippet above, it appears it's telling Apache::ASP to look in the
              same directory as your .asp files, which may not be a good thing if you
              want the contents of your global.asa to be secret. You can use the
              Global directive to put global.asa outside the document tree, so Apache
              won't serve it. Alternately, you can configure Apache to never serve *.asa.

              > <Directory "D:\Xxxxxxx\xxxxxx">

              Are you sure this section actually works? From the Apache platform
              notes for Windows:

              > because Apache uses Unix-style names internally, you must use forward
              > slashes, not backslashes

              http://httpd.apache.org/docs/2.0/platform/windows.html

              > What is the StateDir? Never heard of it.

              It's in the manual: http://apache-asp.org/config.html#StateDir

              > By "the httpd user" to whom do you refer?

              The user that Apache runs under. It might not be your user account. If
              you run it as a Windows service, by default, it runs as the SYSTEM user.

              ---------------------------------------------------------------------
              To unsubscribe, e-mail: asp-unsubscribe@...
              For additional commands, e-mail: asp-help@...
            • Randy
              Thanks a bunch! I ll get right on these configuration changes, and let you know how they worked out. I had a feeling (being so inexperienced with Apache
              Message 6 of 6 , Aug 19, 2008
              • 0 Attachment
                Thanks a bunch! I'll get right on these configuration changes, and let you
                know how they worked out.

                I had a feeling (being so inexperienced with Apache configuration) that it
                wasn't even set up. Somehow, being a long-time Windows user, I sort of
                expected the installer to take care of basic configuration.

                I will definitely look into what global.asa does and where to put it, as
                well as how to secure it. Thanks!

                <Directory "D:\Xxxxxxx\xxxxxx"> refers to the home directory of my website
                (the names were changed to protect the innocent) and they do work.

                I will also look into what State.Dir is.

                Since this is a Windows box...yes, it's probably using the system user by
                default.

                Thanks again.

                R

                -----Original Message-----
                From: Warren Young [mailto:warren@...]
                Sent: Tuesday, August 19, 2008 11:20 PM
                To: Apache-ASP List
                Subject: Re: Apache::ASP Installation Issue

                Randy wrote:
                >
                > In the browser, I get the asp script.

                That means Apache::ASP isn't even being called for the page, which is an
                Apache configuration problem, not a problem with Apache::ASP. (Problems
                with Apache::ASP or the ASP pages themselves show up as complaints in
                error_log.)

                In all of what you posted about your httpd.conf contents, I don't see
                that you've actually configured Apache to use Apache::ASP. This is from
                the top of the configuration section of the manual:

                PerlModule Apache::ASP
                <Files ~ (\.asp)>
                SetHandler perl-script
                PerlHandler Apache::ASP
                PerlSetVar Global .
                PerlSetVar StateDir /tmp/asp
                </Files>

                I posted something much like it in my initial reply to you. It applies
                just as well on Windows as on Linux. Apache is Apache.

                > I don't seem to have a global.asa file anywhere on the server.

                I don't know that Apache::ASP fails to work without it, but you do want
                it. Here's the default one:

                http://apache-asp.org/eg/global.asa

                Search for global.asa on apache-asp.org for more on what it does.

                Also see the documentation for the Global configuration option to see
                how to change where global.asa lives:

                http://apache-asp.org/config.html#Global

                In the snippet above, it appears it's telling Apache::ASP to look in the
                same directory as your .asp files, which may not be a good thing if you
                want the contents of your global.asa to be secret. You can use the
                Global directive to put global.asa outside the document tree, so Apache
                won't serve it. Alternately, you can configure Apache to never serve *.asa.

                > <Directory "D:\Xxxxxxx\xxxxxx">

                Are you sure this section actually works? From the Apache platform
                notes for Windows:

                > because Apache uses Unix-style names internally, you must use forward
                > slashes, not backslashes

                http://httpd.apache.org/docs/2.0/platform/windows.html

                > What is the StateDir? Never heard of it.

                It's in the manual: http://apache-asp.org/config.html#StateDir

                > By "the httpd user" to whom do you refer?

                The user that Apache runs under. It might not be your user account. If
                you run it as a Windows service, by default, it runs as the SYSTEM user.

                ---------------------------------------------------------------------
                To unsubscribe, e-mail: asp-unsubscribe@...
                For additional commands, e-mail: asp-help@...


                ---------------------------------------------------------------------
                To unsubscribe, e-mail: asp-unsubscribe@...
                For additional commands, e-mail: asp-help@...
              Your message has been successfully submitted and would be delivered to recipients shortly.