Any bugs, please mail me :)
The debian packages at present seem to not include an /etc/init.d script for starting mod-mono-server.exe, so I've tried writing one myself (via shameless copy-n-pasting from another one on my system), and I'm not having much luck so far. Maybe I shouldn't be trying to run the xsp process as www-data, but I can't think of any better user to use. (btw, I did make sure that www-data could read and write the root folder I specified, /home/sballard/unix-ivory - obviously, that's not a good location to use in general, but I wanted to get something working before picking the perfect location).
I get the following error:
Starting XSP: mod-mono-serverListening on: /tmp/mod_mono_server Root directory: /home/sballard/unix-ivory
Unhandled Exception: System.UnauthorizedAccessException: Access to the path "" is denied.
Server stack trace:
in <0x00226> System.IO.File:Delete (string)
in <0x000af> Mono.ASPNET.XSPApplicationHost:Start ()
in (unmanaged) /usr/lib/libmono.so.0 [0x40056adc]
in (unmanaged) /usr/lib/libmono.so.0(mono_runtime_invoke+0x35) [0x400a8dc2]
in (unmanaged) /usr/lib/libmono.so.0(mono_runtime_invoke_array+0x21b) [0x400a9d35]
in (unmanaged) /usr/lib/libmono.so.0 [0x400b0791]
in <0x00193> System.Runtime.Remoting.RemotingServices:InternalExecuteMessage (System.MarshalByRefObject,System.Runtime.Remoting.Messaging.IMethodCallMessage)
Exception rethrown at [0]:
in <0x001da> System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&)
in (unmanaged) (wrapper remoting-invoke) Mono.ASPNET.XSPApplicationHost:Start ()
in <0x00004> (wrapper remoting-invoke) Mono.ASPNET.XSPApplicationHost:Start ()
in <0x0002f> (wrapper remoting-invoke-with-check) Mono.ASPNET.XSPApplicationHost:Start ()
in <0x00344> Mono.ASPNET.Server:Main (string[])
.
I've attached the non-working init.d script in case anyone's interested. I had to create a /var/www/.wapi directory that was chowned to www-data in order to get past another error caused by the fact that www-data doesn't have write permissions to its own home directory. Can someone explain why xsp doesn't use /tmp for these files?
Thanks in advance for any suggestions, Stuart.
-- Stuart Ballard, Senior Web Developer NetReach, Inc. (215) 283-2300, ext. 126 http://www.netreach.com/
#! /bin/sh
PATH=/sbin:/bin
test -f /usr/bin/mod-mono-server.exe || exit 0
case "$1" in
start)
echo -n "Starting XSP: mod-mono-server"
start-stop-daemon --start --quiet --chuid www-data --user www-data
--group www-data --chdir /home/sballard/unix-ivory --exec /usr/bin/mod-mono-server.exe
-- --applications /:. --nonstop
echo "."
;;
stop)
echo -n "Stopping XSP: mod-mono-server"
start-stop-daemon --stop --quiet --chuid www-data --user www-data
--group www-data --exec /usr/bin/mod-mono-server.exe
echo "."
;;
restart|force-reload)
echo -n "Restarting NTP server: ntpd... "
start-stop-daemon --stop --quiet --chuid www-data --user www-data
--group www-data --exec /usr/bin/mod-mono-server.exe
sleep 2
start-stop-daemon --start --quiet --chuid www-data --user www-data
--group www-data --chdir /home/sballard/unix-ivory --exec /usr/bin/mod-mono-server.exe
-- --applications /:. --nonstop
echo "done."
;;
*)
echo "Usage: /etc/init.d/local-xsp {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
