2017-10-11 17 views
0

été à la recherche depuis 3 jours sur la configuration de laravel 5.4 sur mon système linux mint 18.2 sous Apache 2.4. Lorsque le serveur apache démarre et que je tape manuellement dans localhost dans le navigateur, il affiche la page d'accueil par défaut de laravel, mais quand j'essaie d'y accéder via l'aperçu en direct entre parenthèses (live preview base url: http://localhost comme projet laravel pro dans/var/www/html /) mais il jette erreur interne du serveur correspondant aux erreurs dans ma configuration apache.Ainsi, j'ai mis en avant mon fichier .htaccess, fichier 000-default.conf dans le répertoire de Apache2 et Apache2. fichiers: Une conf chose importante: je suis mon dossier projet pro sous/var/www/html/Rien d'accessible dans mon projet Laravel à l'exception de la page d'accueil

1. 000-default.conf(sites-enabled) 


<VirtualHost *:80> 

    ServerName localhost 

    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/pro/public 

    <Directory /var/www/html/pro/public> 
    Options Indexes +FollowSymLinks 
    AllowOverride All 
    Require all granted 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 


2. apache2.conf 



Mutex file:${APACHE_LOCK_DIR} default 
    PidFile ${APACHE_PID_FILE} 
    Timeout 300 
    KeepAlive On 
    MaxKeepAliveRequests 100 
    KeepAliveTimeout 5 
    User ${APACHE_RUN_USER} 
    Group ${APACHE_RUN_GROUP} 
    HostnameLookups Off 

    ErrorLog ${APACHE_LOG_DIR}/error.log 

    LogLevel warn 

    IncludeOptional mods-enabled/*.load 
    IncludeOptional mods-enabled/*.conf 

    Include ports.conf 

    <Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Require all denied 
    </Directory> 

    <Directory /usr/share> 
    AllowOverride None 
    Require all granted 
    </Directory> 

    <Directory /var/www/html/> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Require all granted 
    </Directory> 

    AccessFileName .htaccess 

    <FilesMatch "^\.ht"> 
    Require all denied 
    </FilesMatch> 

    IncludeOptional conf-enabled/*.conf 
    IncludeOptional sites-enabled/*.conf 
    Include /etc/phpmyadmin/apache.conf 

    3 .htaccess (/var/www/html/pro/public/.htaccess) 



<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 
    RewriteEngine On 
    RewriteBase /var/www/html/pro/public/ 

    # 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> 

merci avant de la main!

+0

avez-vous servi le projet laravel par ce cmd :: php artisan serve? –

+0

@GauravGupta oui je l'ai fait avant de poster cette question elle-même! et c'est la seule raison que je peux voir ma page d'accueil en cours d'exécution et rien d'autre – acaman

Répondre

0

Toutes vos routes seraient disponibles après index.php, je veux dire si l'URL de votre itinéraire est abc, alors il sera ouvert comme http://localhost/index.php/abc. Vous n'avez plus besoin de changer quoi que ce soit dans le fichier .htacesss.

Aller à la racine de votre projet et de donner lecture d'écriture des autorisations d'exécution, de sorte que Laravel sera en mesure de mettre en cache le fichier dans bootstrap/cache répertoire et capable de créer votre fichier journaux à l'intérieur stockage/logs répertoire.

sudo chmod -R 777 bootstrap/cache 
sudo chmod -R 777 storage/logs 

Si votre projet ne s'est pas exécuté après cela également, vous devez parfois donner cette autorisation également.

sudo chmod -R 777 vendor/ storage/ 

Exécuter ces trois commandes après

sudo a2ensite 000-default.conf 
sudo a2enmod rewrite 
sudo service apache2 restart 

votre itinéraire doit être servi après localhost.

Espérons que cela aidera :)

+0

qui a aidé :) – acaman

+0

Heureux d'aider :) – Vikash

+0

upvote cette réponse aussi, il pourrait aider d'autres aussi car c'est un problème commun: P, il peut économiser beaucoup de temps. Je me suis aussi coincé à ce moment-là tellement de fois :) – Vikash

0

Essayez d'accorder des autorisations de lecture/écriture sur votre dossier de stockage et d'amorçage dans laravel. Configurez également les hôtes virtuels si vous le pouvez. Référez here.