Назад | Перейти на главную страницу

как установить libssh2 на Centos + pecl

Я использую phing в качестве инструмента развертывания в CentOS, и я хотел бы использовать SshTask, для которого необходимо было установить libssh2.

Я попробовал "pecl install ssh2", но мне нужно было указать префикс libssh2 [/ usr?]

Я заметил, что это означает, что мне сначала нужно установить libssh2, но у yum этого пакета нет. Итак, мой вопрос: как лучше всего установить libssh2 на Centos, а затем установить расширение pecl?

чтобы установить libssh2 на centos, выполните следующие действия:

  1. скачайте libssh2 с официального сайта (ищите в гугле - у меня нет репутации, и я могу разместить только одну ссылку)

  2. извлеките его куда-нибудь, затем откройте терминал, перейдите в папку, в которую вы его извлекли, и введите эти команды

    ./configure
    
    make
    
    make install
    

ТАКЖЕ

вы можете установить репозитории rpmforge из DAG отсюда:

http://dag.wieers.com/rpm/packages/rpmforge-release/

(проверьте свою версию, если вы используете i386, вам, вероятно, придется приобрести "Red Hat EL 5 - i386")

тогда сделай

yum install libssh2

Тебе нужно libssh2-devel не только libssh2. Вот немного более короткая версия

yum install libssh2-devel
pecl install ssh2-0.12

Вот что я сделал.

wget https://libssh2.org/download/libssh2-1.7.0.tar.gz
tar zxvf libssh2-1.7.0.tar.gz
cd libssh2-1.7.0
./configure
make
sudo make install
sudo yum install libssh2 libssh2-devel
sudo pecl install ssh2-0.13

Усилия по установке libssh2-devel с помощью yum не удалось с ошибкой No package libssh2-devel available. (Реми репо)

Я скачал это из Веб-сайт PECL и установлен через

# pecl install -f packagename.tgz

Все остальные пакеты и зависимости были загружены с rpmfind.net и установил вот так

# rpm -ivh packagename.rpm
  1. Установите его, используя yum:

    $ sudo yum install libssh2-devel-1.8.0-3.el7.x86_64.rpm

    В следствии:

    Installed:   libssh2-devel.x86_64 0:1.8.0-3.el7
    
    Dependency Installed:   keyutils-libs-devel.x86_64 0:1.5.8-3.el7
       krb5-devel.x86_64 0:1.15.1-37.el7_7.2
       libcom_err-devel.x86_64 0:1.42.9-16.el7
       libkadm5.x86_64 0:1.15.1-37.el7_7.2
       libselinux-devel.x86_64 0:2.5-14.1.el7
       libsepol-devel.x86_64 0:2.5-10.el7
       libverto-devel.x86_64 0:0.2.5-4.el7
       openssl-devel.x86_64 1:1.0.2k-19.0.1.el7
       pcre-devel.x86_64 0:8.32-17.el7
       zlib-devel.x86_64 0:1.2.7-18.el7
    

    И теперь попытка установить ssh2 могла привести к ошибке:

    # pecl install ssh2
    downloading ssh2-0.13.tgz ...
    Starting to download ssh2-0.13.tgz (28,984 bytes)
    .........done: 28,984 bytes
    6 source files, building
    running: phpize
    Can't find PHP headers in /usr/include/php
    The php-devel package is required for use of this command.
    ERROR: `phpize' failed
    

    Если это произошло, попробуйте установить пакет php-devel из remi репозиторий.

  2. Установка репозитория remi (для системы типа RHEL7):

    $ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

  3. Включение репозитория remi путем редактирования файла remi.repo:

    $ sudo vi /etc/yum.repos.d/remi.repo

    изменение enabled=0 к enabled=1 в разделе [remi], если вы используете php 5.4

    Чтобы узнать, какую версию php вы используете, вы можете использовать команду:

    $ sudo yum info php

  4. Установка пакета php-devel:

    $ sudo yum install php-devel

  5. Установка ssh2:

    $ sudo pecl install ssh2

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

Скачать libssh2-devel версия пакета, которая вам нужна из rpmfind.net, копируя адрес ссылки нужного файла и вставляя его после wget:

wget https://rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/libssh2-devel-1.8.0-3.el7.x86_64.rpm

(будьте осторожны перед использованием пакетов с неофициальных ресурсов)