J'utilise Ubuntu 18.10 sur Windows 10 avec Virtualbox 5.2.22.
Permettez-moi d'expliquer ce que j'essaie de faire. Dans Windows, j'ai deux environnements de développement. Je développe en utilisant un serveur WAMP. J'utilise Dropbox pour synchroniser mes deux environnements de développement. Voici comment procéder : J'ai un répertoire d:\Dropbox\_www
mes deux Apaches sont configurés exactement de la même manière. En développement, j'utilise SQLite, je n'ai donc aucun problème avec la base de données. Je travaille ainsi depuis plus d'un an sans aucun problème.
Mon seul problème est que j'utilise mon ordinateur personnel comme l'un des environnements, et qu'il a été rempli de jeux, d'autres programmes et autres, alors j'ai pensé que ce serait une bonne idée de répliquer mon environnement sur une VM propre utilisant Linux.
J'ai fait d:\dropbox\_www
un dossier partagé, et il est monté sur /media/sf__www
J'y ai un accès complet, je peux utiliser VS Code pour éditer des fichiers et autres.
Maintenant j'ai configuré le serveur LAMP, Apache 2, PHP et mySQL fonctionnent parfaitement, j'ai fait une petite page à /var/www/test
et tout va bien
Mon problème est que je n'arrive pas à configurer le serveur virtuel d'Apache pour qu'il pointe vers /media/sf__www
. Voici ce que j'ai fait :
Dans le fichier /etc/hosts, j'ai ajouté :
laravel.com.devel 127.0.0.1
J'ai créé un laravel.conf
en /etc/apache2/sites-available
avec les éléments suivants :
<VirtualHost *:80>
ServerAdmin whatever@gmail.com
DocumentRoot /media/sf__www/lara/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName laravel.com.devel
</VirtualHost>
En el apache2.conf
Je dispose des éléments suivants :
<Directory "/media/sf__www/lara/">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
J'ai ensuite activé le site et redémarré Apache :
sudo a2ensite laravel.conf
service apache2 reload
Maintenant, quand je vais dans le navigateur, tout ce que j'obtiens est un 403 :
Forbidden
You don't have permission to access / on this server.
Apache/2.4.34 (Ubuntu) Server at laravel.com.devel Port 80
Pensant que cela pouvait être lié aux permissions dans le système de fichiers (je suis assez novice en Ubuntu), j'ai fait un sudo chmod 777 lara -R
pour changer toutes les permissions dans le répertoire, mais je reçois toujours le message 403.
Donc, une idée sur la façon dont je dois configurer Apache afin de travailler avec un répertoire en dehors de la base de données. /var/www/
?
EDIT : Sortie partielle de ll /media/sf__www/lara
est :
drwxrwx--- 1 root vboxsf 4096 oct 23 17:51 ./
drwxrwx--- 1 root vboxsf 4096 dic 8 09:58 ../
drwxrwx--- 1 root vboxsf 4096 oct 26 21:05 app/
-rwxrwx--- 1 root vboxsf 1686 oct 22 18:44 artisan*
drwxrwx--- 1 root vboxsf 0 oct 21 12:08 bootstrap/
-rwxrwx--- 1 root vboxsf 1477 oct 22 18:44 composer.json*
-rwxrwx--- 1 root vboxsf 144373 oct 22 18:48 composer.lock*
Il semble que vous ne puissiez pas chmoder/chowner ce répertoire.
EDIT : Sortie des groupes
luisferfranco@luisfer-vb:/media/sf__www/lara$ groups
luisferfranco adm cdrom sudo dip plugdev lpadmin sambashare vboxsf
EDIT : Sortie de setfacl sur le répertoire :
luisferfranco@luisfer-vb:/media/sf__www/lara$ sudo setfacl -d -R -m u:$USER:rwx,g:www-data:rwx,o:rx /media/sf__www/lara
[sudo] contraseña para luisferfranco:
setfacl: /media/sf__www/lara: La operación no está soportada
setfacl: /media/sf__www/lara/app: La operación no está soportada
setfacl: /media/sf__www/lara/app/Console: La operación no está soportada
setfacl: /media/sf__www/lara/app/Exceptions: La operación no está soportada
Pour chaque fichier, il est indiqué "opération non prise en charge". J'ai lu sur d'autres sites que cela pouvait être lié aux partitions.
EDIT : [SOLVED]
Je tiens à remercier George Udosen ( https://askubuntu.com/users/459561/george-udosen user:459561), il est resté en ligne pendant plus d'une heure pour m'aider à résoudre ce problème. Il a essayé beaucoup de choses différentes jusqu'à ce que cela fonctionne. En fait, ce qui a résolu le problème, c'est l'ajout d'un utilisateur au groupe vboxsf, comme indiqué :
sudo adduser www-data vboxsf
Merci beaucoup, vous avez pris trop de temps sur votre journée de Noël pour aider un parfait inconnu, vous êtes quelqu'un de bien.