Я следил за этим ссылка https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-passenger-and-apache-on-ubuntu-14-04 для установки ruby на рельсах с пассажиром на ubuntu 14.04, и я получил следующую ошибку:
'AH00112 Warning: DocumentRoot [/home/rails/testapp/public] does not exist' when it does exist.
Когда я пытаюсь ввести URL или IP-адрес в браузер, он говорит, что у меня нет разрешения на доступ к серверу, но я дословно выполнил шаги на сайт. Может ли кто-нибудь посоветовать мне здесь. Как можно скорее, если сможешь!
Я заметил, что многие люди комментируют эту статью с той же проблемой. Сразу видно, что созданный им каталог был "rails" в домашнем каталоге пользователя, и это первое местоположение, которое вы пробовали перед перемещением в / root / testapp / public
Разрешения по умолчанию сохраняйте домашние каталоги, включая root, приватными. Это означает, что, хотя вы разрешаете доступ к файлу конфигурации Apache с помощью директивы Require All Granted
, все, что нужно, это сказать Apache, что все в порядке для обслуживания файлов. Но без правильных настроек разрешений для самих папок Apache не сможет прочитать каталог, чтобы обслужить его.
Apache нужны как права на чтение и выполнение для каталога, так и права на выполнение для всех каталогов оттуда до корня. Итак, я бы переместил приложение обратно в его исходное местоположение / home / rails / testapp / public, а затем запустил эти команды, чтобы убедиться в правильности разрешений:
sudo chmod +x /
sudo chmod +x /home
sudo chmod +x /home/rails
sudo chmod +x /home/rails/testapp
sudo chmod -R +xr /home/rails/testapp/public