Symlink (web)project to /srv/http/

Hey everyone, I’m stuck. I’m very new to everything Linux, today is my first day.

I’ve installed apache, php and mariadb succesfully, it’s all running and approachable.
Now I want to create my website in folder ‘/home/user/Projects/project’ and make that one approachable via apache (127.0.0.1). So, I created a symlink and when I use ‘ls -l’ to check the symlink it looks alright;

lrwxrwxrwx 1 root root 28 7 apr 15:21 project → /home/ernst/Projects/project

However, when I go to ‘127.0.0.1/project’ it gives an access forbidden. It also doesn’t show on the ‘Index of /’ page on 127.0.0.1.

What am I doing wrong? Is this the wrong approach or is it a permissions issue?
Hope you can help, thank you and have a good day.

Hi! For issues setting up a server, you will find help easier by asking questions in another forum that is more oriented towards servers. The Manjaro forums are mainly for desktop users, since (AFAIK) Manjaro is not used in servers that often. You will still find good help here for issues relating to your overall system, but stuff like Apache maybe not so much.

Have you tried googling your issue?

Both. First of all, yes, it’s a permissions issue, and secondly, that is exactly why you’re not supposed to put your home page inside your home directory.

Use the /srv/http directory, and make sure the permissions and ownership/group are set up there to allow your user to edit the contents of that directory, because by default it will be root-owned.

Also see the documentation that @fasto linked to, as well as the Apache section at the Arch Wiki. :wink:

You only check permission of the symlink, not the actual folder. Accessible files from Apache must either be readable by others or owned by user httpd.

1 Like

Welcome to the Forum :+1:


To be able to allow Apache to access and serve the content in that directory you need to:

  1. Make sure the permissions for all directories leading to that directory have “read” and “execute” permissions for the Apache-server’s user account and/or group.
  2. Create an Apache config section that tells Apache it is allowed to serve that directory, eg. by using: Allow access to a directory

In other-words it is not recommended to try to serve arbitrary directories in your home dir.

  • You could maybe create your project under the designated directory under user accounts that Apache should have by default.
    Which is IIRC ~/public_html or similar check your Apache-config for the Userdir keyword…
1 Like