Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
119
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 35. PHP: Hypertext Preprocessor

531

max_execution_time memory_limit

;Error handling and logging error_reporting display_errors display_startup_errors log_errors

track_errors html_errors error_log

warn_plus_overloading

;Data Handling

;arg_separator.output ;arg_separator.input variables_order register_globals register_argc_argv post_max_size

;Magic Quotes magic_quotes_gpc magic_quotes_runtime magic_quotes_sybase auto_prepend_file auto_append_file default_mimetype default_charset ;always_populate_raw_post_data

;Paths and Directories ;include_path

doc_root user_dir extension_dir enable_dl

;cgi.force_redirect

;cgi.redirect_status_env

;File Uploads

file_uploads ;upload_tmp_dir upload_max_filesize

;Fopen wrappers allow_url_fopen ;from

;Dynamic Extensions extension

[Syslog] define_syslog_variables ;sendmail_path

=30

=8M

=E_ALL

=Off

=Off

=On

=Off

=Off

=syslog

=Off

="&" ; Default is "&".

=";&" ; Default is "&".

="GPCS"

=Off

=On

=8M

=Off

=Off

=Off

=

=

="text/html"

="koi8-r"

=On

=".:/php/includes"

=/usr/lib/php

=Off

=On

=

=Off

=1M

=On

="user@bruy.info"

=mysql.so

=Off

=

532

Часть 10. Программное обеспечение для организации службы HTTP-сервера

 

[SQL]

 

 

sql.safe_mode

= Off

 

[ODBC]

 

 

odbc.allow_persistent

= Off

 

odbc.check_persistent

= On

 

odbc.max_persistent

= -1

 

odbc.max_links

= -1

 

odbc.defaultlrl

= 4096

 

odbc.defaultbinmode

= 1

 

[MySQL]

 

 

mysql.allow_persistent

= Off

 

mysql.max_persistent

= -1

 

mysql.max_links

= -1

 

mysql.default_port

=

 

mysql.default_socket

= /var/lib/mysql/mysql.sock

 

mysql.default_host

=

 

mysql.default_user

=

 

mysql.default_password

=

 

[bcmath]

 

 

bcmath.scale

= 0

 

[browscap]

 

 

;browscap

= extra/browscap.ini

 

[Session]

 

 

session.save_handler

= files

 

session.save_path

= /tmp

 

session.use_cookies

= 1

 

session.name

= PHPSESSID

 

session.auto_start

= 0

 

session.cookie_lifetime

= 0

 

session.cookie_path

= /

 

session.cookie_domain

=

 

session.serialize_handler

= php

 

session.gc_probability

= 1

 

session.gc_maxlifetime

= 1440

 

session.referer_check

=

 

session.entropy_length

= 0

 

session.entropy_file

=

 

;session.entropy_length

= 16

 

;session.entropy_file

= /dev/urandom

 

session.cache_limiter

= nocache

 

session.cache_expire

= 180

 

session.use_trans_sid

= 0

 

url_rewriter.tags

=

 

"a=href,area=href,frame=src,input=src,form=fakeentry"

 

[Assertion]

 

 

;assert.active

= On

 

;assert.warning

= On

 

;assert.bail

= Off

 

;assert.callback

= 0

 

;assert.quiet_eval

= 0

[Sockets]

Глава 35. PHP: Hypertext Preprocessor

533

sockets.use_system_read

= On

Ниже приведены краткие описания наиболее критичных, с точки зрения обеспечения безопасности и производительности сервера, директив, используемых в приведенном выше конфигурационном файле. С описаниями остальных директив вы можете ознакомиться в документации по PHP.

Директива:

engine = On

обычно используется для включения и отключения возможности интерпретации файлов, содержащих PHPкод, в некоторых каталогах и виртуальных серверах при интеграции PHP c Apache HTTP Server. В рассматриваемой тривиальной конфигурации мы разрешаем интерпретацию файлов, содержащих PHP-код, во всех каталогах сервера. С примерами более сложных вариантов конфигурации можно ознакомится в документа-

ции по PHP и Apache HTTP Server.

Директива:

short_open_tag = On

используется для включения и отключения обработки тэгов сокращенной формы открывающего PHP-тэга - <? ?>, значение которых эквивалентно тэгу <?php ?>. Если вы планируете использовать PHP совместно с XML, отключите эту опцию. Отключение этой опции может потребовать внесения изменений в PHP-коды программного обеспечения, используемого на вашем сервере, т. к. использование сокращенных тэгов очень популярно у многих разработчиков.

Директива: asp_tags = Off

используется для включения и отключения обработки тэгов вида <% %>, в дополнение к обычным тегам <?php ?>. Включение это опции имеет смысл, если вы используете программное обеспечение, написанное на ASP (Active Server Page).

Директива:

precision = 14

используется для определения количества знаков в числах в формате плавающей точки. Директива:

y2k_compliance = Off

используется для включения принудительной поддержки в PHP средств предотвращения ошибок 2000 года. Включение этой опции может сделать ваш сервер недоступным для старых браузеров.

Директива

output_buffering = Off

используется для включения и отключения буферизации вывода. При включенной опции PHP сможет отправлять заголовки, например, cookies, даже после передачи основного содержания. Для повышения производительности сервера мы рекомендуем отключить эту опцию, используя значение по умолчанию – "off".

Директива:

output_handler =

используется для перенаправления вывода сценариев PHP-кода в некоторую функцию. Эта возможность может быть использована, например, для передачи клиентским программам, поддерживающим gzipперекодировку, содержания документа в сжатом виде. Использование это опции предъявляет достаточно высокие требования к производительности сервера, и поэтому мы рекомендуем не использовать ее, оставив соответствующую строку пустой.

Директива:

zlib.output_compression = On

используется для включения и выключения сжатия файлов, отправляемых клиентским программам с использованием функций библиотеки zlib. Включение этой опции может существенно повысить время их получения пользователями, подключенных к Интернет через каналы связи с малой пропускной способностью, увеличивая при этом нагрузку на оперативную память и процессор.

Директива:

implicit_flush = Off

обычно используется при отладке и негативно влияет на производительность сервера. Во всех других случаях рекомендуется ее отключить.

Директива:

allow_call_time_pass_reference = Off

используется для включения и выключения возможности передачи функциям аргументов не в виде значений, а в виде ссылок на соответствующие значения. По умолчанию для этой опции установлено значение On. Протестируйте работоспособность ваших программ при значении "off", и если программы будут работать нормально, оставьте его. В противном случае установите значение "on".

Директива:

safe_mode = On

является одной из наиболее важных, с точки зрения обеспечения безопасности вашего сервера, директив. При ее включении PHP осуществляет проверку владельца обрабатываемого сценария и в случае вызова

534

Часть 10. Программное обеспечение для организации службы HTTP-сервера

функций, обращающихся к файлам, разрешает доступ к ним только, если установленные ограничения на доступ к файлу позволяет пользователю, от имени которого выполняется сценарий, получать доступ к файлу. Это может вызывать определенные проблемы при эксплуатации и инсталляции некоторых программ, написанных на PHP.

Директива safe_mode_gid = Off

используется для смягчения ограничений, устанавливаемых директивой safe_mode. При ее включении (safe_mode_gid = On) доступ к файлам осуществляется только по результатам сравнения группы пользователя, от имени которого выполняется сценарий, и группы пользователя владельца файла, к которому сценарий обращается.

Директива:

safe_mode_include_dir = /var/lib/mysql

используется для отмены ограничений, устанавливаемых директивами safe_mode и safe_mode_gid для определенного каталога. В рассматриваемом примере – это каталог /var/lib/mysql, содержащий файлы баз данных.

Директива: safe_mode_exec_dir =

используется для отмены ограничений, накладываемых включением опции safe_mode на выполнение функций PHP в определенных каталогах.

Директива:

;open_basedir =

используется для наложения ограничений при включенной опции safe_mode на все операции с файлами в определенных каталогах. Использование этой директивы открывает широкие возможности при конфигурировании отдельных каталогов и виртуальных серверов.

Директива:

safe_mode_allowed_env_vars = PHP_

используется для определения списка, содержащего префиксы имен переменных, разделенных запятыми, изменение которых разрешено пользователям при включенной опции safe_mode.

Директива:

safe_mode_protected_env_vars = LD_LIBRARY_PATH

используется для определения списка переменных окружения, которые не должны изменяться пользователями при включенной опции safe_mode.

Директива:

disable_functions =

определяет список функций, использование которых запрещено. Директива:

expose_php = Off

используется для включения и отключения возможности присутствия в заголовках, выдаваемых Webсервером, информации о наличии PHP на сервере. Для исключения этой информации из заголовков измените устанавливаемое значение по умолчанию "on" на "off".

Директива:

display_errors = Off

используется для включения и отключения вывода сообщений пользователям об ошибках. Мы настоятельно рекомендуем установить значение "off", т. к. сообщения об ошибках содержат много конфидециальной информации, например, о путях к различным файлам, находящимся на вашем сервере.

Директива:

log_errors = On

используется для включения регистрации сообщений об ошибках связанных, с выполнением сценариев PHP. Совместное использование этой и предыдущей директивы позволяет организовать отладку PHPсценариев без разглашения конфиденциальной информации о структуре каталогов сервера обычным пользователям.

Дирекитива:

register_globals = Off

используется для предотвращения изменения различных переменных путем импортирования соответствующих выражений в информацию, легитимно принимаемую сервером от внешних пользователей. К сожалению, некоторые написанные на PHP программы не могут нормально работать при отключении этой опции. Попробуйте установить значение register_globals = Off, протестируйте работоспособность вашего программного обеспечения. Если все работает нормально, оставьте выбранное значение, в противном случае измените его на "on".

Директива: enable_dl = Off

Глава 35. PHP: Hypertext Preprocessor

535

используется для разрешения и запрещения использования функции PHP dl(), предназначенной для динамической загрузки расширений PHP. Использование значения "on" опасно, т. к. позволяет легко обойти все ограничения, накладываемые директивами safe_mode и open_basedir.

Директива:

file_uploads = Off

используется для разрешения и запрещения загрузки файлов на сервер. Настоятельно рекомендуем запретить использование загрузки файлов на сервер.

Директива вида:

extension = mysql.so

используется для разрешения использования расширений, обеспечивающих поддержку взаимодействия PHP с внешними приложениями. В рассматриваемом примере мы разрешили использование расширений, реализующих поддержку взаимодействия PHP с сервером баз данных MySQL.

Конфигурационный файл /etc/httpd/conf/httpd.conf

Для интеграции PHP с Apache HTTP Server необходимо выполнить следующие операции.

Шаг 1

 

Добавьте в конец подраздела

Dynamic Shared Object (DSO) Support файла

/etc/httpd/conf/httpd.conf следующую строку:

LoadModule php4_module

/usr/lib/httpd/modules/libphp4.so

Шаг 2

Проверьте наличие и при необходимости добавьте в файл /etc/httpd/conf/httpd.conf следующие строки:

AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 AddType application/x-httpd-php .php4 AddType application/x-httpd-php .phtml AddType application/x-httpd-php .shtml

AddType application/x-httpd-php-source .phps

Тестирование PHP

Войдите с систему от имени обычного пользователя, например, karlnext.

Шаг 1

Проверьте работоспособность PHP в режиме командной строки, для этого создайте файл index.php, содержащий следующие строки:

<?php

echo phpinfo();

?>

и выполните команду:

[karlnext@test karlnext]$ php index.php

Если на экране вы увидите примерно следующее (для экономии места мы приводим только несколько первых строк вывода):

phpinfo()

PHP Version => 4.3.2

System => Linux test.bruy.info 2.4.19-grsec #4 Суб Апр 5 17:15:56 MSD 2003 i686

Build Date => Jul 18 2003 10:11:54

Configure Command => './configure' '--exec-prefix=/usr' '--with- layout=GNU' '--with-apxs2=/usr/sbin/apxs' '--with-config-file- path=/etc/httpd' '--with-exec-dir=/usr/bin' '--with-openssl' '--with- zlib' '--with-bz2' '--with-gd' '--with-ttf' '--with-png' '--with-jpeg- dir=/usr' '--with-png-dir=/usr' '--with-freetype-dir=/usr' '--with-expat- dir=/usr' '--with-gmp' '--with-xml' '--with-pear=/usr/share/pear' '-- with-mysql=shared,/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '-- with-pspell' '--disable-debug' '--disable-rpath' '--disable-posix' '-- enable-discard-path' '--enable-safe-mode' '--enable-magic-quotes' '--

536 Часть 10. Программное обеспечение для организации службы HTTP-сервера

enable-dmalloc' '--enable-bcmath' '--enable-dio' '--enable-gd-native-ttf' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--enable- versioning' '--enable-pic' '--enable-inline-optimization' '--enable- memory-limit'

Server API => Command Line Interface Virtual Directory Support => disabled

Configuration File (php.ini) Path => /etc/httpd/php.ini PHP API => 20020918

PHP Extension => 20020429 Zend Extension => 20021010 Debug Build => no

Thread Safety => disabled

Registered PHP Streams => php, http, ftp, https, ftps, compress.bzip2, compress.zlib

This program makes use of the Zend Scripting Language Engine: Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies

_______________________________________________________________________

Configuration PHP Core

Directive => Local Value => Master Value

то PHP в режиме командной строки работает нормально, и вы можете использовать его для написания различных сценариев, запускаемых из командного интерпретатора. Неплохо проверить все строки вывода на предмет соответствия полученной конфигурации PHP вашим требованиям.

Шаг 2

Проверьте работоспособность совместной работы PHP и Apache HTTP Sever. Для этого запустите (перезапустите) Web-сервер:

[karlnext@test karlnext]$ sudo /etc/init.d/httpd start

Password:$ecretnoe_Sl0v0

Запускается httpd: [ОК]

Разместите в каком-нибудь каталоге, обслуживаемом вашим сервером, например,

/var/www/eshop/html/, файлы top.php, union12345.php и down.php, содержание которых при-

ведено в самом начале этой главы для иллюстрации возможностей PHP. После чего выполните команду:

[karlnext@test karlnext]$ lynx http://eshop.bruy.info/union12345.php

Если увидите примерно следующее:

Пример использования PHP

Смысловое содержание страницы

Команды: стрелки - перемещение, '?' - помощь, 'q' - выход, '<-' - назад. Стрелки: Вверх, Вниз - перемещение. Вправо - переход по ссылке; Влево -

возврат. H)elp O)ptions P)rint G)o M)Глав экран Q)uit /=поиск

[delete]=список истории

то PHP правильно интегрирован с Web-сервером, и вы можете использовать его для написания сценариев, обслуживаемых Web-сервером.

Шаг 3

Протестируйте работоспособность всего программного обеспечения, содержащего PHP-код, использование которого предполагается на вашем сервере. В случае необходимости внесите соответствующие из-

менения в конфигурационные файлы /etc/httpd/php.ini и /etc/httpd/conf/httpd.conf.

Выполнение PHP в окружении chroot-jail

Потенциальные уязвимости PHP, как и любого другого программного обеспечения, могут использоваться для реализации атак на вашу систему. Поэтому для повышения безопасности вашей системы PHP можно заставить работать в окружении chroot-jail. Это не простая задача, при этом может потребоваться дополнительные и не всегда заканчивающиеся успехом попытки по адаптации программ (сценариев), содер-

Глава 35. PHP: Hypertext Preprocessor

537

жащих PHP-код, для работы в окружении chroot-jail. Тем не менее, если вы все-таки желаете протестировать работоспособность вашего сервера в относительно безопасном окружении, руководствуйтесь ниже приведенными рекомендациями. Если вы собираетесь использовать Apache HTTP Server с поддержкой PHP и модуля mod_perl, пропустите этот раздел и вернитесь к нему после инсталляции и настройки поддержки mod_perl в обычной среде. В этом случае перенос необходимых файлов в окружение chroot jail лучше осуществлять сразу для Apache HTTP Server и всех поддерживаемых им модулей сторонних разработчиков, руководствуясь при этом рекомендациями этой, предыдущей и последующей глав.

Шаг 1

Выполните все рекомендации предыдущей главы по переносу и тестированию Apache HTTP Server в окружение chroot-jail. Только после удачного тестирования перейдите к следующему шагу.

Шаг 2

Остановите Apache HTTP Server:

[karlnext@test karlnext]$ sudo /etc/init.d/httpd

start

Password:$ecretnoe_Sl0v0

[ОК]

 

Останавливается httpd:

 

Шаг 3

Перенесите файлы, необходимые для работы PHP, в окружение chroot-jail:

[root@test /]# mv /usr/lib/httpd/modules/libphp4.so

/chroot/httpd/usr/lib/httpd/modules/

[root@test /]# mv /usr/lib/php /chroot/httpd/usr/lib [root@test /]# mv /usr/share/pear/ /chroot/httpd/usr/share/ [root@test /]# mv /etc/httpd/php.ini /chroot/httpd/etc/httpd/

ЗАМЕЧАНИЕ Лучше сразу не переносить соответствующие файлы и каталоги, а скопировать их. В этом случае, если PHP и использующее его программное обеспечение будет работоспособно в окружении chroot-jail, вы в дальнейшем всегда сможете уничтожить более не нужные файлы, созданные при инсталляции и конфигурировании PHP в обычной среде. В случае, если PHP или использующее его программное обеспечение окажется не работоспособным, вы всегда сможете вернуться к прежней работоспособной конфигурации.

___________________

Если вы собираетесь также использовать PHP в режиме командной строки, то вы должны

СКОПИРОВАТЬ, А НЕ ПЕРЕНЕСТИ

указанные выше файлы и каталоги.

Шаг 4

Составьте список библиотек, используемых libphp4.so, анализируя вывод следующей команды:

[root@test /]# ldd /chroot/httpd/usr/lib/httpd/modules/libphp4.so libexpat.so.0 => /usr/lib/libexpat.so.0 (0x4c786000) libpspell.so.4 => /usr/lib/libpspell.so.4 (0x4c7a6000) libgmp.so.3 => /usr/lib/libgmp.so.3 (0x4c7c1000) libpng.so.2 => /usr/lib/libpng.so.2 (0x4c7e9000) libz.so.1 => /usr/lib/libz.so.1 (0x4c80a000)

libbz2.so.1 => /usr/lib/libbz2.so.1 (0x4c818000) libssl.so.0.9.7 => /lib/libssl.so.0.9.7 (0x4c827000) libcrypto.so.0.9.7 => /lib/libcrypto.so.0.9.7 (0x4c857000) libdmalloc.so => /usr/lib/libdmalloc.so (0x4c95d000) libresolv.so.2 => /lib/libresolv.so.2 (0x4c9a4000) libm.so.6 => /lib/i686/libm.so.6 (0x4c9b7000)

libdl.so.2 => /lib/libdl.so.2 (0x4c9d9000) libttf.so.2 => /usr/lib/libttf.so.2 (0x4c9dc000)

libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4ca07000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4ca46000) libnsl.so.1 => /lib/libnsl.so.1 (0x4ca64000)

libc.so.6 => /lib/i686/libc.so.6 (0x4ca79000) libltdl.so.3 => /usr/lib/libltdl.so.3 (0x4cbb0000) libpspell-modules.so.1 => /usr/lib/libpspell-modules.so.1

(0x4cbb7000)

libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4cbba000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0957e000)

538

Часть 10. Программное обеспечение для организации службы HTTP-сервера

В результате вы получите список библиотек, используемых модулем libphp4.so. Однако их не всегда бывает достаточно для его нормального функционирования:

/usr/lib/libexpat.so.0;

/usr/lib/libpspell.so.4;

/usr/lib/libpng.so.2;

/usr/lib/libz.so.1;

/usr/lib/libbz2.so.1;

/lib/libssl.so.0.9.7;

/lib/libcrypto.so.0.9.7;

/usr/lib/libdmalloc.so;

/lib/libresolv.so.2;

/lib/i686/libm.so.6;

/lib/libdl.so.2;

/usr/lib/libttf.so.2;

/usr/lib/libfreetype.so.6;

/usr/lib/libjpeg.so.62;

/lib/libnsl.so.1;

/lib/i686/libc.so.6;

/usr/lib/libltdl.so.3;

/usr/lib/libpspell-modules.so.1;

/usr/lib/libstdc++-libc6.2-2.so.3.

Шаг 5

Скопируйте библиотеки в соответствующие каталоги окружения chroot-jail:

[root@test /]# cp /usr/lib/libexpat.so.0 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libpspell.so.4 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libpng.so.2 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libz.so.1 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libbz2.so.1 /chroot/httpd/usr/lib/ [root@test /]# cp /lib/libssl.so.0.9.7 /chroot/httpd/lib/ [root@test /]# cp /lib/libcrypto.so.0.9.7 /chroot/httpd/lib/ [root@test /]# cp /usr/lib/libdmalloc.so /chroot/httpd/usr/lib/ [root@test /]# cp /lib/libresolv.so.2 /chroot/httpd/lib/ [root@test /]# cp /lib/i686/libm.so.6 /chroot/httpd/lib/i686/ [root@test /]# cp /lib/libdl.so.2 /chroot/httpd/lib/

[root@test /]# cp /usr/lib/libttf.so.2 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libfreetype.so.6 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libjpeg.so.62 /chroot/httpd/usr/lib/ [root@test /]# cp /lib/libnsl.so.1 /chroot/httpd/lib/

[root@test /]# cp /lib/i686/libc.so.6 /chroot/httpd/lib/i686/ [root@test /]# cp /usr/lib/libltdl.so.3 /chroot/httpd/usr/lib/

[root@test /]# cp /usr/lib/libpspell-modules.so.1 /chroot/httpd/usr/lib/ [root@test /]# cp /usr/lib/libstdc++-libc6.2-2.so.3

/chroot/httpd/usr/lib/

Шаг 6

Протестируйте работоспособность модуля libphp4.so, запустив Web-сервер:

[karlnext@test karlnext]$ sudo /etc/init.d/httpd start Password:$ecretnoe_Sl0v0

При этом вы можете получить сообщение об ошибке:

Запускается httpd: Syntax error on line 57 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/php/libphp4.so into server: libgmp.so.3: cannot open

shared object file: No such file or directory

[СБОЙ]

содержащее информацию об отсутствии какой-нибудь библиотеки, в рассматриваемом примере – libgmp.so.3.

Глава 35. PHP: Hypertext Preprocessor

539

В этом случае (если вы забыли, где находится требуемая библиотека) определите путь к ней с использованием команды:

[root@test /]# whereis libgmp.so.3

libgmp.so: /usr/lib/libgmp.so.3 /usr/lib/libgmp.so

и скопируйте необходимые файлы в соответствующие каталоги окружения chroot-jail:

[root@test /]# cp /usr/lib/libgmp.so.3 /usr/lib/libgmp.so

/chroot/httpd/usr/lib/

Выясните, какие еще библиотеки используются libgmp.so.3 в соответствие с алгоритмом, используемым в шаге 4. Нам повезло, т. к. выяснилось, что никакие библиотеки, кроме уже скопированных в окружение chroot-jail ранее, не требуются. В результате сервер запустился без проблем в окружении chroot-jail c поддержкой модуля libphp4.so:

[karlnext@test karlnext]$ sudo /etc/init.d/httpd start

Password:$ecretnoe_Sl0v0

Запускается httpd: [ОК]

Шаг 7

Протестируйте работоспособность сервера в окружении chroot-jail c php4_module, воспользовавшись рекомендациями раздела «Тестирование PHP». Результаты тестирования должны быть идентичны результатам, полученным при тестировании работоспособности сервера, запущенного в обычном окружении.

540

Часть 10. Программное обеспечение для организации службы HTTP-сервера

Глава 36

mod_perl– модуль, позволяющий включить интерпретатор языка Perl непосредст-

венно в Apache HTTP Server

В этой главе:

1. Ограничения и допущения

2.Пакеты

3.Установка из rpm-пакетов

4.Компиляция, оптимизация и инсталляция mod_perl

5.Конфигурирование mod_perl

6.Тестирование mod_perl

7.Выполнение mod_perl в окружении chroot-jail

Соседние файлы в предмете Информатика