Установка libssh2 для FreeBSD

Первым делом нужно проверить, совпадают ли пути в директивах extention_dir в php.ini и файле php-config. По умолчанию, в PHP, сконфигурированном панелью DirectAdmin путь к расширениям будет выглядеть так: /usr/local/lib/php/extensions/no-debug-non-zts-20100525.

Проверка совпадения путей необходима для того, чтобы модули php (name.so) из портов при их инсталяции командами make install сразу записывались в нужную директорию. В FreeBSD с DirectAdmin файл php.ini находится тут: /usr/local/phpXX/lib/php.ini, где XX - версия php. Также, посмотреть месторасположение php.ini можно запустив функцию PHP phpinfo() - информация будет отображена практически вверху файла в строке "Loaded Configuration File".

Далее проверяем php-config, запустив его так: # /usr/local/bin/php-config --extension-dir. Если пути отличаются или не устраивают - меняем их на свой, например /usr/local/lib/php/extensions в двух файлах: php.ini и php-config - файлы можно отредактировать в любом текстовом редакторе.

Если не выполнить инструкции выше, найти файл ssh2.so можно таким образом:

# find / -name 'ssh2.so'
/usr/local/lib/php/20060613/ssh2.so

Теперь нужно установить два порта:

# cd /usr/ports/security/libssh2 && make install clean
# cd /usr/ports/security/pecl-ssh2 && make install clean

Потом в /etc/ssh/sshd_config проверяем что бы директива PasswordAuthentication была установлена в yes - PasswordAuthentication yes и что бы эта строка не была закоментирована. Далее перезагружаем SSH: /etc/rc.d/sshd restart. В скриптах php может возникнуть проблема: не возможно пройти аутентификацию с верными учетными данными. Это связано с тем, что пользоваться библиотекой libssh2 из php можно только с включённым PasswordAuthentication, а по умолчанию этот параметр закоментирован, то есть - выключен.

Если файл ssh2.so не записался автоматически в директорию с расширениями для PHP - копируем его туда. Открываем файл php.ini и добавляем туда директиву extension=ssh2.so. Если Apache работает как модуль - перезагружаем его. После этого, если сделано все верно, в выводе phpinfo() должен появится блок с названием SSH2.

Опубликовано: 2013/04/02
HTML-код ссылки на эту страницу:
<a href="https://petrenco.com/freebsd.php?txt=171" target="_blank">Установка libssh2 для FreeBSD</a>
6823
Добавить комментарий
Ваш e-mail: (не виден посетителям сайта)
Ваше имя:
Комментарий:
Символы с картинки:
Только выделенные поля формы добавления комментариев обязательны к заполнению.