apache httpd.conf

9 отговора 249 прегледа
#1

apache httpd.conf

Здравейте,

въпроса ми е може ли да се конфигурира апач уеб сървера да не изпълнява пхп скриптове от определена директория. Примерно пхп скриптовете от определена директория да се интерпритират като txt файлове.

Варианта с отнемане на правата за изпълнение (Х) за съответната директорията не ме устройват понеже там върви WebFile Browser, чрез който се ъплоадват файлове и ако директорията няма Х права Web File Browsera не работи - не ъплоадва.

Проблема е прост - неискам Сульо и Пульо да си качват там php-та и да си ги изпълняват после.

Apache/1.3.28 е сървъра

Благодаря.

Отговор
в отговор на ivo #2

Re: apache httpd.conf

<Directory /xxx/xxx/lll>
php_admin_value engine off
</Directory>

би трябвало да ти свърши работа

Отговор
в отговор на phpGuru #3

не работи

точна нещо такова имах пред вид, но уви скриптовете се изпълняват...

поставих това което спомена:

<Directory /path/to/directory>
php_admin_value engine off
</Directory>

apachectl restart

,но няма ефект

Отговор
в отговор на ivo #4

Re: не работи

В такъв случай го постави във
<VirtualHost> дефиницията за този домейн.

Това е начина. Единствения вариянт при който няма да работи ще е ако не си със mod_php ами по някаква странна причина изпълняващ пхп-то като cgi.

// Lex Talionis.
Отговор
в отговор на ivo #5

хм

явно начина е така както казвате но аз нещо бъркам...
порових в гоогле.... той каза същото...
но аз неуспях да го направя. защо?

трябва ли за целта safe_mode = on в php.ini ? май не.

когато е
safe_mode = on
PHP недостъпва файлове извън /var/www, което в крайна сметка пак не е това което желая.

ако може още хелп...

Отговор
в отговор на ivo #6

ето какво добавих

<VirtualHost 192.168.0.20>
ServerAdmin [email protected]
DocumentRoot /var/www/testdomain.com
ServerName testdomain.com
ServerAlias [линк]
# ErrorLog /var/log/apache/testdomain.com.ErrorLog
CustomLog /var/log/apache/testdomain.com.Combined combined
php_admin_flag engine off
</VirtualHost>

po nadolu:

<Directory /hda4/webUsers/testdomain.com/user1files>
php_admin_value engine off
</Directory>

и след това като изпълня:
apachectl configtest
Syntax error on line 1084 of /etc/apache/httpd.conf:
Invalid command 'php_admin_flag', perhaps mis-spelled or defined by a module not included in the server configuration

това е реда в секцията на виртуалния хост - php_admin_flag engine off

нещо не правя както трябва.

Отговор
в отговор на ivo #7

Re: ето какво добавих

конкретно тази грешка
не php_admin_flag
а php_admin_value

също така понякога подредбата на нещата може да оказва влиение

Отговор
в отговор на phpGuru #8

Re: ето какво добавих

с php_admin_value ми дава същата грешка:

Syntax error on line 1085 of /etc/apache/httpd.conf:
Invalid command 'php_admin_value', perhaps mis-spelled or defined by a module not included in the server configuration

пробвах какви ли не варианти, така стигнах и до php_admin_flag...

когато коментирам въпросния ред в VirtualHost секцията и оставя само:

<Directory /hda4/webUsers/testdomain.com/user1files>
php_admin_value engine off
</Directory>

не дава грешка, което ще рече че имам въпросния модул....

Кое в подредбата има значение?

Отговор
в отговор на ivo #9

Re: ето какво добавих

хм странна ти е работата ;-) нямам в момента кой знае кви идеи

ами подредбата, кое след кое разрешаваш и забранява, в общия случай не трябва да има влиание, но на практика по някога има

а тва за модула провери дали имаш нещо от сорта

LoadModule php4_module /usr/lib/apache/1.3/libphp4.so

в конфигурационния файл

Отговор
в отговор на phpGuru #10

Re: ето какво добавих

имам

Include /etc/apache/mod_php.conf

а там:

LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c

тоест ДА имам!

но защо като добавя php_admin_value engine off в секцията VirtualHost ми дава грешка, а в секцията <Directory> - не

наистина е странно.

Ако се сещаш още нещо което може да е...

Благодаря!

Отговор