Haring10
Haring10

Reputation: 1557

403 Forbidden on laravel project, but nothing else

I have a digital ocean droplet, I have a test page up on the root of the site, it works just fine, but when I am trying to connect to the laravel project, it hits me with a 403 Forbidden error.

Basically if I go to:

mysite.com/

it shows the normal page

and if I go to:

mysite.com/public

it shows me the 403 error.

I have tried changing the permissions using chmod -R 755 app/storage even trying to change the permissions on the whole folder / directory and nothing works.

Here is the last part of the error log:

2014/12/22 11:13:02 [error] 14447#0: *1 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$
2014/12/22 11:13:07 [error] 14447#0: *2 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: still could not bind()
2014/12/22 11:16:14 [error] 14447#0: *3 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$

Upvotes: 2

Views: 3033

Answers (1)

mopo922
mopo922

Reputation: 6381

Based on your responses in the comments, I think there's a disconnect as to where stuff IS and where you expect it to be.

You said: "The directory is /var/www/mysite.com and laravel is installed directly in there"

So I would expect something like this:

/var/www/mysite.com/
    app/
    public/
    vendor/
    etc...

Then you said: "the [webserver] root is set to /var/www/mysite.com/public_html/"

So when you go to mysite.com in your browser, it points at /var/www/mysite.com/public_html/, and mysite.com/public points to /var/www/mysite.com/public_html/public/, which doesn't seem like what you want.

Try changing the web server root to point to /var/www/mysite.com/public/ (Laravel's "public" dir).

Upvotes: 2

Related Questions