How to install an application correctly
Hi, althought i have done quite a lot of web programming until now, I'd like to ask some basic stuff which I never really had to care about since I rather edited existing stuff or extendet existing stuff.
I've set up a VM using VirtualBox with Ubuntu as a guest OS. Now, I'm wondering on how to correctly install an web app.
Of course, there is /var/www where i can put my stuff an /etc/apache2/sites-available where I can put my vhosts.
Now, I'd really like to know the part of how a website gets available to others respectively how apache servers them into the wilde world. What permissions do depend etc. Also I'd like to know where to put all my files and projects etc.
So my questions are:
1. How does a homepage get serve to the outworld? Don't tell me about HTTP and stuff. I want to know the procedure of httpd, like: First the request comes in and component X says it's an httpd thing and httpd looks up the site through the vhost file and blabla. Something like this.
2. Where can i put my libraries and frameworks (on ubuntu)? I don't want to include them into each proejct but put them somewhere on the system and include them into the include_path. Where's the best place on an Ubuntu system? Maybe soem good Ubuntu Filesystem article would be nice.
3. How to install an web application proberly so there are no files public which don't belong to be public. Do you put all your projects into www/... or do you have an project folder?
4. Does the www folder somehow differ from an selfmade dir which gets public because you point to it via a vhost file?
Of course, I'm able to put a website online and make sure there are no files public which shouldn't be public but I want to know it in detail. Of course, you can link me to some documentations if there is everything I need.
I'm asking myself how to set up my dev environment. Where to put all the files etc. I'm not used to ubuntu.
I just want to tighten my knowledge. I want to be 120% sure about how to set permissions and configure my vhosts/apache2 and not just 90%.
Hope my concern are clear. Thanks