Copy WEB-INF or create empty WEB-INF?

Completed an upgrade to Lucee and solved some initial problems.

I have a moment now to go back and consider best practices and what is “right” when installing Lucee.

For my virtual hosts, after setting them up in Apache, Tomcat, etc., (everything is working), I copied the Lucee instance from /opt/tomcat/webapps/ROOT/WEB-INF to my virtual host like so:

cp -P /opt/tomcat/webapps/ROOT/WEB-INF /websites/directory/for/this/site/www/WEB-INF

chown -R tomcat:tomcat /websites/directory/for/this/site/www/WEB-INF

Question: Is this the best thing to do? Or, is it better to create an empty WEB-INF and let Tomcat copy that data? Why or why not? If the files end up being the same, why not do a copy before starting up instead of waiting on Tomcat?

Personally, I would not copy. The stuff from the ROOT context is probably not needed in additional contexts, so it’s just wasted space - not to mention could lead to weird configuration issues should those configurations overlap in unexpected ways. A blank WEB-INF is fine. As long as Lucee/Tomcat can write to it, they will do whatever they need to there and it won’t matter much to your site other than things will be working as they should.

Just my $0.02 though.

Thanks Jordan! I will do that next time. On the initial install, there was nothing set in the Lucee Admin (server nor web admin). No datasources either. So copying that should be OK. However, when I have a moment, I may re-do that. Next time, I’ll try the empty WEB-INF route. When I tried it originally, there were errors (did not retain the error data).

If you’re running Tomcat as a non-root user, you can get errors about Tomcat not being able to create the WEB-INF directory. In that case, just create a blank WEB-INF directory and give the Tomcat user write access to it, and you’ll be all set. =)