I have been trying for two days to get remoting to function and no luck. Below is the server response or the test script. Here is a simple hello world from a working server: http://www.5s7.com/r/client.php Here is the same example from the ISPConfig Apache PHP implementation: http://www.5s7.com:81/remote/client.php Here is the same example from a foreign client to the ISPConfig Server http://www.5s7.com/r/test.php This suggest to me that the compile configure command routine is missing something important or Apache is missing something important I have changed the /install_ispconfig/compile_aps/compile script on line 129 to ./configure --with-apxs=${INSTALL_ROOT}/httpd/bin/apxs --enable-track-vars --enable-sockets --enable-mbstring=all --with-config-file- path=${INSTALL_ROOT}/php --enable-ftp --prefix=${INSTALL_ROOT}/php ${WITH_OPENSSL} ${WITH_MYSQL} --with-curl=/usr/include/curl ./configure --with-apxs=/ispconfig/httpd/bin/apxs --enable-track-vars --enable-sockets --enable-mbstring=all --with-config-file-path=/ispconfig/php --enable-ftp --prefix=/ispconfig/php --with-openssl=/ispconfig/openssl --with-mysql=/usr --with-curl=/usr/include/curl I have tested XML parsing and that is OK I am using the dev version so XML(enabled) & CURL(enabled) & IONCUBE are OK but cannot get remoting to give a response, I am really close on this one any help appreciated thanks in advance
I have been trying for two days to get remoting to function and no luck. Below is the server response or the test script. Here is a simple hello world from a working server: http://www.5s7.com/r/a/client.php Here is the same example from the ISPConfig Apache PHP implementation: http://www.5s7.com:81/remote/client.php Here is the same example from a foreign client to the ISPConfig Server http://www.5s7.com/r/test.php This suggest to me that the compile configure command routine is missing something important I have changed the /install_ispconfig/compile_aps/compile script on line 129 to ./configure --with-apxs=${INSTALL_ROOT}/httpd/bin/apxs --enable-track-vars --enable-sockets --enable-mbstring=all --with-config-file- path=${INSTALL_ROOT}/php --enable-ftp --prefix=${INSTALL_ROOT}/php ${WITH_OPENSSL} ${WITH_MYSQL} --with-curl=/usr/include/curl ./configure --with-apxs=/ispconfig/httpd/bin/apxs --enable-track-vars --enable-sockets --enable-mbstring=all --with-config-file-path=/ispconfig/php --enable-ftp --prefix=/ispconfig/php --with-openssl=/ispconfig/openssl --with-mysql=/usr --with-curl=/usr/include/curl I have tested XML parsing and that is OK I am using the 2.3 dev version so XML(enabled) & CURL(enabled) & IONCUBE are OK but cannot get remoting to give a response, I am really close on this one any help appreciated thanks in advance
Which exact dev version do you use? In the latest dev version, it is neither nescessary to reconfigure PHP nor to install IONCube and the remoting plugin is already bundled and has not to be installed separately.
I just tesetd your links: As I can not reach https://www.5s7.com:81/ or http://www.5s7.com:81/ at all, the ISPConfig server is not running or blocked. Please make sure that the ISPConfig interface is started and reachable first before you try to use the remoting plugin.
Workaround is use the Fedora installed apache on port 80 which I know is working and edit http.conf to add Listen 81 and a port 81 virtual host that points to ISPConfig web directory then set permissions so user apache can read as the apache error logs suggests, and NOT using the ispconfig version of apache. There are drawbacks but usability beats security. I will post the scripts that allowed me to better debug the situation.
I tested the client and the server residing in the same directory and across the two apache servers on port 80 <-> 81 the default apache installation of fedora does what it is supposed to and returns the string but the ISPConfig implementation does not. I think it has something to do with the apache compilation directives which is very vague. nusoap.php can be downloaded http://dietrich.ganx4.com/nusoap/ ----------------------------------------- The client - client.php ----------------------------------------- <?php require_once('nusoap.php'); $soapclient = new soapclient('http://www.yourdomain.com/dir/server.php'); echo $soapclient->call('hello',array('name'=>'The SOAP server has reponsed correctly')); $err = $soapclient->getError(); if ($err) { echo '<h2>Error</h2><pre>' . $err . '</pre>'; echo '<h2>Request</h2><pre>' . htmlspecialchars($soapclient->request, ENT_QUOTES) . '</pre>'; echo '<h2>Response</h2><pre>' . htmlspecialchars($soapclient->response, ENT_QUOTES) . '</pre>'; echo '<h2>Debug</h2><pre>' . htmlspecialchars($soapclient->debug_str, ENT_QUOTES) . '</pre>'; } ?> ------------------------------------------ The Server - server.php ------------------------------------------ <?php require_once('nusoap.php'); $server = new soap_server; $server->register('hello'); function hello ($name){ return "Hello $name."; } $server->service($HTTP_RAW_POST_DATA); ?> ----------------------------------------------- XML Test Script - xmltest.php ----------------------------------------------- <?php $file = "http://www.rss-wiki.com/rss/BibleQuoteOftheDay.rss"; $depth = array(); function startElement($parser, $name, $attrs) { global $depth; for ($i = 0; $i < $depth[$parser]; $i++) { echo " "; } echo "$name\n"; $depth[$parser]++; } function endElement($parser, $name) { global $depth; $depth[$parser]--; } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); //phpinfo(); ?> If you run into the same issue and want to pipe ISPConfig through the main apache server which is probably not recommended for security then you edit http.conf and add Listen 80 Listen 81 NameVirtualHost *:80 NameVirtualHost *:81 <VirtualHost *:80> .......................etc DocumentRoot /var/bla .......................etc </VirtualHost> <VirtualHost *:81> .......................etc DocumentRoot /home/admispconfig/ispconfig/web .......................etc </VirtualHost> restart apache and check the apache log you have to set permissions for apache to your files like app.inc.conf
There is no isp, this is a local test, also I have tested and can acccess ISPConfig locally and remotely OK on port 81 its just remoting that is the issue. The simple hello world remoting test works ok on the Fedora 5 default Apache 2 installation. I am thinking the ISPConfig Apache installation has the issue in the form of a missing module or something. Any ideas appeciated here I really need to get remoting working.
Maybe it is fixed or I am just seeing/believing what I want to see/believe. I replaced the php version shipped with PHP 5.2.3 Released and may have fixed the issue. The php homepage http://www.php.net/ does suggest an issue... The PHP development team would like to announce the immediate availability of PHP 5.2.3. This release continues to improve the security and the stability of the 5.X branch as well as addressing two regressions introduced by the previous 5.2 releases. These regressions relate to the timeout handling over non-blocking SSL connections and the lack of HTTP_RAW_POST_DATA in certain conditions. All users are encouraged to upgrade to this release. Thanks God...