Laravel France

Deploiement d'un projet Laravel & vuejs

Avatar de FelixTachi
FelixTachi

Bonsoir cher tous, lorsque je passe en production en effectuant ce qui suit: -composer install --optimize-autoloader --no-dev -npm install -npm run production -php artisan cache:clear -php artisan view:cache

  • configuration du .env:
APP_NAME="Archive management systeme"
APP_ENV=production
APP_KEY=base64:v7zvqzrSSb1P5aL1RTHNdZRFye9UoZSI+AtSjmKqvY4=
APP_DEBUG=false
APP_URL=http://demo.mds-cmr.com/ams/MDS_AMS6

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=198.27.....

-compression du dossier ftp -uploader le dossier compresser sur le serveur Lorsque je lance l'execution en local tout marche bien mais sur le serveur seule les .blade.php fonctionne les .vue ne marche pas. Aidez moi svp

Posté il y a 4 mois
Avatar de FelixTachi
FelixTachi

Bonsoir à tous, j'ai finis partrouver la solution sur le forum stack Overflow En precédant ainsi:

1-Go into the laravel-vue project and build the production version of the app.

2-Make sure that hidden files are visible then compress everything but the node_modules

3-Go to your cpanel, create a folder for your new app in the root (not public_html)

4-Upload and extract the compressed file into the new folder you just created

5-Move the content of the public folder except .htaccess into the root of the new folder you just made
6-Create a new .htaccess file in the root of this same folder and add these:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]


</IfModule>

7- Edit the index.php file in this same folder by changing: require DIR.'/../vendor/autoload.php'; to require DIR.'/vendor/autoload.php'; require_once DIR.'/../bootstrap/app.php'; to require_once DIR.'/bootstrap/app.php';

8-Create a subdomain for this app and set the document root to the folder we created and placed all the laravel files into

Visit the subdomain.your-domain.your-tld and the app should work.

Posté il y a 4 mois
Avatar de bestmomo
bestmomo

Salut,

Ca me paraît un bizarre comme déploiement et un peu suspect niveau sécurité.

Personnellement en gros je fais ainsi :

  • Sur le serveur j'ai un dossier sites et je crée un sous-dossier pour chaque site.
  • En local je crée mon application, je compile les assets
  • Quand tout est bon je crée le dossier sites/monnouveausite sur le serveur
  • Là j'envoie en FTP tout sauf les dossiers vendor et node_modules en faisant attention à envoyer le .env de production
  • Avec un accès SSH j'utilise composer sur le serveur (s'il n'y est pas on peut aussi envoyer un composer.phar)
  • Je fais un composer install pour charger toutes les dépendances
  • Je crée un sous-domaine (ou un nouveau domaine selon les cas) qui pointe sur mon dossier public
  • Je crée un certificat avec Let's Encrypt
  • Je mets des trucs en cache si besoin (vues, config...)

Et là ça fonctionne si j'ai rien oublié...

Posté il y a 4 mois

Vous ne pouvez pas répondre à ce sujet.