Bonjours

Alors voilà je suis assez curieux, je sais deployer un site sous Symfony avec un accés SSH, mais pas sans l'accés SSH (c'est à dire FTP), j'aimerais donc savoir comment s'y prendre, si c'est un simple .htaccess ou en trouver un qui fait tous le taff, car je suis pas un fortiche avec les gros htaccess.

Pourquoi cette question ? Car j'ai mis un site en ligne il y a quelques jours, et l'hébergement fesais facturé le SSH +2€, j'ai voulu essayer sans le SSH, et donc vous connaissez la suite, j'ai finis par acheté l'accés SSH ahah

Cordialement, et bon code à tous !

6 réponses


Balsakup
Réponse acceptée

Tu déploies ton site en locale (clear, etc...) dans un dossier différent, et tu envoies tous ces dossiers en prod.

Pour les SQL, tu fais tes migrations sur une base à part, et tu fait un dump que tu importes sur ton hébergement.

Laznet
Réponse acceptée

Bonjour,

Pour l'histoire de ton dossier public il te suffit juste d'expliquer à Apache dans quel dossier il doit regarder, pas besoin d'un htaccess, il te suffit juste d'éditer ta configuration Apache à la ligne "DocumentRoot" et donc au lieu de mettre /var/www tu met (par exemple) /var/www/projet_symfony/public

Bonjour,

Le SSH n'est qu'un protocole sécurisé qui te permet d'établir une connexion avec ton serveur distant, de fait tu peux très bien envoyer des fichiers sur ton serveur en utilisant le protocole FTP à partir du moment où un serveur ftp (type Proftpd) est installé sur le serveur évidemment. Dans le cas où il n'est pas installé il te suffit de faire ceci :

sudo apt-get install proftpd

Tu lances l'installation en appuyant sur Y puis il va te demander de choisir entre standalone et Inetd choisi Standalone (En version française au cas ou Standalone = Autonome) pour avoir un serveur ftp déjà tout configuré en choisissant Inetd tu devras par la suite configurer ton serveur FTP, par simplicité il est donc préférable de choisir Standalone.

Une fois l'installation faite rend-toi dans le dossier de proftpd pour éditer le fichier proftpd.conf (/etc/proftpd/proftpd.conf)
et à la ligne DefaultRoot définis le chemin pour accéder au dossier où tu mettras tes fichiers, généralement quand on utilise Apache on met /var/www.. C'est tout bon ! Maintenant tu peux quitter le fichier (en oubliant évidemment pas d'enregistrer le fichier) et redémarrer le service pour qu'il prenne en compte ta configuration, pour le confort nous allons d'abord passer en root :

sudo su

Entres ton mot de passe et bienvenue en root :D Tapes cette commande, elle va redémarrer le service proftpd

service proftpd restart

Ensuite tu vas devoir choisir un utilisateur pour gérer ton serveur ftp :

adduser [Ton nom d'utilisateur] 

Ensuite il va te demander de choisir un mot de passe puis de définir des renseignement suplémentaire (facultatif.. tu peux très bien continuer en faisant Entrée ça ne le dérangera pas..)

ensuite on retape adduser [Ton nom d'utilisateur] mais en rajoutant sudo à la fin pour ajouter ton compte au groupe sudo. Nous allons ensuite autoriser ton utilisateur à gérer le dossier www d'Apache :

cd /var
chown -R  [Ton utilisateur] www

Ici nous déclarons que Ton Utilisateur devient propriétaire du dossier www (l'utilisateur d'Apache n'est pas supprimé, ton utilisateur est ajouté à la liste des propriétaire) puis nous devons autoriser proftpd à écrire dans le dossier www :

chmod -R 775 www

le dossier www devient donc accessible en lecture et en écriture (pas pour tous le monde heureusement) une fois fait il te suffit de te rendre dans ton client FTP (type Filezilla même si c'est pas le meilleur niveau sécurité) et de rentrer le pseudo que tu as choisi, le mot de passe qui va avec avec comme Nom d'hôte l'adresse ip de ton serveur ou son nom de domaine.

J'ai par contre l'impression que tu mélange beaucoup de chose :

si c'est un simple .htaccess

Un fichier .htaccess est juste un fichier pour configurer / utiliser des fonctionnalitées d'Apache, il ne te sera donc d'aucune utilité pour procéder au déploiement de ton sitee.

D'ailleurs ce fonctionnement tu peux très bien le faire avec n'importe quel site (la méthode n'est pas réservé qu'a symfony)

Salut,

Tu peux sans SSH, sinon les hébergeurs fourniraient des accès avec leurs hébergement systématiquement.

Il te suffit de te connecter en FTP à ton serveur et d'y déposer les fichiers de ton site

Tout est expliqué ici ;)
https://symfony.com/doc/current/deployment.html

Bah enfaite j'ai mis tous mes fichier dans le dossier "www", mon environnement est en "prod", et pourtant j'ai bien une erreur, quand j'essayais d'allez sur mon site web, via SSH je n'ai aucun soucis à déployé mon site, mais via juste un accés FTP, on ma parler d'un htaccess, car dans Symfony notre dossier qu'on souhaite afficher est le "public" si je ne me trompe pas.

Ou encore, si je devrais parler des commande pour faire les migartions "php bin/console doctrine:migrations:migrate", mais encore quand on viens de changer des fichier dans notre site et qu'on doit clean le cache PHP avec cette commande "php bin/console cache:clear", et bien j'aimerais comprendre comment on déployes son site et le maintiens à jours uniquement et seulement avec un accés "FTP", car je ne sais pas du tous le faire...

D'ou ma curiosité à propos de sa.

Merci de vos réponse, et j'éspere avoir été clair

(désolé pour mes nombreuses fautes de français)

Super merci beaucoup de votre éclairicssement ! C'est bien plus clair