2015-11-17 2 views
0

Il y a un an, j'ai décidé d'aller avec CodeIgniter au lieu de Laravel, parce CodeIgniter prooved être plus facile à installer. Je me prépare maintenant pour mon prochain projet et il semble que le codeigniter soit maintenant obsolète (au moins la plupart des gens semblent recommander laravel sur codeigniter).En utilisant Laravel dans un sous-répertoire, sans accès root

Maintenant à mon problème: J'utilise une machine virtuelle Ubuntu pour développer des applications web donc j'ai un environnement de développement similaire à l'environnement de production (cela m'aide à éviter certains problèmes (surtout la casse ...;))))

J'ai installé compositeur et Laravel et a créé un nouveau projet Laravel nommé "route rapide" dans/var/www/QuickStart. J'ai ensuite suivi leur "guide de démarrage" (ici: Guide). Jusqu'à présent, tout a fonctionné. Mais voici les problèmes: J'ai deux autres applications web dans/var/www, donc quand j'entre dans l'ip de la machine, je vois les 3 répertoires.

Problème 1: Normalement, je m'attendrais à ce que dès que je clique sur le répertoire "quickstart" dans mon navigateur, la webapp soit affichée, mais je dois cliquer une seconde fois sur "public", puis la webapp est affichée.

Numéro 2: Bien sûr, les liens sur la page sont mal aussi, parce qu'ils reeer à (par exemple) «/tâche », qui ne peut être trouvé sur le serveur.

Le problème est que je ne suis pas vraiment fait l'expérience avec la configuration apache. Je suppose que cela a quelque chose à voir avec VirtualHosts, mais AFAIK vous devez avoir un accès root pour configurer les hôtes virtuels, et je n'ai pas de droits root sur l'environnement de développement. Pourriez-vous m'indiquer comment je peux faire fonctionner laravel dans un sous-répertoire de telle sorte que je puisse simplement déplacer les fichiers et les dossiers vers mon hébergeur dès que j'ai terminé le projet? Je voudrais changer alors un seul fichier, et non tous les chemins et les URL dans tous les fichiers;)

Cordialement, Christian

+0

Pourquoi ne pas utiliser [Homestead] (http://laravel.com/docs/5.1/homestead)? C'est exactement ce que vous essayez de faire, mais déjà préemballé et très facile à configurer pour plusieurs applications. – Bogdan

+0

Salut Bogdan. Je connais Homestead. Le "problème" est que ça marche: je crains de développer la webapp et de découvrir par la suite que je ne peux pas le faire fonctionner avec mon hébergeur. C'est pourquoi j'ai besoin de savoir à l'avance si je peux le faire fonctionner;) – Christian

+0

Quel type d'hébergement utilisez-vous: partagé, vps ou dédié? – Bogdan

Répondre

0

Merci à Bogdan, j'ai pu comprendre. Mon hoster permet symlinks, donc je l'ai fait comme ceci:

Je mets l'installation Laravel dans

/srv/web/quickstart 

(QuickStart est le nom du projet). J'ai ensuite créé le lien symbolique suivant:

ln -s /srv/web/quickstart/public /srv/web/www/public 

La racine de document du apache est configuré pour

/srv/web/www/public 

Après que je viens de recevoir une page blanche. C'est parce que j'ai oublié de définir les autorisations correctes sur le dossier de stockage. Donc, j'ai mis les autorisations suivantes

chmod -R 777 /srv/web/quickstart/storage 

Ceci est très bien pour un environnement de développement. Pour la production, je recommande d'autoriser uniquement l'utilisateur du serveur Web à écrire dans ce répertoire.

Et voilà: Tout fonctionne!

Merci pour votre aide bogdan. Christian