Попытка заставить apache mod_fcgid работать с конфигурацией виртуального хоста для приложения C ++ - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь запустить приложение fastCGI C ++ с помощью fcgid_module, но застрял в том, в чем может быть проблема. Вот моя конфигурация VHosts:

RewriteEngine on

<VirtualHost *:80>
    ServerAdmin admin@kohlodt.com
    DocumentRoot "/usr/local/srv/blog"
    ServerName blog.kohlodt.com
    ServerAlias www.blog.kohlodt.com
    ErrorLog "/var/log/httpd/blog.kohlodt.com-error_log"
    CustomLog "/var/log/httpd/blog.kohlodt.com-access_log" common

    RewriteRule ^(/media/.*)$ $1 [PT]
    RewriteRule ^(/tick/.*)$ ^/kibble/$1 [PT]
    RewriteRule ^(/favicon\.ico)$ $1 [PT]
    RewriteRule ^/(.*)$ /cppblog/$1 [QSA,L]

    <Directory "/usr/local/srv/blog">
    AllowOverride All
    Require all granted
    Options FollowSymLinks
    </Directory>

    <Directory "/usr/local/share/cppblog/media/">
        AllowOverride All
        Require all granted
    </Directory>

    <Directory "/usr/local/bin/">
        AllowOverride All
    Require all granted
    </Directory>

    FcgidWrapper "/usr/local/srv/blog/cppblog -c /usr/local/share/cppblog/config.js"

    AliasMatch "^/media/(.*)$" "/usr/local/share/cppblog/media/$1"
    ScriptAliasMatch ^/cppblog(.*)$ /usr/local/srv/blog/cppblog$1

    AddHandler fcgid-script /usr/local/srv/blog/cppblog
</VirtualHost>

Все, что я получаю, это 404 ошибки, когда я пытаюсь go указать имя сервера. Я искал похожие ситуации в stackOverflow, но все они, похоже, работают без значимых различий между тем, что у меня есть, и тем, что есть в ответах. Единственный намек, который я получаю, - это то, что правила перезаписи вообще не срабатывают. Если я go перехожу на blog.kohlodt.com, предположительно, URL-адрес должен быть изменен на blog.kohlodt.com/cppblog/, но этого не происходит. Проверка журнала доступа подтверждает, что запрос GET запрашивает «/», а не «/cppblog/».

:: Edit ::

Некоторая дополнительная информация. Мое приложение fastcgi, cppblog, находится за пределами документа root, но документ root действительно имеет символьную ссылку на него с тем же именем. И символическая ссылка, и двоичный файл приложения fastcgi имеют разрешения, установленные на 'apache. apache', который является пользователем и группой, под которыми apache запускается соответственно.

Я полностью в растерянности , и я не знаю, что делаю не так. Любая помощь будет оценена. Спасибо за ваше время.

...