问题
I have installed xampp to Ubuntu 12.04. I have put my project in the folder /opt/lampp/htdocs/project_is_here
When I type in the browser localhost/soap/php
(soap/php is in my htdocs folder) which is where index.php
I get the following error:
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
localhost
Apache/2.4.3 (Unix) OpenSSL/1.0.1c PHP/5.4.7
Any ideas how to fix this? I think this is the right location to put the project, because I tried other places and it said location didnt exist and this error goes away here and I get this.
Any ideas?
回答1:
In the linux terminal navigate to your lampp directory.
cd /opt/lampp
In the command line type:
sudo chmod 777 -R htdocs
The problem should be solved.
1st Edit:
What you just did was:
You navigated to the directory containing the protected directory. Your problem was that it was a folder that was access protected by your system. When you commanded chmod 777 -R htdocs, what you did was set the permissions for everyone on your computer to read/write/execute - allowed.
Now, you know what each digit means. It says who the number is about. Now each number from 0-7 sets a permission level. I will simply provide you a link for that.
http://www.pageresource.com/cgirec/chmod.htm
I forgot to add why there is a '-R'. '-R' makes the command recursive and will affect htdocs as well as all subdirectories of htdocs and all subdirectories of those etc.
回答2:
i've experinced the same problem and this is my solution :
1.in the terminal
cd /opt/lampp/etc/
- if you have sublime text installed simply just type :
subl httpd.conf
3.when the configuration file opened in sublime you have to check if these three blocks are as follow :
<Directory /> AllowOverride All Require all granted </Directory>
================================
<Directory "/opt/lampp/htdocs"> Options Indexes FollowSymLinks ExecCGI Includes AllowOverride All Require all granted </Directory>
================================
User your username Group your group name
for example :
my username is mhmd also my group name is mhmd
User mhmd Group mhmd
and i hope it will help you ..
回答3:
One possible reason is that you are using Virtual host.
In that case, use this command in your terminal
sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf
Then add this block of code at the end of the file
<VirtualHost *:80>
DocumentRoot "/opt/lampp/htdocs"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error_log"
CustomLog "logs/localhost-access_log" common
</VirtualHost>
Finally restart XAMPP
sudo /opt/lampp/lampp restart
回答4:
I had given all the permission , still got the error message. Go to -> /etc/apache2/sites-available/000-default.conf set : DocumentRoot to /opt/lampp/htdocs
All solved for me. Change the "DocumentRoot" to whichever folder your project is.
回答5:
it'll useful,
0 -> No permission
1 -> Execute
2 -> Write
3 -> write and execute(2 +1)
4 -> Read
5 -> Read and execute
6 -> Read and write
7 -> read,write and execute
Then What about three decimal
1st-digit Owner
2nd- digit Group
3rd- digit Others
test@test:~$ sudo chown -R test:test /var/www/html/folder
test@test:~$ sudo chmod -R 666 /var/www/html/folder //-system user
test@test:~$ sudo chmod -R 777 /var/www/html/folder // -browser with full
What is this 777 ? --> 7: you, 7: us, 7: them.
来源:https://stackoverflow.com/questions/17624936/xampp-ubuntu-cant-access-my-project-in-lampp-htdocs