Page 1 of 1

adding sites to LAMP

Posted: Sat Dec 16, 2017 12:32 pm
by Vegan
I was wondering if it is easy to run a bash script or 5 to do the following

prompt for the domain the site will be using

make a home directory for the site under /home

then make a directory tree /home/site/www

create a vhost with apache vhost to point the site to the www folder

i guess a database can handle the site assets with MySQL tables?

Re: adding sites to LAMP

Posted: Sat Dec 16, 2017 5:45 pm
by requinix
Scripts don't normally "prompt" for anything (besides passwords). Pass the username/site as an argument.

If you're creating directories under /home then that suggests there are user accounts to go with it. Either create user accounts on the system or put the sites somewhere else.
Creating accounts would be safest as then the files can be owned by that user; make sure you chown the /home/site directory to match.

For the virtualhost, create a template file with tokens like $USERNAME or something. Then run the file through sed with appropriate replacements and save the output as a new configuration file. And restart/reload Apache.

Re: adding sites to LAMP

Posted: Sat Dec 16, 2017 9:26 pm
by Vegan
I was figuring /home/user would make it easier to jail the user to their home folder for security etc

Re: adding sites to LAMP

Posted: Sat Dec 16, 2017 11:41 pm
by requinix
Putting them in one place like that is fine. What I'm saying is that /home specifically has a special meaning and is generally reserved for users of the system itself; if I saw a path "/home/site" then I would expect there to be a user named "site" to go with it. So my recommendation is to either (a) go ahead and have them in /home but create actual user accounts for them too, or (b) put the sites somewhere else.

The first option needs system privileges because you'll be creating users and groups. That's a bit annoying, but it has a great upside that all the files under /home/foo will be owned by the foo:foo user and group - you get Linux's filesystem permission system for added security.

Re: adding sites to LAMP

Posted: Sun Dec 17, 2017 1:05 pm
by Vegan
is there a web host package maybe that could be leveraged to make by VM look like another .COM

Re: adding sites to LAMP

Posted: Sun Dec 17, 2017 7:03 pm
by requinix
I don't know what you mean.

Re: adding sites to LAMP

Posted: Mon Dec 18, 2017 4:02 am
by VladSun
There is an easy way to have dynamically configured named based virtual hosts:

https://httpd.apache.org/docs/2.4/vhosts/mass.html

Re: adding sites to LAMP

Posted: Sat Feb 03, 2018 2:13 pm
by Vegan
VirtualDocumentRoot "/home/%2/www"

is more or less the idea I am looking at, so that way i can manage the client sites using linux home folders for each site etc

the vhost can then be very simple for each site