Besoin d'aide pour héberger une application Laravel sur OVH

Par Agarmur, il y a 2 ans


Bonjour,

Je suis en train de travailler sur une application Laravel et je cherche à l'héberger sur un serveur mutualisé chez OVH. J'ai déjà tenté de mettre en place l'hébergement moi-même, mais je rencontre quelques difficultés.

J'ai trouvé quelques vidéos sur YouTube qui expliquent comment déplacer le dossier public à la racine du dossier de l'application, mais je suis préoccupé par les éventuels problèmes de sécurité que cela pourrait causer.

Est-ce que quelqu'un aurait des conseils ou une solution alternative pour héberger une application Laravel sur OVH ? Je suis ouvert à toutes les suggestions et je vous remercie d'avance pour votre aide.

Cordialement !

10 réponses

parfait_junior, il y a 2 ans

Bonjour,
Je pourrais vous aider à déployer votre projet Laravel sur un hébergeur. C'est vrai je n'ai pas encore eu à utiliser OVH (J'utilise Hostinger) mais je pourrais vous aider dans le déploiement si vous m'expliquez votre problème.
Cordialement !

Agarmur, il y a 2 ans

un grand merci de vouloir m'aider ! Le problème que je rencontre c'est j'ai mon projet laravel, j'ai mis tout mon projet sur mon serveur avec FileZila le problème c'est que pour y accéder je dois lui donner l'adresse suivante https://test/public, j'avais vu des vidéos qui extraits le dossier public dans la racine du projet pour crée un nouveau dossier avec les autres fichiers du projet et après cela change des choses dans le fichier index, mais je me demande si c'est bien sécurisé de faire cela

cordialement !

leknoppix, il y a 2 ans

Bonjour

Personnellement, cela fait des années que j'utilise laravel avec OVH.
J'utilise capistrano et un dépot framagit pour le déploiement.
Dans ovh, j'ai réorienté le nom de domaine vers www/..../current/public !
capistrano permet d'avoir une sorte de système de versionning. Pour le dossier vendor, j'exécute composer.phar en le téléchargeant via capistrano!

Si tu as des questions, n'hésite pas.

Agarmur, il y a 2 ans

Bonjour, merci de votre message, vous auriez des tutoriels pour mettre en place ce systeme ?

Cordialement !

leknoppix, il y a 2 ans

J'avais suivi le tutoriel de @Grafikart => https://grafikart.fr/tutoriels/capistrano-740

Et j'avais fait une "recette" peut etre mauvais terme, pour installer et executer composer sur ovh. Pas pour nodejs, cela ne fonctionne pas.

Je te met, ci dessous ma recette:
laravel.rake

namespace :laravel do desc 'Installe composer' task :composer do on roles(:web) do within release_path do puts "## Téléchargement de composer" # execute 'php -r "readfile(\'https://getcomposer.org/installer\');" | php' execute :mv, '/home/....../composer.phar', release_path + 'composer.phar' end end end desc 'Récupère les dépendances' task :install do on roles(:web) do within release_path do puts "## Récupération des dépendances (a adapté avec la version chez ovh)" execute '/usr/local/php8.1/bin/php', 'composer.phar', :install, '--prefer-dist --no-dev -o --no-suggest --no-progress' end end end desc 'Permission de Laravel' task :permissions do on roles(:web) do within release_path do puts '## Changement des droits' execute :chmod, '777', '-R', 'storage' execute :chmod, '777', '-R', 'bootstrap/cache' end end end desc 'Nettoyage de Laravel' task :cleanup do on roles(:web) do within release_path do puts '## Nettoyage' execute '/usr/local/php8.1/bin/php', 'artisan', 'cache:clear' execute :rm, release_path + 'composer.phar' execute :rm, '-rf', '/home/...../.composer' end end end desc 'Creation des sitemaps de Laravel et nettoyage' task :sitemap do on roles(:web) do within release_path do puts '## Création des sitemaps' execute '/usr/local/php8.1/bin/php', 'artisan', 'sitemap:primarygenerate' puts '## Création du sitemap par defaut' execute '/usr/local/php8.1/bin/php', 'artisan', 'sitemap:citygenerate' puts '## Création du sitemap des villes' execute '/usr/local/php8.1/bin/php', 'artisan', 'sitemap:newsgenerate' puts '## Création du sitemap des dernières news' execute '/usr/local/php8.1/bin/php', 'artisan', 'sitemap:oldgenerate ' puts '## Création du sitemap des vieilles news' puts '## view cache' execute '/usr/local/php8.1/bin/php', 'artisan', 'view:clear' end end end end

J'espère que cela t'aidera

Agarmur, il y a 2 ans

Un grand merci de votre aide, je vais regarder cela !

Agarmur, il y a 2 ans

J'aurais encore une question a ce sujet mais une fois les dossiers crée (current, releases, repo, shared), comment je fais avec le nom de domaine, le nom de domaine doit bien pointer vers le dossiers public mais je me demande du quel current ? ou shared/public ? (prealablement configurer avec capistrano)

Cordialement !

leknoppix, il y a 2 ans

Simplement, tu renvoies ton nom de domaine vers www/current/public !
En fait current est un lien symbolique vers releases/9898988989 (qui se crait au fur et à mesure)

Agarmur, il y a 2 ans

D'accord, cette bien cette ligne qui creer le lien symbolique :

append :linked_dirs, "public", "storage/framework/sessions"

leknoppix, il y a 2 ans

La, je vais t'avouer que je ne sais plus trop, mon script date de 7ans ;)
Dans le cadre de mon projet

# Default value for :linked_files is [] append :linked_files, ".env", 'public/.htaccess', 'public/sitemap-city.xml', 'public/sitemap-news.xml', 'public/sitemap-old.xml', 'public/sitemap.xml' # Default value for linked_dirs is [] append :linked_dirs, "public/uploads", "public/backups",'storage/framework/cache', 'storage/framework/sessions', 'storage/backups', 'public/newsletter', 'storage/logs', 'storage/app/analytics'