Laravel
De Hegyd Doc.
(→Procédure installation mailcatcher) |
(→Installation nodejs et npm) |
||
| Ligne 63 : | Ligne 63 : | ||
</pre> | </pre> | ||
| + | Node.js LTS (14.x) | ||
| + | <pre> | ||
| + | # As root | ||
| + | curl -sL https://rpm.nodesource.com/setup_lts.x | bash - | ||
| + | |||
| + | # No root privileges | ||
| + | curl -sL https://rpm.nodesource.com/setup_lts.x | sudo bash - | ||
| + | </pre> | ||
| + | |||
| + | Node.js Current (15.x) | ||
| + | <pre> | ||
| + | # As root | ||
| + | curl -sL https://rpm.nodesource.com/setup_current.x | bash - | ||
| + | |||
| + | # No root privileges | ||
| + | curl -sL https://rpm.nodesource.com/setup_current.x | sudo bash - | ||
| + | </pre> | ||
Il faudra forcer l'update de npm | Il faudra forcer l'update de npm | ||
Version du 22 décembre 2020 à 09:00
Pré-requis Serveur PHP
Pour fonctionner correctement Laravel a besoin de PHP :
Version >= 5.5.9 Extension PDO Extension Mbstring Extension OpenSSL Extension Tokenizer Extension Zip
NB: ces extensions sont par défaut dans PHP 5.6 sous Debian 8
Sous PHP 7 :
apt-get install php7.0-zip php7.0-mbstring
Installation du driver natif mysql :
apt-get install php5-mysqlnd
Installation de composer
http://www.johnstyle.fr/composer-installation-sur-debian-7
Télécharger composer
apt-get update && apt-get install curl curl -s https://getcomposer.org/installer | php
Déplacer composer dans le dossier /usr/local/bin/
mv composer.phar /usr/local/bin/composer
Composer est installé
composer --version
Installation nodejs et npm
Site de référence : https://github.com/nodesource/distributions
NodeJS 0.10
curl -sL https://deb.nodesource.com/setup | bash - apt-get install -y nodejs apt-get install npm
NodeJS 6 (Debian 7)
curl -sL https://deb.nodesource.com/setup_6.x | bash - apt-get install -y nodejs
NodeJS 8 (Debian 8 min)
curl -sL https://deb.nodesource.com/setup_8.x | bash - apt-get install -y nodejs
NodeJS 10 (Debian 8 min)
curl -sL https://deb.nodesource.com/setup_10.x | bash - apt-get install -y nodejs
NodeJS 12 (Debian 8 min)
curl -sL https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs
Node.js LTS (14.x)
# As root curl -sL https://rpm.nodesource.com/setup_lts.x | bash - # No root privileges curl -sL https://rpm.nodesource.com/setup_lts.x | sudo bash -
Node.js Current (15.x)
# As root curl -sL https://rpm.nodesource.com/setup_current.x | bash - # No root privileges curl -sL https://rpm.nodesource.com/setup_current.x | sudo bash -
Il faudra forcer l'update de npm
npm -g install npm@latest
Installation bower et tig
npm install -g bower apt-get install tig
Installation optipng
apt-get remove optipng npm install --global optipng-bin
Source : https://github.com/imagemin/optipng-bin
Installation Mailcatcher
Réf : https://mailcatcher.me/
Procédure installation mailcatcher
Prérequis
apt-get update apt-get install ruby-dev libsqlite3-dev rubygems build-essential
Installation Gem
Sur debian 8 :
gem install mailcatcher
Création utilisateur applicatif
useradd mailcatcher
Création script init.d
cat >> /etc/init.d/mailcatcher <<EOF
#! /bin/sh
### BEGIN INIT INFO
# Provides: mailcatcher
# Required-Start: \$remote_fs \$syslog
# Required-Stop: \$remote_fs \$syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mailcatcher
# Description: This file starts and stops mailcatcher daemon
#
### END INIT INFO
MAILCATCHER_EXEC=`which mailcatcher`
case "\$1" in
start)
su mailcatcher -c 'mailcatcher --http-ip 0.0.0.0'
;;
stop)
killall mailcatcher
sleep 5
;;
restart)
killall mailcatcher
sleep 5
su mailcatcher -c 'mailcatcher --http-ip 0.0.0.0'
;;
*)
echo "Usage: mailcatcher {start|stop|restart}" >&2
exit 3
;;
esac
EOF
Ajouts des droits d'execution du script
chmod 775 /etc/init.d/mailcatcher
Lancement automatique au démarrage de la VM
update-rc.d mailcatcher defaults
Démarrage mailcatcher
/etc/init.d/mailcatcher start
Configuration Apache2
Il faut remplacer FQDN pour le nom complet de la vm (demander à Antoine la création de l'entrée DNS)
Ajouter au vhost du projet
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:1080/
ProxyPassReverse / http://localhost:1080/
ServerName mailcatcher.FQDN
ServerAlias *.mailcatcher.FQDN
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from 46.18.122.14
Allow from 176.31.218.41
Allow from 88.161.155.75
Allow from 81.252.255.73
Allow from 79.98.21.16
Allow from 78.238.152.36
Allow from 37.32.61.134
#ip firewall
Allow from 86.195.180.237
Allow from 105.157.136.41
Allow from 88.180.237.39
Allow from 89.81.145.139
Allow from 41.249.105.102
Allow from 92.151.4.18
Allow from 82.120.72.45
Allow from 41.142.242.218
Allow from 185.132.64.180
AuthType Basic
AuthName "MailCatcher"
AuthUserFile /var/projects/common/.htpasswd
Require valid-user
Satisfy any
</Proxy>
</VirtualHost>
Activer mod proxy
a2enmod proxy_http proxy
Redémarrer l'apache
service apache2 restart
Tester sur l'adresse http://mailcatcher.FQDN_VM
-- Pour executer plusieurs instances, il faut modifier le port d'écouter smtp et http dans le fichier init.d :
Exemple:
cp /etc/init.d/mailcatcher /etc/init.d/mailcatcher-galilea
puis spécifier le nouveau port dans la commande de lancement (vérifier les ports en écoute avec un netstat -plnt)
case "$1" in start) su mailcatcher -c 'mailcatcher --http-ip 0.0.0.0 --smtp-port 1026 --http-port 1081' ;; stop) killall mailcatcher sleep 5 ;; restart) killall mailcatcher sleep 5 su mailcatcher -c 'mailcatcher --http-ip 0.0.0.0 --smtp-port 1026 --http-port 1081' ;; *)
Attention tout stop/redémarrage du service stoppera toutes les instances mailcatcher présentes sur le serveur (présence du killall) !!!!
Installation d'un certificat auto-signé pour la preprod (si besoin)
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout preprod.redlink.hegyd.net.key -out preprod.redlink.hegyd.net.crt
Ajout du vhost dans le fichier de conf apache :
<VirtualHost *:443>
DocumentRoot /var/projects/redlink/preprod/public
ServerName preprod.redlink.hegyd.net
ServerAlias *.preprod.redlink.hegyd.net
SetEnv APPLICATION_ENV preproduction
SSLENgine On
SSLCertificateFile /etc/ssl/preprod.redlink.hegyd.net/preprod.redlink.hegyd.net.crt
SSLCertificateKeyFile /etc/ssl/preprod.redlink.hegyd.net/preprod.redlink.hegyd.net.key
Alias /media /var/projects/redlink/preprod/storage
<directory /var/projects/redlink/preprod/storage>
options indexes followsymlinks
order allow,deny
allow from all
</directory>
</VirtualHost>
