You should be able to use "syslogd" to accomplish this. Syslogd comes with my Ubuntu distribution and I would guess most other distributions. To set it up as a log server, follow these steps. (Some of the file locations may be different on your distribution.)
- On the server machine, edit /etc/default/syslogd by adding the option "-r" to the SYSLOGD variable, like this: SYSLOGD="-r". This tells the daemon to accept incoming log reports.
- Restart the daemon with sudo /etc/init.d/sysklogd restart.
- On every Windows client machine, install one of the many syslog daemons for Windows. You can find a list of such software here: http://www.softpanorama.org/Logs/Sys..._windows.shtml.
- On every Windows client, start the daemon with these options: syslogd -R X.X.X.X -L -C -S, replacing X.X.X.X with the IP address of your server machine.
That's it! All of the logs will appear in /var/log
. Check the syslog documentation for information on filtering log messages and sending different messages to different files.