![]() |
![]() |
| http://kurepin.ru/php/make/ |
|
Хочу предупредить сразу, что на данный выпуск иду не сознательно, а под давлением , в котором постоянно муссируются проблемы, связанные со сборкой и установкой программного обеспечения для поддержки web-сайтов. А если говорить точнее, проблемы сборки mysql, apache, php и т.п. в разных вариантах. Вот и пообещал я, что изложу свои пристрастия и обычаи в этом деле. Ничего нового или оригинального я не скажу. Просто покажу, как это делаю я. Не стоит принимать это за безукоризненное руководство к действию. Скорее, это инструкция для тех, кто сам не может справиться со сборкой данного софта. Начнем с платформы. Под win'32 ничего, в общем-то собирать не надо, все поставляется уже в скомпилированном виде. Можно устанавливать все компоненты по отдельности, можно скопом. Вариантов много, но все они описаны поставщиками ПО и в дополнительных комментариях не нуждаются. Во всяком случае, мне тут сказать нечего, ибо я категорически отказался использовать windows-платформу для создания web-узлов. Отказался не потому, что имею зуб на Большого Билла, как это сейчас модно, а потому, что устал поднимать "упавшие" сервера и чувствовать ущербность при удаленном доступе к системе и настройке ПО. Я поделюсь с вами пошаговой установкой ПО под любимую мою ОС -- FreeBSD. Версия ОС значения не имеет. Боже, сколько всякой фигни я уже написал, а к делу так и не приступил. Исправляюсь! Собираем следующую связку: Apache (оригинальный) PHP (4-х версий) GD 1.3 (версия с поддержкой GIF-а) MySql (любой версии) Весь указанный софт является свободно распространяемым, его легко скачать из Сети. Для начала установим MySql. Копируем дистрибутив MySqL в директорию inst, распаковываем: # gzip -d mysql-3.23.33.tar.gz # tar xf mysql-3.23.33.tar Переходим в создавшуюся директорию mysql-3.23.33 и настраиваем: # ./configure --help :читаем ключики настройки. В общем, тут советовать нечего, но я бы рекомендовал обратить внимание на ключи --prefix= и --with-charset=, первый из которых указывает путь к директории, в которую следует устанавливаться, а второй позволяет подключить разные языки, которые необходимы для правильной сортировки и выборки текстовых полей таблиц. Сделали configure, сделали make, make install и можно запускать mysql. Не стану подробно останавливаться на конфигурации и запуске MySql, так как планирую посвятить этому отдельный выпуск. Теперь подготовим apache к сборке. Копируем дистрибутив в директорию inst. Распаковываем аналогичным с MySql способом, переходим в создавшуюся директорию с дистрибутивом и делаем предварительную конфигурацию, например так: # ./configure --prefix=/opt/www/www Временно оставляем Апача и беремся за PHP. Для начала находим в Сети подходящую версию GD, если планируем работать с графикой. Копируем в директорию inst, распаковываем, переходим в создавшийся каталог и даем короткую команду: # make GD готова. Далее распаковываем PHP аналогичным способом и конфигурируем сборку: # ./configure --help Прочтите все ключики, найдите все, которые могут оказаться для вас полезными. После некоторого пыхтения у нас должна сложиться строка конфигурации, вроде этой: # ./configure --prefix=/opt/www/www/php4 --with-config-file-path=/opt/www/www/php4 --with-mysql=/usr/local/mysql --with-gd=/opt/www/install/PHP/GD/gd1.3 --with-apache=/opt/www/install/apache/apache_1.3.22 Перевожу: --prefix -- куда устанавливаемся --with-config-file-path -- где PHP будет искать php.ini --with-mysql -- где у нас лежит собранный mysql --with-gd -- где лежит собранный GD --with-apache -- где лежит дистрибутив apache Делаем: #make #make install Если мы не ошиблись в путях, то получили модуль PHP, готовый к подключению при сборке apache. Возвращаемся к дистрибутиву apache и начинаем его собирать: # ./configure --prefix=/opt/www/www --activate-module=src/modules/php4 Это мы указали место установки Апача и место расположения модуля PHP. Если сборка PHP прошла успешно, модуль окажется в этой директории. # make # make install Бывает, что при "make" появятся ошибки подключения библиотек и сборка на этом прервется. Это бывает. В этом случае можно попробовать полностью указать путь к модулю PHP: # ./configure --prefix=/opt/www/www --activate-module=src/modules/php4/libphp4.a Чаще всего это помогает. Все, аднака! Можно запускать apache и пользоваться PHP с полной поддержкой MySQL и GD. Как видите, все достаточно просто. Надо только быть внимательным и не сильно нервничать, когда компилятор будет останавливаться, заявляя, что не нашел какого-нибудь файла. В заключение выпуска хочу поделиться "ОГРОМНЫМ" секретом сборки PHP для работы в командной строке. Многие даже не подозревают, что PHP отлично работает в командной строке, выполняя работу, которую традиционно поручают sh или perl. Не знаю как другим, а мне удобно пользоваться одним языком при создании одного проекта. Поэтому я использую PHP для написания скриптов, запускаемых в cron или руками в командной строке ОС. Так вот. Собирается PHP для командной строки точно так же, как и для apache, только не надо указывать в ./configure --with-apache. И все! PHP соберется в указанную директорию, где в папочке bin/ будет лежать заветный файл php. Можете пользоваться! |