apachemacosajax-push

AJAX Push Engine: Can’t contact APE Server


I'm trying to set up the AJAX Push Engine (APE) on my Mac, running Mac OS X 10.6.4 and Apache 2.2.14

When I run the APE server, this is the output:

Hristo$ sudo ./aped
Password:
   _   ___ ___ 
  /_\ | _ \ __|
 / _ \|  _/ _| 
/_/ \_\_| |___|
AJAX Push Engine

Bind on port 6969

Version : 1.00
Build   : Dec  7 2009 23:05:18
Author  : Weelya (contact@weelya.com)

[Module] [spidermonkey] Loading module : Javascript embeded (0.01) - Anthony Catel
[JS] Loading script ../scripts/framework/mootools.js
[JS] Loading script ../scripts/framework/Http.js
[JS] Loading script ../scripts/framework/userslist.js
[JS] Loading script ../scripts/utils/utils.js
[JS] Loading script ../scripts/commands/proxy.js
[JS] Loading script ../scripts/commands/inlinepush.js
[JS] Loading script ../scripts/examples/nickname.js
[JS] Loading script ../scripts/examples/move.js
[JS] Loading script ../scripts/utils/checkTool.js

The ape.conf looks like:

uid {
        # "aped" switch to this user/group if it run as root
        user = daemon
        group = daemon
}


Server {
        port = 6969
        daemon = no
        ip_listen = 127.0.0.1
        domain = localape
        rlimit_nofile = 10000
        pid_file = /var/run/aped.pid
}

Log {
        debug = 1
        use_syslog = 0
        logfile = ./ape.log
}

JSONP {
        eval_func = Ape.transport.read
        allowed = 1
}

Config {
#relative to ape.conf
        modules = ../modules/lib/
        modules_conf = ../modules/conf/
}

# Proxy section is used to resolve hostname and allow access to a IP:port (Middleware-TCPSocket feature)

#Proxy {
#       id = freenode
#       host = irc.freenode.net
#       port = 6667
#       readonly = false
#}

... and the virtual host stuff in the httpd-vhosts.conf file looks like:

#
# Virtual Hosts
#

<Directory /Library/WebServer/Documents/APE>
   Order Deny,Allow
   Allow from all
</Directory>

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>

<VirtualHost *:80>
   Servername localape
   ServerAlias ape.localape
   ServerAlias *.ape.localape

   DocumentRoot "/Library/WebServer/Documents/APE"
</VirtualHost>

When I run the test file in /Tools/Check/index.html, I pass the tests until I get to the APE Server where I get the following error:

Running test : Contacting APE Server
Can't contact APE Server. Please check the your APE Server is running and the folowing url is pointing to your APE server : http://ape.localape:6969
Something went wrong. If you can't fix it by yourself post a message on the newsgroups with the output below or join our IRC channel

Any ideas as to how to fix this?

Thanks.


Solution

  • I figured it out. Part of the problem was that the network I was on didn't allow me to do this kind of thing. Once I moved to a normal network, I made changes and it works.

    The following is the configuration file for APE. The only changes I made here were in the first two sections:

    uid {
            # "aped" switch to this user/group if it run as root
            user = Hristo
            group = admin
    }
    
    
    Server {
            port = 6969
            daemon = no
            ip_listen = 127.0.0.1
            domain = local.ape-project.org
            rlimit_nofile = 10000
            pid_file = /var/run/aped.pid
    }
    

    Next, I changed some things in the virtual hosts file httpd-vhosts.conf located in /etc/apache2/extra/. This is what it looks like:

    <Directory /Library/WebServer/Documents/APE>
       Order Deny,Allow
       Allow from all
    </Directory>
    
    NameVirtualHost *:80
    
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "/Library/WebServer/Documents"
    </VirtualHost>
    
    <VirtualHost *:80>
       Servername local.ape-project.org
       ServerAlias ape.local.ape-project.org
       ServerAlias *.ape.local.ape-project.org
       DocumentRoot "/Library/WebServer/Documents/APE"
    </VirtualHost>
    

    So this means I have to include virtual hosts in the Apache configuration file httpd.conf located in /etc/apache2. To this, I uncommented the following line which is located towards the bottom of the file:

    # Virtual hosts
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    

    Finally, I added local.ape-project.org to the hosts file in /etc/:

    127.0.0.1       local.ape-project.org
    

    I used the following source to guide me: http://www.ape-project.org/wiki/index.php/Advanced_APE_configuration

    Hope this helps.