skip to Main Content

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


  1. 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

    export APACHE_RUN_USER=www-data
    export APACHE_RUN_GROUP=www-data
    

    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.

    sudo usermod -a -G www-data $USER
    

    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

    $ groups
    

    which should show your user being in the www-data group.

    And then you could go…

    sudo chown -R $USER:www-data /var/www/html/
    

    And depending upon your project you’ll need to set whatever permissions on your Folders/Files you need.

    Login or Signup to reply.
  2. 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.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search