Попытка настроить Snorby(приложение ruby) для работы с Apache/2.4.12 и Passenger 5.0.10.

- Я успешно установил из доморощенного апача и пассажира.

brew install httpd24 passenger

- Создан /etc/apache/other/passenger.conf (как указано в Homebrew):

LoadModule passenger_module /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so
    PassengerRoot /usr/local/opt/passenger/libexec/lib/phusion_passenger/locations.ini
    PassengerDefaultRuby /usr/local/var/rbenv/versions/1.9.3-p551/bin/ruby

- Включен модуль виртуальных хостов в /usr/local/etc/apache2/2.4/httpd.conf:

# Virtual hosts
Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf

а также

LoadModule vhost_alias_module libexec/mod_vhost_alias.so

- Создан виртуальный хост в /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf:

<VirtualHost *:8080>
        ServerAdmin Andryuwka@localhost
        ServerName snorby.server.loc
        ServerAlias www.snorby.server.loc
        DocumentRoot /usr/local/var/www/snorby/public
        <Directory "/usr/local/var/www/snorby/public">
                Options Indexes FollowSymLinks Includes ExecCGI
                AllowOverride all
                Order deny,allow
                Allow from all
                #Require all granted
                Options -MultiViews
        </Directory>
</VirtualHost>

- добавлен 127.0.0.1 snorby.server.loc www.snorby.server.loc в /etc/hosts

перезапустить httpd с помощью apachectl restart

но при навигации по www.snorby.server.loc в браузере вместо запуска приложения, управляемого rails (страница входа в Snorby и информационные панели), получая только содержимое файлов /usr/local/var/www/snorby/public:

Index of /

404.html
422.html
500.html
assets/
favicon.ico
favicon.png
flash/
images/
javascripts/
robots.txt
stylesheets/

Должно быть что-то вроде этого поста (прокрутите вниз):https://www.corelan.be/index.php/2011/02/27/cheat-sheet-install-snorby-2-2-with-apache2-and- Suricata-с-barnyard2-на-убунту-10-х /

Поэтому я предполагаю, что пассажир не работает с Apache должным образом и не запускает приложение (поправьте меня, если я ошибаюсь). Что я делаю неправильно? apachectl -M | sort дает мне это (ничего с "пассажиром"):

access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
core_module (static)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
http_module (static)
log_config_module (shared)
mime_module (shared)
mpm_prefork_module (static)
php5_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
so_module (static)
status_module (shared)
unixd_module (shared)
version_module (shared)
vhost_alias_module (shared)
Loaded Modules:

Хотя доморощенный утверждает, что их apache уже настроен для работы с пассажирами, мне интересно, есть ли способ проверить это?

2 ответа2

0

Наконец парень из Homebrew проекта на GitHub указал мне в правильном направлении. По какой-то причине мой /usr/local/etc/apache2/2.4/httpd.conf, созданный с помощью установки httpd24 Homebrew, не имеет этой строки: Include /usr/local/etc/apache2/2.4/other/*.conf( хотя доморощенный утверждает, что он должен иметь его - я думаю, это было относительно недавнее изменение)

Вот почему мой модуль не включал пассажирский модуль при проверке apachectl -M | sort (например: в файле /etc/apache2/httpd.conf по умолчанию есть файл Include /private/etc/apache2/other/*.conf)

Поэтому я добавил Include /usr/local/etc/apache2/2.4/other/*.conf в мой /usr/local/etc/apache2/2.4/httpd.conf, и он работает.

0

Указатель PassengerRoot на INI-файл не имеет смысла, он должен быть каталогом. См. Документацию по адресу https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#PassengerRoot.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .