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 !
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 !
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 !
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.
Bonjour, merci de votre message, vous auriez des tutoriels pour mettre en place ce systeme ?
Cordialement !
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
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 !
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)
D'accord, cette bien cette ligne qui creer le lien symbolique :
append :linked_dirs, "public", "storage/framework/sessions"
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'