Установка ProFTPD на Centos 5


Рубрика: Администрирование
Метки: |
Просмотров: 11705

Установка ProFTPD на Centos 5

В источниках Centos 5 нет по умолчанию ProFTPD для его установки, по этому если он нам нужен (а мне нужен был для использования FTP после установки Webmin) придется устанавливать все в ручную.

Первым делом мы установим необходимые пакеты для сборки и установки ProFTPD:

yum install ncurses-devel \
gcc \
gcc-c++ \
make \
rpm-build \
m4 \
redhat-rpm-config \
unifdef

Далее непосредственно собираем и устанавливаем ProFTPD

cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2.tar.gz
tar xvfz proftpd-1.3.2.tar.gz
cd proftpd-1.3.2/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.2*

Proftpd устанавливается в /usr/local/sbin, но нам он нужен, в /usr/sbin, поэтому мы создаем символическую ссылку:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Далее создадим скрипт запуска для proftpd с помощью программы nano (инструкция по работе с nano доступна по этой ссылке), /etc/init.d/proftpd:

nano /etc/init.d/proftpd

И впишем в него:

#!/bin/sh
# $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $
#
# proftpd This shell script takes care of starting and stopping
# proftpd.
#
# chkconfig: - 80 30
# description: ProFTPD is an enhanced FTP server with a focus towards \
# simplicity, security, and ease of configuration. \
# It features a very Apache-like configuration syntax, \
# and a highly customizable server infrastructure, \
# including support for multiple 'virtual' FTP servers, \
# anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftp.conf
# pidfile: /var/run/proftpd.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x /usr/sbin/proftpd ] || exit 0

RETVAL=0

prog="proftpd"

start() {
echo -n $"Starting $prog: "
daemon proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
}

stop() {
echo -n $"Shutting down $prog: "
killproc proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status proftpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/proftpd ]; then
stop
start
fi
;;
reload)
echo -n $"Re-reading $prog configuration: "
killproc proftpd -HUP
RETVAL=$?
echo
;;
*)
echo "Usage: $prog {start|stop|restart|reload|condrestart|status}"
exit 1
esac
exit $RETVAL

Выставим права для запуска скрипта:

chmod 755 /etc/init.d/proftpd

Далее откроем /etc/proftpd.conf и изменить Group на nobody:

nano /etc/proftpd.conf

Так:

[...]
Group nobody
[...]

По соображениям безопасности, вы можете также добавить следующие строки в /etc/proftpd.conf:

[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

Чтобы FTP пользователи могли использовать сhmod команды, закомментируем строки в разделе:

[...]
#
# DenyAll
# [...]

Также можно сделать, чтоб отображались все файлы от и до, т.к. файлы начинающиеся на точку, видно не будет:

ListOptions -a

Теперь можно сделать автозапуск сервиса во время загрузки сервера:

chkconfig --levels 235 proftpd on

Запускаем FTP сервис:

/etc/init.d/proftpd start

Комментариев: 6 RSS

  • Комментариев: 6

  • Вконтакте

  • Facebook:

  •  Димка | 20 ноября 2010 в 02:00:53

    smile Респект за статью, очень помогло в настройке

  •  нету | 11 июля 2011 в 20:26:31

    что за ошибка при запуске

    -bash: /etc/init.d/proftpd: /bin/sh^M: bad interpreter: No such file or directory

    и как исправить

  •  BuxarNET | 11 июля 2011 в 21:03:13

    Возможно, вы редактировали файл /etc/init.d/proftpd под Windows, а затем сохранили его на Linux сервере? Пожалуйста, используйте редактор, который позволяет сохранять текстовые файлы с разрывом строки Unix, а затем скопировать файл на Linux сервер снова.

    Если все делали под Linux, значит проверяем весь код и ищем лишние пробелы и нажатия клавиши ЕНТЕР

  •  нету | 13 июля 2011 в 17:37:41

    а это что при запуске

    -bash: /etc/init.d/proftpd: Permission denied

  •  нету | 13 июля 2011 в 17:41:06

    поставил права

    при запуске ошибка

    Starting proftpd: - warning: unable to determine IP address of 'yumhost.ru'

    - error: no valid servers configured

    - Fatal: error processing configuration file '/etc/proftpd.conf'

    [FAILED]

  •  BuxarNET | 13 июля 2011 в 23:02:46

    В файле hosts попробуйте прописать айпи и домен, к примеру:

    127.0.0.1 localhost - там уже было

    194.84.124.2 yumhost.ru - 194.84.124.2 это айпи сервера где ваш домен расположен

    И перегрузите сервер

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

Авторизация 

(обязательно)