Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a web server (Apache2) that i access with FileZilla.

On my web server i have a dir /home/admin/www that i binded to /var/www. So i can access it with FTP. This works perfect!

But everytime i restart my web server i have to do the bind again and again. Can't i say to my webserver that those maps need to be binded for always? Also i need to reset all my permissions everytime again, what am i doing wrong?

share|improve this question

1 Answer 1

up vote 7 down vote accepted

A better and more secure solution (i get uneasy with the internet having access to an admins home folder!) is to create a webroot folder in /

Terminal time!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Now point apache to your new document root /webroot at the bottom of your apache config. This can be found here: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O to save, CTRL-X to exit in nano if you are not familiar with it.

Simply replace DocumentRoot /var/www/ with /webroot/

Copy your webfiles now to webroot.

sudo /etc/init.d/apache2 reload

Apache should now have restarted with all the configurations loaded.

This has created a directory in root called webroot, owned by apache2, and group owner is the new group webdev, which your user is now appended to member of (this does not replace any groups!). This will allow you to edit the files in the FTP!

This is a very simple solution for a one-website apache server. More work is required if you plan on running multiple sites (creating separate folders for them in webroot for example)

The advantages of this are that if someone does find a vulnerability, they are locked into the webroot folder, and not your home folder! Also if you ever needed to allow any more users to modify the site, you can add their user to the webdev group with sudo usermod -a -G theirusername webdev

Hope this helps!

Kind Regards

share|improve this answer
3  
Thank you! That worked perfect for me! –  Ontwikkelaar Bij Debugged Oct 17 '11 at 10:25
    
Not a problem :) do you mind if i rename the title to better reflect the answer i have given? –  Laice Oct 17 '11 at 10:31
    
certainly not :-) –  Ontwikkelaar Bij Debugged Oct 17 '11 at 12:20
    
for some reason I was getting no such user webdev when I used your command >sudo groupadd webdev I tried this and it seemed to work. Well added the user in /etc/group file anyway. sudo usermod -a wwwlogin -G webdev –  Benaiah Mar 30 '13 at 15:20
    
This was my fault, in my answer I switched round the user and group inadvertently, this was corrected by Damon, lesson learned! –  Laice Oct 4 '13 at 9:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.