adding sites to LAMP

Whether you are using Linux on the desktop or as a server, it's still good that you're using Linux. Linux related questions go here.

Moderator: General Moderators

Post Reply
User avatar
Vegan
Forum Regular
Posts: 539
Joined: Fri Sep 05, 2008 3:34 pm
Location: Victoria, BC

adding sites to LAMP

Post 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?
User avatar
requinix
Spammer :|
Posts: 6617
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: adding sites to LAMP

Post 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.
User avatar
Vegan
Forum Regular
Posts: 539
Joined: Fri Sep 05, 2008 3:34 pm
Location: Victoria, BC

Re: adding sites to LAMP

Post by Vegan »

I was figuring /home/user would make it easier to jail the user to their home folder for security etc
User avatar
requinix
Spammer :|
Posts: 6617
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: adding sites to LAMP

Post 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.
User avatar
Vegan
Forum Regular
Posts: 539
Joined: Fri Sep 05, 2008 3:34 pm
Location: Victoria, BC

Re: adding sites to LAMP

Post by Vegan »

is there a web host package maybe that could be leveraged to make by VM look like another .COM
User avatar
requinix
Spammer :|
Posts: 6617
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: adding sites to LAMP

Post by requinix »

I don't know what you mean.
User avatar
VladSun
DevNet Master
Posts: 4313
Joined: Wed Jun 27, 2007 9:44 am
Location: Sofia, Bulgaria

Re: adding sites to LAMP

Post 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
There are 10 types of people in this world, those who understand binary and those who don't
User avatar
Vegan
Forum Regular
Posts: 539
Joined: Fri Sep 05, 2008 3:34 pm
Location: Victoria, BC

Re: adding sites to LAMP

Post 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
Post Reply