J'ai créé une application simple en utilisant AngularJS. Lorsque j'ai essayé d'héberger ce projet sur mon site Web http://demo.gaurabdahal.com/recipefinder il affiche l'erreur suivante:
Interdit
Vous n'avez pas la permission d'accéder/recipefinder sur ce serveur . Serveur incapable de lire le fichier htaccess, refusant l'accès en toute sécurité
Mais si je vais à http://demo.gaurabdahal.com/ il affiche le message "accès refusé" comme prévu, que j'ai imprimé. Mais pourquoi ne peut-il pas ouvrir ce projet "recipefinder" d’AngularJS? Si j'essayais d'y installer une application HTML simple, elle s'ouvre parfaitement.
Le même projet AngularJS fonctionne bien lorsque j'héberge que dans github ( http://gaurabdahal.github.io/recipefinder )
Je ne peux pas comprendre ce qui ne va pas.
J'ai eu ce problème également. Mon conseil est de regarder dans votre fichier journal des erreurs du serveur. Pour moi, c’est que le répertoire principal du projet n’était pas lisible. Le journal des erreurs l'a clairement indiqué. Un simple
Sudo chmod -R 755 <site_top_folder>
corrigé pour moi.
Il s'agit d'un problème courant avec l'hébergement de serveur virtuel GoDaddy lorsque vous ouvrez un nouveau site Web.
En supposant que vous ayez un accès SSH au serveur (vous devez l’activer sur cPanel), connectez-vous à votre compte. Une fois la connexion établie, vous serez placé dans le répertoire de base de votre compte. Le répertoire DocumentRoot de votre site Web se trouve dans un sous-répertoire nommé public_html. GoDaddy attribue par défaut les autorisations pour ce répertoire à 750, mais ces autorisations sont insuffisantes pour permettre à Apache de lire les fichiers du site Web. Vous devez modifier les autorisations pour ce répertoire en 755 (chmod 755 public_html).
Copiez les fichiers de votre site Web dans le répertoire public_html (scp et rsync fonctionnent pour la copie de fichiers sur un serveur Linux GoDaddy).
Ensuite, assurez-vous que tous les fichiers sous public_html sont lisibles par tout le monde. Pour ce faire, utilisez cette commande:
cd public_html
chmod -R o+r *
Si vous avez d'autres sous-répertoires (tels que css, js et img), assurez-vous qu'ils sont accessibles au monde entier en activant la lecture et l'exécution pour l'accès mondial:
chmod o+rx css
chmod o+rx img
chmod o+rx js
Enfin, vous aurez besoin d'un fichier .htaccess dans le fichier public_html. GoDaddy applique une règle qui interdit le chargement du site si vous n'avez pas de fichier .htaccess dans votre répertoire public_html. Vous pouvez utiliser vi pour créer ce fichier ("vi .htaccess"). Entrez les lignes suivantes dans le fichier:
Order allow,deny
Allow from all
Require all granted
Cette configuration fonctionnera à la fois pour Apache 2.2 et Apache 2.4. Enregistrez le fichier (ZZ), puis assurez-vous que le fichier dispose des autorisations de 644:
chmod 644 .htaccess
Fonctionne comme un charme.
Définissez le groupe de votre répertoire public sur personne.
Vous devez exécuter ces commandes dans /var/www/html/
ou tout autre répertoire dans lequel se trouve votre projet:
Sudo chgrp -R group ./
Sudo chown -R user:group ./
find ./ -type d -exec chmod 755 -R {} \;
find ./ -type f -exec chmod 644 {} \;
Dans mon cas (serveur Web Apache), j'utilise www-data
pour user
et group
Dans mon cas, Apache était mal configuré, donc je devais également définir des autorisations pour tous les répertoires parents. Le simple fait de définir l’autorisation sur .htaccess (et son répertoire parent) ne fonctionne pas.
Solution de serveur partagé GoDaddy
En gros, le même problème se posait lorsque j'essayais de déployer un projet Laravel distinct au niveau des sous-domaines.
Structure de fichier
- public_html (where the main web app resides)
[works fine]
- booking.mydomain.com (folder for separate Laravel project)
[showing error 403 forbidden]
Solution
sélectionner les cases à cocher suivantes
a) user - read, write, execute
b) group - read, execute
c) world - read, execute
Permission code must display as 755
Cliquez sur modifier les autorisations
Travail accompli!
Juste ma solution. J'avais extrait un fichier, apporté quelques modifications mineures et obtenu l'erreur ci-dessus. Tout supprimé, téléchargé et extrait à nouveau, et les affaires normales.