J'ai CentOS 6.1 server et j’y ai installé Apache 2.2.15 . Maintenant, quand j’essaie d’y accéder depuis un autre ordinateur (Windows 7) depuis IE (http: ///(= centos ip)) Je reçois le message "Vous n'avez pas la permission d'accéder à/sur ce serveur." Erreur. J'ai même créé un fichier phpinfo.php avec le contenu "" sur "var/www/html" et lorsque j'essaye d'y accéder en utilisant "http: //*/phpinfo.php" dans IE, l'erreur ne se trouve pas. Que dois-je faire? Mon httpd.conf pour directiry est le suivant:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Editez le fichier httpd.conf, qui se trouve dans /etc/httpd/conf/httpd.conf
. Ajoutez le code ci-dessous.
<Directory "/">
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>
<Directory "/home/">
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>
Après la ligne no. 555 (dans mon cas). Vérifiez les autorisations de fichier et redémarrez le serveur.
service httpd restart
Maintenant, ça va marcher. Vous avez toujours le même problème, désactivez la seLinux
dans /etc/selinux/config
change SELINUX=disabled
et redémarrez le serveur comme indiqué ci-dessus et essayez-le.
J'espère que cela t'aides
Définissez SELinux en mode permissif à l’aide de la commande ci-dessous:
setenforce 0;
Vérifiez les permissions de fichier du/var/www/html et de la directive ALLOW dans votre conf Apache
Assurez-vous que tous les fichiers sont lisibles par le serveur Web et que la directive allow est comme
<Directory "/var/www/html">
Order allow,deny
Allow from all
</Directory>
si vous pouvez voir des fichiers, envisagez de trier la directive de manière plus restrictive
Le poing vérifie qu'Apache est en cours d'exécution. service httpd restart
pour redémarrer
CentOS 6 est fourni avec SELinux activé. Modifiez la stratégie ou désactivez-la en modifiant le paramètre /etc/sysconfig/selinux
et le paramètre SELINUX=disabled
. Puis redémarrer
Ensuite, vérifiez localement (à partir de centos) si Apache fonctionne.
Essayez d'utiliser les éléments suivants: Chmod + rx/home/*
essayez de modifier httpd.conf
<Directory "/usr/local/www/Apache24/cgi-bin">
Options Indexes FollowSymLinks Includes ExecCGI
Require all granted
</Directory>
Si vous définissez SELinux en mode permissif (commande setenforce 0
) et que cela fonctionne (pour moi), vous pouvez exécuter restorecon (Sudo restorecon -Rv /var/www/html/
), qui définit le contexte correct pour les fichiers du répertoire Apache de manière permanente, car setenforce est temporel. Le contexte pour Apache est httpd_sys_content_t
et vous pouvez le vérifier en exécutant la commande ls -Z /var/www/html/
qui génère quelque chose comme:
-rwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 index.html
Dans le cas où le fichier n'a pas le bon contexte, affichez quelque chose comme ceci:
drwxr-xr-x. root root unconfined_u:object_r:user_home_t:s0 tests
J'espère que ça peut t'aider.
PD: excusez moi mon anglais
Cliquez avec le bouton droit sur votre dossier www et cliquez sur propriétés. Naviguez vers les permissions et changez tout en lecture et écriture puis cliquez sur " Appliquer la permission aux fichiers joints " et vous avez terminé !!
Créez le fichier index.html
ou index.php
dans le répertoire racine (dans votre cas, /var/www/html
, comme indiqué par @jabaldonedo)
Vérifiez le paramètre Utilisateur et groupe Apache dans le fichier httpd.conf. Il devrait utiliser par défaut Apache sur AMI/RedHat ou www-data sur Debian.
grep '^Group\|^User' /etc/httpd/conf/httpd.conf
Ajoutez ensuite l'utilisateur Apache au paramètre de groupe du répertoire racine de votre site.
Sudo usermod -a -G <your-site-root-dir-group> Apache