Ошибка 404 при развертывании приложения Laravel (созданного с помощью Voyager и Voyager Front-End) в Google Cloud Compute Engine, Ubuntu 18.04

Я установил Laravel, Voyager и Voyager Front-end в экземпляре Google Cloud Compute Engine (использовал последние версии).

Использование Ubuntu 18.04 в качестве ОС.

Apache в качестве сервера (даже попробовал Nginx, что привело к той же ошибке 404).

Переместил файлы на github со следующими файлами/каталогами в файле .gitignore:

/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log

Перетащил файлы в другой экземпляр Google Cloud Compute Engine.

Установил веб-приложение с помощью следующих команд/процедур:


// created database
// installed nodejs and npm

$ sudo mkdir voyager                  // name of laravel directory
$ cd voyager
$ sudo git init
$ sudo git remote add origin https://github.com/oropezaqb/voyager.git
$ git remote
$ sudo git config credential.helper store
$ sudo git pull origin master

// configured Apache or Nginx
// setup .env file

$ sudo composer install
$ sudo php artisan key:generate
$ sudo composer dump-autoload
$ sudo php artisan migrate
$ sudo npm install
$ sudo npm run dev
$ sudo * * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
$ sudo chgrp -R www-data storage bootstrap/cache
$ sudo chmod -R ug+rwx storage bootstrap/cache

Конфигурация виртуального хоста:

У меня это в /etc/apache2/sites-enabled/000-default.conf....

<VirtualHost *:80> 
  <Directory /var/www/html/voyager/public> 
    Options 
    Indexes 
    FollowSymLinks 
    MultiViews 
    AllowOverride All 
    Require all 
    granted Order allow,deny 
    allow from all 
  </Directory> 
  ServerAdmin webmaster@localhost 
  DocumentRoot /var/www/html/voyager/public 
  ErrorLog ${APACHE_LOG_DIR}/error.log 
  CustomLog ${APACHE_LOG_DIR}/access.log 
  combined 
</VirtualHost>

Но на домашней странице отображается сообщение об ошибке 404.


person bien    schedule 18.07.2019    source источник
comment
Можете ли вы включить конфигурацию виртуального хоста Apache, пожалуйста, и когда это URL-адрес, на который вы пытаетесь попасть? Кроме того, у вас включена перезапись мода apache?   -  person Petay87    schedule 18.07.2019
comment
Как сказал @ Petay87, скорее всего, проблема в конфигурации вашего виртуального хоста. Во-вторых, я не вижу причин использовать здесь «sudo» для каждой команды.   -  person dbf    schedule 18.07.2019
comment
Кроме того, sudo * * * * * php /path-to-your-project/artisan schedule:run ›› /dev/null 2›&1 неверен. * * * * * php /path-to-your-project/artisan schedule:run ›› /dev/null 2›&1 следует добавить в crontab, а не запускать как команду. ТАКЖЕ обязательно измените /path-to-your-project на фактический путь к вашему каталогу.   -  person Petay87    schedule 18.07.2019
comment
Где находится конфигурационный файл @Petay87? Вот URL-адрес 34.67.240.251. У меня включена перезапись мода apache.   -  person bien    schedule 18.07.2019
comment
Спасибо @dbf. Я постараюсь изучить, как избежать использования sudo.   -  person bien    schedule 18.07.2019
comment
Вы еще не настроили виртуальный хост? Это будет ваша проблема. Вам нужно создать виртуальный хост в /etc/apache2/sites-available, а затем использовать sudo a2ensite nameofconfig, чтобы запустить его. Это может помочь stackoverflow.com/questions/49184358/ && laravel.io/forum/04-27-2014-laravel-virtual-hosts-apache-aaah   -  person Petay87    schedule 18.07.2019
comment
Хорошо. Будет использоваться * * * * * php /path-to-your-project/artisan schedule:run ›› /dev/null 2›&1 в crontab. Спасибо. Я указал DocumentRoot /var/www/html/voyager/public в /etc/apache2/sites-enabled/000-default.conf.   -  person bien    schedule 18.07.2019
comment
@Petay87 У меня есть это в /etc/apache2/sites-enabled/000-default.conf.... ‹VirtualHost *:80› ‹Каталог /var/www/html/voyager/public› Параметры Индексы FollowSymLinks MultiViews AllowOverride All Require все предоставленные Приказ разрешить, запретить разрешить из всех ‹/Directory› ServerAdmin webmaster@localhost DocumentRoot /var/www/html/voyager/public ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log в сочетании ‹/VirtualHost ›   -  person bien    schedule 18.07.2019
comment
Когда вы делали sudo mkdir voyager, вы были в папке /var/www/html? Если нет, папка была создана в другом месте, а /var/www/html/voyager не существует, следовательно, 404.   -  person Petay87    schedule 18.07.2019
comment
@ Petay87 Да. Я сделал sudo mkdir voyager в папке /var/www/html. Я проверил. У меня есть каталог voyager в /var/www/html.   -  person bien    schedule 18.07.2019
comment
@ Petay87 У меня есть среда разработки, которая работает здесь 35.202.179.114. Только когда я нажал в другом экземпляре, я получаю ошибку 404.   -  person bien    schedule 18.07.2019