I am a noob on PHP development, and I am trying to properly setup my environment. All I did was install the Lamp stack on my pc (I installed them separately).
The problem is that in Ubuntu the DocumentRoot folder is located in "/var/www/html" which is a root folder, so developing inside it is really troublesome. Then my idea was to change the DocumentRoot folder to a folder like "/home/user/…" but the problem is that I always get the 403 forbidden error, no matter what I do.
Ialready changed the DocumentRoot folder inside apache2.conf, the 000-default.conf, changed the permissions by running chmod and chwon, tried to add a new site inside of sites-available folder, like I did everything I could find online, but I can’t get rid of this error.
So I am doing something wrong, should I be able to develop inside the default folder? I know this can be a really noob like question, but I just don’t know and couldn’t find any other way.
I have some experience developing in Node btw, but never used PHP and apache before, but I need to learn.
2
Answers
Here is One Way (Probably not the best but it works)
You can stick to using /var/www/html but whatever folders you decide to use you will need to set the User and Groups correctly.
Out of the box Apache2 uses owner:group of www-data for both.
In /etc/apache2/apache2.conf where APACHE_RUN_USER and APACHE_RUN_GROUP are defined in /etc/apache2/envvars
So you could change those to suit OR simply add your user to the www-data group… NOTE if you do decide to alter these you will need to restart the apache2 server.
To add your user to the www-data group.
Where $USER will be your currently logged in username. If your user name is "Fred" you can simply type that in place of $USER.
NOTE: You will need to log out and log back in for the change to take effect.
You can check this with the command
which should show your user being in the www-data group.
And then you could go…
And depending upon your project you’ll need to set whatever permissions on your Folders/Files you need.
I developed an automatic deployer of a development environment.
Deploys a LAMP server standalone on Ubuntu 22.04. I run it from WSL, I haven’t tried it on pure Ubuntu yet:
https://github.com/oajm79/Ubuntu_dev
I hope it helps.