Ubuntu/Apache2/ Forbidden/Permission error
Solution 1
the user running the apache deamon, on ubuntu thats www-data (like in most debian based systems), needs at least read permissions for the files.
But as you posted only owner root
and group root
has read rights.
Actually owner root
has rw
group root
has r
.
So the user actually running the webserver (www-data) falls to the others permissions, which have none.
Either do a chmod -R o+r /var/www/banner/*
or a chown -R www-data /var/www/banner
to fix that.
Solution 2
I always forget that while the sub-directories and files need the read permission, the sub-directories also need execute permission.
chmod a+x banner
This tends to come up when I've saved a web page in the 'Webpage, Complete' format with Chrome or Firefox and am then trying to serve it under localhost, which I often do when building mockups for clients.
Admin
Updated on April 13, 2020Comments
-
Admin about 4 years
I have Ubuntu 11.10 with Lamp installed
There is some files that i can't access to from my web directory "/var/www"
http://localhost/banner/banner.html I am getting an error :
Forbidden You don't have permission to access /banner/banner.html on this server. Apache/2.2.20 (Ubuntu) Server at localhost Port 80
I can access /var/www/index.php normally as i can browse /var/www/banner normally too from my browser
This is a small peace of :
a1a4a@A1A4a:~$ ls -l /var/www total 7088 -rwxrwxrwx 1 root root 916 2011-11-25 20:49 access-controlled.php -rw-r--r-- 1 root root 22163 2011-12-16 22:28 account_info.php -rw-r--r-- 1 root root 22126 2011-12-16 22:27 account_info.php~ -rw-r--r-- 1 root root 16585 2011-12-16 21:32 acount_info.php -rw-r--r-- 1 root root 0 2011-12-16 21:28 acount_info.php~ drwxrwxrwx 5 root root 4096 2011-12-09 23:03 banner drwxrwxrwx 2 root root 4096 2011-12-09 23:03 css
And
a1a4a@A1A4a:~$ ls -l /var/www/banner total 20 -rw--w---- 1 root root 2564 2011-11-25 20:51 banner.html drwx-w---- 4 root root 4096 2011-12-09 23:03 examples drwx-w---- 2 root root 4096 2011-12-09 23:03 lib drwx-w---- 4 root root 4096 2011-12-09 23:03 skins -rw--w---- 1 root root 1431 2011-11-25 20:51 style.css
This is my config :
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
My "nano /etc/apache2/apache2.conf" is set as default ...
How can i make all my /var/www files (folders and sub-folders and files ) accessible from my browser as if i was on a windows machine using Wamp ...
P.S: I will host the website on a Windows machine i am using ubuntu just for coding.