Я хочу настроить файловый сервер с sftp и виртуальной учетной записью, поэтому Я использую ProFTPD.
информация о системе: red hat enterprise linux 6.8-x86_64
информация о proftpd: proftpd-1.3.6
OpenSSL 1.0.1e-fips 11 февраля 2013 г.
ошибка: openssl / rand.h : Нет такого файла или каталога
что я делаю:
mkdir /usr/local/proftpd
mkdir /etc/proftpd
cd /usr/local/src
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.6.tar.gz
tar -zxvf proftpd-1.3.6.tar.gz
cd /usr/local/src/proftpd-1.3.6
./configure --prefix=/usr/local/proftpd --sysconfdir=/etc/proftpd --enable-openssl --with-modules=mod_sftp
make
ИНФОРМАЦИЯ ОБ ОШИБКЕ:
--------------
Build Summary
--------------
Building the following static modules:
mod_ident
mod_quotatab
mod_quotatab_file
mod_sftp
mod_cap
--------------
[root@slave1 proftpd-1.3.6]# make && make install
echo \#define BUILD_STAMP \"`date +"%a %b %e %Y %H:%M:%S %Z"`\" > include/buildstamp.h
cd lib/ && make lib
make[1]: Entering directory `/usr/local/src/proftpd-1.3.6/lib'
gcc -DHAVE_CONFIG_H -DLINUX -I.. -I../include -g2 -O2 -Wall -fno-omit-
........
gcc -DHAVE_CONFIG_H -DLINUX -I.. -I../include -g2 -O2 -Wall -fno-omit-frame-pointer -c table.c
table.c:30:26: error: openssl/rand.h: No such file or directory
table.c: In function ‘tab_get_seed’:
table.c:366: warning: implicit declaration of function ‘RAND_bytes’
make[1]: *** [table.o] Error 1
make[1]: Leaving directory `/usr/local/src/proftpd-1.3.6/src'
make: *** [src] Error 2
Установка
The mod_sftp module is distributed with ProFTPD. For including mod_sftp as a staticly linked module, use:
$ ./configure --enable-openssl --with-modules=mod_sftp ...
Alternatively, mod_sftp can be built as a DSO module:
$ ./configure --enable-dso --enable-openssl --with-shared=mod_sftp ...
Then follow the usual steps:
$ make
$ make install
Note that if the libsodium library is available, mod_sftp will auto-detect this, which enables other supported algorithms. You can ensure that mod_sftp compiles with the libsodium library like so:
$ ./configure --enable-openssl --with-modules=mod_sftp ... \
--with-includes=/path/to/libsodium/include \
--with-libraries=/path/to/libsodium/lib
Для модуля ProFTPD mod_sftp
требуется библиотека OpenSSL; эта ошибка сборки, с которой вы столкнулись:
error: openssl/rand.h: No such file or directory
означает, что OpenSSL не установлен в вашей системе.
Перед запуском сценария ProFTPD configure
необходимо убедиться, что библиотеки разработки OpenSSL установлены с помощью , например :
$ yum install openssl-dev
Затем вы можете снова запустить команды сборки для ProFTPD:
$ ./configure ...
$ make clean
$ make
$ make install
Позже, если вы обнаружите, что хотите использовать mod_sql
и mod_sql_mysql
, тогда вам нужно будет установить библиотеки MySQL:
$ yum install mysql-devel mysql-lib
Вам не требуется для указания местоположения заголовков MySQL (используя - with-includes
для скрипта конфигурации ProFTPD ); система сборки ProFTPD обычно достаточно умна, чтобы найти их, предполагая установку по умолчанию.
Если сложить все вместе, то:
$ mkdir /usr/local/proftpd
$ mkdir /etc/proftpd
$ cd /usr/local/src
$ yum install mysql-devel mysql-lib openssl-dev
$ wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.6.tar.gz
$ tar -zxvf proftpd-1.3.6.tar.gz
$ cd /usr/local/src/proftpd-1.3.6
$ ./configure --prefix=/usr/local/proftpd --sysconfdir=/etc/proftpd --enable-openssl --with-modules=mod_sftp:mod_sql:mod_sql_mysql
$ make
$ make install
Надеюсь, это поможет!