Если Вы не имеете абсолютно никакого опыта работы с Unix, Вы можете захотеть попросить кого-либо, имеющего хотя бы немного знаний по Unix помочь Вам с этой установкой. Была сделана попытка сделать это настолько простым, насколько возможно, но так как программное обеспечение совершенно отличается и зависит от ряда различных компонент, было бы не реалистично думать, что это будет идти гладко на всех системах. Возможно Вам потребуется помощь кого-либо, кто хорошо знает подробнocти о системе.
- Можете ли Вы выполнять оба метода GET и POST из программы cgi
на вашем сервере?
Это не важно если Вы, устанавливаете пакет в виде модуля
Apache. Если нет, Вы не можете использовать этот пакет. У многих ISP
CGI скрипты также запрещены или строго ограничены. Если на
вашей системе дело обстоит именно так, поговорите с вашим
системным администратором, и попросите, чтобы он / она взглянул
на этот пакет, и посмотрите, установят ли они его для Вас.
- Если на вашей системе установлен mSQL, то вам нужно знать основной каталог этой установки.
- Если на вашей системе установлен Postgres95, то вам нужно знать основной каталог этой установки.
- Если Вы собираетесь хранить лог-файл и файлы конфигурации доступа в каталоге смонтированном по NFS и ваша система не обеспечивают блокирование файлов по NFS, Вам нужно будет определить NFS_HACK переменную вручную в файле src/Makefile, и возможно предется использовать немного измененную версию библиотеки gdbm. См. файл nfs_hack.txt в каталоге doc для более подробной информации относительно этого.
- Обратить внимание, что, если Вы не заинтересованы, чтобы PHP отслеживало доступ к вашим страницам, не компилируйте эту опцию. Вы должны также опустить опцию ограничения доступа. При включении этих опций наблюдаются значительное снижение производительности.
- Если Вы устанавливаете пакет в виде модуля Apache, Вам необходимо знать расположение каталога с исходными текстами Apache.
Выполните программу установки: ./install
Вам будет задан ряд вопросов. Если Вы их не понимаете те, то просто нажимайте "Return". Заданный по умолчанию выбор должен удовлетворять требования для большинства систем. Это однако не имеет отношения к вопросам, определяющим каталог для ваших конфигурационных и лог файлов. Выберите любой каталог, к которому httpd (обычно пользователь "nobody") имеет доступ по записи. Вы можете создать этот каталог вручную где-нибудь и просто сменить владельца с помощью команды chown nobody catalog .
Шаг 2.
Войдите в каталог src: cd src
Шаг 3.
Введите команду: make
По умолчанию будет создан фактический выполнимый программный файл, именованный php.cgi , или если Вы устанавливаете пакет в виде модуля Apache, будет создан libphp.a файл.
Шаг 4. (Если Вы не устанавливаете пакет в виде модуля Apache)
Скoпируйте файл php.cgi в каталог cgi-bin вашей системы. Если у вас нет прав сделать это и вы желаете установить пакет в ваш собственный персональный каталог, вы можете сделать это, но в таком случае нужно установить setuid бит для выполняемой программы командой: chmod u+s /path/php.cgi
Если Вы не установите setuid бит для выполняемого файла, то любые файлы, созданные программой будут принадлежать пользователю с идентификатором, под которым выполняется web сервер. Если это приемлимо, то вы можете спокойно оставить setuid бит.
Шаг 4. (Если Вы устанавливаете программу в виде модуля Apache)
Перейдите в каталог src Apache, в который должны быть скопированы файлы mod_php.c и mod_php.h. Если они еще не были скопированы, что может произойти из-за проблем с правами доступа, скопируйте эти два файла вручную. Подредактируйте ваш файл Конфигурации Apache(Configuration), и добавьте в строку EXTRA_LIBS libphp.a, которая была создана в конце Шага 3. А также добавьте строку:
Module php_module mod_php.o
в самом конце файла. Затем введите: ./Configure и затем make , чтобы перекомпилировать ваш файл httpd Apache. Инсталлируйте этот файл.
Затем Вам нужно подредактировать ваш Apache conf/srm.conf файл и добавить строку :
AddType application/x-httpd-php .phtml
Это определяет новый MIME тип, application/x-httpd-php, который будет вызывать модуль PHP, для обработки любого файла с расширением .phtml . Вы можете выбрать любое расширение, которое вам по душе.
Вы можете захотеть чтобы не все могли выполнить PHP файлы. Для этого вы можете поместить вышеупомянутую AddType строку внутри <Location/path > .... < /Location > директивы в access.conf файле, чтобы только в определенных директориях вашего сервера PHP мог обрабатывать документы.
Теперь Вы готовы перезапустить ваш httpd сервер. Для более подробной информации см. примечания по конфигурированию модуля Apache.
После установки вы можете протестировать, работает ли ваша программа, введя URL, подобный следующему в вашем броузере:
http://your.site.domain/cgi-bin/php.cgi
При этом должна показаться страница, которая содержит номер версии наряду с другой полезной информацией.
Чтобы проверить работу модуля Apache , создайте любой файл с .phtml расширением, поместите в него тэг подобно: <?phpinfo () > и посмотрите будет ли он анализироваться.
http://your.site.domain/cgi-bin/php.cgi/path/file.html
Вам нужно взглянуть на раздел Переадресация CGI этой документации. При выполнении PHP/FI с переадресацией вы можете автоматически задавать чтобы URL подобно http:/your.site.domain/file.phtml мог анализироваться PHP/FI.
Это не относится к пользователям программы, выполненной в виде модуля Apache.