Time won't sync

You might consider putting the logging and reporting features on a PC and just push the raw data from the Arduino to the PC via a web service, rather than try to have the Arduino host the whole thing. Strictly speaking the Arduino can do all those things on its own, but it's not a good approach IMO. If you did insist on that approach then you would need to give the Arduino an NTP client (and use the network to access an NTP server somewhere) or an RTC.

By putting the storage and reporting on a PC you get a far more powerful web server and database storage, backup/archiving becomes trivially simple, web development and debugging is massively easier and you can take advantage of all the web development tools that the rest of the world uses.