meta data for this page
Laravel
Mise en ligne sur le Cpanel du Cegep
Configuration de SSH
⇒ menu Terminal
La clé SSH permettra au site que vous utilisez pour votre dépot Git (bitbucket, gitlab, github) de “reconnaître” votre serveur et de vous autoriser à cloner ou faire des pull / push de votre projet
- Créer un clé SSH
Saisir cette commande et remplacer username
et example
par votre nom (pseudo) et votre domaine.
Ensuite appuyer sur Entrée pour valider les réponses par défaut.
ssh-keygen -t rsa -b 4096 -C "username@example"
Si la clé SSH est bien créée, vous devriez avoir quelque chose comme ça à l'écran
- Récupérer la clé SSH
cat ~/.ssh/id_rsa.pub
Vous devriez avoir la clé qui s'affiche. Il faut la copier pour la mettre chez Gitlab, Github ou bitbucket
- Coller la clé chez Gitlab, Github ou Bitbucket
Bitbucket ⇒ Aller dans Bitbucket Settings (icône en bas à gauche) puis SSH keys. Cliquez sur le bouton Add key et coller la clé puis choisir un nom
Gitlab ⇒ Aller dans Settings (icône en haut à droite) puis SSH Keys, Coller la clé et choisir un nom puis cliquer sur Add key
Github ⇒ Aller dans Settings (icône en haut à droite) puis SSH and GPG keys. Choisir le bouton New SSH key. Choisir un nom et coller la clé
- Vérifier que la connexion fonctionne avec la clé SSH
Dans le terminal, saisir la commande suivant le site que vous utilisez
ssh -T git@bitbucket.org ou ssh -T git@gitlab.com ou ssh -T git@github.com
Utilisation de Git
Maintenant que la clé ssh est configurée, on va pouvoir utiliser Git pour le contrôle de version.
Dans le Terminal se rendre dans le dossier /publichtml
<sxh shell>
cd publichtml
</sxh>
Cloner maintenant votre projet. Quand vous êtes sur votre dépôt, il y a un bouton Clone
qui permet de connaître l'adresse du dépôt
Exemple sur Gitlab, vous pouvez choisir le Clone with SSH.
Exemple de commande pour cloner le projet:
git clone git@bitbucket.org:gdquerroy/imgshare.git
Le projet doit maintenant être dans le dossier qui porte le nom de votre dépôt. Dans l'exemple, il se trouve dans imgshare,
Configuration de PHP
Dans le terminal, saisir la commande php -v
afin de vérifier la version de PHP
php -v
Si cette commande échoue, c'est que le terminal ne trouve pas la commande php
qui se trouve dans le dossier /usr/bin
On va donc créer un alias dans le fichier .bashrc
Ouvrir le fichier avec nano
qui est un éditeur de texte en ligne de commande.
S'il y a déjà une ligne avec alias php=…
, la remplacer par la ligne ci-dessous
#ouvrir l'éditeur nano ~/.bashrc #remplacer la ligne alias php=/usr/bin/php #Petit alias Bonus qui vous permet de taper phpa à la place de php artisan alias phpa='php artisan'
ctrl + o
⇒ Pour enregistrer les modificationsctrl + x
⇒ Quitter l'éditeur
Relancer le terminal pour que les modifications soient prises en compte
Maintenant, la commande php -v
doit vous donner la version de PHP qui est installée (7.3.5 en principe)
Créer un sous-domaine
⇒ menu Sous-domaines
Choisir un sous-domaine et dans Racine du document, saisir le dossier dans lequel est installé votre application ajouter /public
à la fin.
Exemple avec le sous-domaine imgshare
Sélectionner la version de PHP
⇒ menu Gestionnaire MultiPHP
Cocher le sous-domaine et sélectionner la version PHP7.3 dans le sélecteur et valider les changements.
Vérifiez que la version de PHP est correcte
Configuration de PHP
⇒ menu Éditeur INI MultiPHP
Sélectionner le domaine. Les options disponibles apparaissent.
Vous pouvez activer
- allowurlfopen
- fileuploads * zlib.outputcompression
Pour limiter la taille des fichiers qu'on peut téléverser sur le serveur, il faut configurer ces deux variables à 8Mo par exemple
- postmaxsize ⇒ 8M
- uploadmaxfilesize ⇒ 8M
Avec l'utilisation de la bibliothèque Intervention pour redimensionner les images, il est nécessaire d'augmenter la mémoire alloué à l'application
- memory_limit ⇒ 128M ou 256M
Quand l'application sera en ligne, surveillez les messages d'erreur dans le fichier ''/public_html/imgshare/public/error_log''Cela pourra vous donner des indications s'il y a une configuration qui n'est pas adaptée.
Création de la base de données
⇒ menu Base de données MySQL
Créer une base de données. Par défaut il y a votre nom utilisateur en préfixe
Validez puis revenez sur la page précédente pour ajouter un utilisateur
Pour finir, associez l'utilisateur avec la base de données
Sur l'écran suivant, accordez tous les droits à l'utilisateur
Configuration du projet Laravel
Dans le terminal, se rendre dans le dossier de votre projet grâce à la commamde cd
Exemple: cd imgshare
- Configurer le .env
Par défaut, le fichier .env
est absent dans le dossier de l'application
Il faut aller dans le gestionnaire de fichier
pour renommer le fichier .env.example
en .env
Si le fichier n'est pas visible, il faut afficher les fichiers cachés grâce au menu paramètres
en haut à droite.
Éditer le fichier .env
pour mettre les accès à la base de données.
Ensuite dans le terminal, il faut exécuter les commandes suivantes pour configurer votre application.
- composer update (si besoin)
- composer install
- npm install
php artisan migrate
php artisan db:seed
php artisan storage:link
php artisan key:generate
Vérifier les permissions pour le fichier /public/index.php
et mettre à 644 si ce n'est pas le cas.
Pour cela, saisir dans le terminal
chmod 644 public/index.php
Vous pouvez aussi modifier les permissions dans le Gestionnaire du fichiers du Cpanel
Pour configurer le projet en production et ainsi supprimer les messages d'erreur et la Debug Bar, il faut ajuster le fichier .env
APP_ENV=production APP_DEBUG=false