LINUX.ORG.RU

Ответ на: комментарий от ovax

Хочу поставить, например, mod_fastcgi... Можно по подробнее, плиз, не спец в линуксе...

sitev_ru
() автор топика

создай файл ".htaccess" (в каталоге с сайтом) и напиши туда:

AddHandler fcgid-script .fcgi
Options +ExecCGI

это настройка mod_fcgid.

mod_fcgid это боле менее стандартный модуль Апача, а mod_fastcgi — является менее стандартным решением, но настраивается примерно также (плюс-минус-что-то-там-пару-строчек)

теперь в каталоге с сайтом — твой исполняемый файл (приложение FastCGI, которое ты пишешь) должен иметь расширение *.fcgi .

внутри этого (твоего) FastCGI-приложения — принимай нулевой файловый дескриптор — это будет дескриптор UNIX-сокета (а не PIPE-канала), его и используй для accept()

##################################################

если мы предположим, что исполняемый файл твоего FastCGI-приложения имеет имя «index.fcgi», то более полное содержимое файла ".htaccess" — может быть таким:

# включаем FastCGI для файлов *.fcgi
AddHandler fcgid-script .fcgi
Options +ExecCGI

# перенаправляем запросы на "index.fcgi"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.fcgi/$1 [L]

# P.S.: также нужно убедиться что Апачевский модуль mod_fcgid — включен (не закомментирован).

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 4)
Ответ на: комментарий от sitev_ru

а где ошибка — на стороне C++ или на стороне Апача? :-)

С++-код — получает ли внутри нулевого дескриптора UNIX-сокет? (вместо PIPE-канала?)

то есть — хотя бы примерно что пошло не так — можешь сказать?

############################################################

быть может ещё в ".htaccess" нужно добавить строчку --

# поумолчанию использовать в качестве индекса эти файлы:
DirectoryIndex index.fcgi index.html

то есть полный файл ".htaccess" — получится например такой:

# включаем FastCGI для файлов *.fcgi
AddHandler fcgid-script .fcgi
Options +ExecCGI

# поумолчанию использовать в качестве индекса эти файлы:
DirectoryIndex index.fcgi index.html

# перенаправляем *все_остальные* запросы на "index.fcgi"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.fcgi/$1 [L]

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Ответ на: комментарий от sitev_ru

то есть — я хочу сказать что настройка Апача — ОЧЕНЬ не сложная.

там максимум что может быть — это например что ты забудешь установить модуль «mod_fcgid» в операционную систему, или этот модуль забудешь загрузить в Апач.

в главном конфиге Апача (НЕ в .htaccess) должно быть что-то типа

LoadModule fcgid_module modules/mod_fcgid.so

и разумеется файл «mod_fcgid.so» — должен существовать на жёстком диске.

где именно должен находиться файл «mod_fcgid.so» — зависит от твоей операционной системы. например — тут — «/etc/httpd/modules/mod_fcgid.so»

и строчка «LoadModule ... ...» — тоже где находиться будет(?), в каком-то файле, где именно зависит от операционной системы.

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 4)
Ответ на: комментарий от user_id_68054

а где ошибка — на стороне C++ или на стороне Апача? :-)
то есть — хотя бы примерно что пошло не так — можешь сказать?

не знаю... вроде бы всё правильно делаю... ошибку выдаёт:

Forbidden

You don't have permission to access /index.fcgi on this server. Apache/2.4.10 (Ubuntu) Server at 127.0.0.1 Port 80

sitev_ru
() автор топика
Ответ на: комментарий от sitev_ru

если тебе пишут «You don't have permission» — то думаю тут можно к гадалке не ходить, а просто проверить эти «permission». :-)

реально, проверь что ты не накосячил с правами на чтение-и-запуск файла «index.fcgi» (относительно пользователя Апача).

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.