Ур-р-р-р-р-р-а, ЗАРАБОТАЛО!!!
Огромное спасибо всем, кто откликнулся на мою проблему, ваша помощь бесценна для меня – огромное человеческое СПАСИБО!!! Для тех, кто забредет на эту страничку в поисках ответа на аналогичный вопрос, пишу подробный отчет о проделанной работе. Основной вывод, который я сделал для себя: "Подожди все переставлять - это не Винда, тут думать надо....". Главный камень предкновения, на котором я застрял - это php5-extensions, оказалось все просто: ставь вначале Мускул (клиент и сервер), потом Апаче и потом уже PHP с расширениями, если какие-либо расширения не подгрузились (смотреть в phpinfo();), то их необходимо ручками прописать в php.ini, а теперь сам процесс установки:
1.Ставим
mysql50-client и
mysql50-server
Код: Выделить всё
cd /usr/ports/databases/mysql50-client & make install clean
cd /usr/ports/databases/mysql50-server & make install clean
После окончания процесса установки, делаем инициализацию баз:
После этого добовляем в
/etc/rc.conf следующую строку:
mysql_enable="YES"
Присваиваем необходимые права:
chown -R mysql:mysql /var/db/mysql/
Можно считать, что база данных поднята, далее вполе логично будет поставить пароль на root, при необходимости создать других пользователей базы MySQL, это все очень удобно делать в phpmyadmin (можно поставить из портов: /usr/ports/databases/phpmyadmin), либо ручками:
/usr/local/bin/mysql –u root –p и т.д. - это уже другая тема.
2. Устанавливаем Apache, последний мой удачный эксперимент был с 22-й версией:
Код: Выделить всё
cd /usr/ports/www/apache22 & make install clean
После установки добавляем в rc.conf:
apache22_enable="YES" и пока все, идем дальше:
3. Устанавливаем РНР и расширения, я предварительно отредактировал
Makefile в портах
php5 и php5-extensions, отметив там в разделе
OPTIONS необходимые мне модули (не забудте отметить модуль Apache)
Код: Выделить всё
cd /usr/ports/lang/php5 & make install
cd /usr/ports/lang/php5-extensions & make install clean
После того, как все установилось, необходимо связать РНР и Apache, для этого заходим в конфигурационый файл Apache, который находится по адресу
/usr/local/etc/apache22/httpd.conf и находим там строчки, которые начинаются на LoadModule, убеждаемся в присутствии строки:
LoadModule php5_module libexec/apache22/libphp5.so - обычно она в конце списка... и ниже всех этих записей добавляем:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Далее, находим строчку
DirectoryIndex и перед
index.html добавляем
index.php.
Сохраняем файл. Запускаем Apache:
# /usr/local/sbin/apachectl start, запуск Apache можно проконтроллировать с помощью команды
top, наличие процессов с названием
httpd свидетельствует об удачном запуске сервера.
После этого, переходим в каталог с нашим сайтом:
cd /usr/local/www/apache22/data, создаем файл index.php и вписываем в него одну строчку:
<?php phpinfo(); ?> Сохраняемся. Далее подключаемся к серверу через обычный браузер, вписав в строку адреса IP сервера, должна загрузиться страничка с информацией о версии РНР и подключаемых модулях расширения, если вы там чего-то не находите, что ожидалось, например наличия модуля MySQL или Calendar, или SESSIONS т.е. то, что вам необходимо, то идем /usr/local/etc/ ищем тут файл php.ini, если не находим, то переименовываем файл php.ini - recommended в php.ini, находим там строчки ;extension=php_имя-модуля.dll и расскоментировав необходимые приводим их к Unix-виду: extension=имя-модуля.so, например, мне пришлось дописать следующее:
Код: Выделить всё
extension=mysql.so
extension=calendar.so
extension=session.so
Естественно, что все эти модули должны быть установлены в системе и файлы типа
имя-модуля.so должны быть в наличии по адресу:
/sr/local/lib/php/..../.
После всего этого можно перезагрузить сервер (
# /usr/local/sbin/apachectl restart) или, для чистоты эксперимента перезапустить систему, и открыв в браузере файл
index.php убедиться в том, что модули подключились успешно.
У меня все заработало!
P.S. Не судите строго за изложение и возможные ошибки, писал это все еще очень зеленый админ,.. Желаю всем удачи!