Hello Fedora Linux User,
I'm currently using Fedora 14 and still haven't got any problem with "Selinux" until one day i want to install apache, php, mysql server on my linux box. The problem is that i can't get the PHP upload file function "move_uploded_file" function to work. The error described on my apache error warning is "failed to open stream: Permission denied in $YOUR_PHP_FILE_PATH".
At first i thought that this error is a common error which caused by lack of privillages however even after changing file permissions and owner the error still exist. Not long after that i found it in linux forum that "Selinux" may caused the error. Actually "Selinux" will give warning / notification if there is an access violation but in few cases it won't.
There are two ways to handle this:
1. Disable the selinux completely
2. Gives selinux permissive authorization
In most fedora distributions Selinux configuration can be found in /etc/selinux/config. Just pick one of your favourite editor and do some editing to these lines: "SELINUX=$value". $value is the value you want for selinux to undergoes.
Example of Selinux configuration
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
In my case i completely disabled the protection. But if your linux box has local network neighbourhood i recommend the permissive mode. Permissive mode only gives warnings unlike the enforcing mode
Therefore, if anybody experience similar thing like this i hope this guide can help you. Thank you for reading...