Pretty sure the ...setlistenerlocalaccess call is not needed for the 11g XE version, by default in a 10g XE install remote apex access was disabled "out of the box". There was a change to that behavior in the final (?) 11g installer.
Try a `desc[ribe] dbms_xdb` in sqlplus, that should give a (fairly long) listing of that package, its procedures and functions. What matters for getting the apex web pages working is a few items that relate to the network setup for the host and how the installer gets all that set up in the $ORACLE_HOME/network/admin/listener.ora file.
Also note per the XE docs, Managing Network Connections says to use a SYSTEM connection, not SYSDBA, although for the XE setup on my (windows host) either a sysdba or a system connection both run that exec statement OK for me. Might be a linux vs. windows thing.
A `lsnrctl status` output will show an HTTP presentation endpoint (default port 8080) in the section "Listener endpoints ..." as well as an endpoint to service remote database connection requests on port 1521. If the 8080 endpoint is not showing up, nothing will get the apex working. Nothing.
And if you want to connect to apex from a different (remote) host be sure port 8080 is open in the firewall. That step is a frequent tripping point for lots of folks.
Message was edited by: clcarter added system connection info from XE docs