Настройка сервера · 4 min read · Feb 12, 2026

Идеальная настройка - SUSE 9.2 - Страница 6

Proftpd

Я хочу использовать Proftpd вместо vsftpd, который является стандартным FTP-сервером SUSE, потому что программное обеспечение панели управления, которое я собираюсь установить на этом сервере (ISPConfig), требует Proftpd на SUSE 9.2 (на других дистрибутивах это по-другому). Поскольку пакетов SUSE для Proftpd нет, мне нужно скомпилировать его вручную:

cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz

tar xvfz proftpd-1.2.10.tar.gz
cd proftpd-1.2.10/
./configure –sysconfdir=/etc
make
make install

cd ../
rm -fr proftpd-1.2.10*

Теперь создайте файл /etc/init.d/proftpd:

| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. # Все права защищены. # # Исходный автор: Marius Tomaschewski <[email protected]> # # Немного изменено в 2003 году для использования с SuSE Linux 8.1, # от http://www.learnlinux.co.uk/ # # Немного изменено в 2005 году для использования с SuSE Linux 9.2, # от Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Запускает сервер ProFTPD ### END INIT INFO # Определите базу и следуйте за именем ссылки уровня выполнения. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Принудительное выполнение, если не вызвано из каталога уровня выполнения. test $link = $base && START_PROFTPD=yes # Изменено learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Изменено learnlinux.co.uk # Возвращаемые значения согласно LSB для всех команд, кроме # статуса (см. ниже): # # 0 - успех # 1 - общая или неопределенная ошибка # 2 - недопустимый или избыточный аргумент(ы) # 3 - не реализованная функция (например, "перезагрузить") # 4 - недостаточно прав # 5 - программа не установлена # 6 - программа не настроена # 7 - программа не работает proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Исходные функции состояния . /etc/rc.status # Сначала сбросьте статус этой службы rc_reset case "$1" in start) echo -n "Запуск сервера ProFTPD: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Остановка сервера ProFTPD: " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## Если первый возвращает OK, вызовите второй, если первый или ## второй команда не удалась, установите значение возврата. $0 stop $0 start rc_status ;; try-restart) ## Остановите службу, и если это удастся (т.е. ## служба работала ранее), запустите ее снова. ## Примечание: не (еще) часть LSB (по состоянию на 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Эксклюзивная возможность: Некоторые службы должны быть остановлены ## и запущены, чтобы принудительно загрузить новую конфигурацию. echo -n "Перезагрузка сервера ProFTPD: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Статус имеет немного другое значение для команды статуса: # 0 - служба работает # 1 - служба мертва, но файл pid /var/run/ существует # 2 - служба мертва, но файл блокировки /var/lock/ существует # 3 - служба не работает echo -n "Проверка сервера ProFTPD: " checkproc $proftpd_bin rc_status -v ;; probe) ## Необязательно: Проверьте необходимость перезагрузки, ## укажите аргумент, который требуется для перезагрузки. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Использование: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Установите статус выхода. rc_exit |

chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd

/etc/init.d/proftpd start

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

| DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." |

Не забудьте закомментировать следующие строки, чтобы разрешить пользователям ftp использовать CHMOD:

| # Запретить использование SITE CHMOD по умолчанию # # DenyAll # |

и перезапустить Proftpd:

/etc/init.d/proftpd restart

Webalizer

Чтобы установить webalizer, просто выполните

apt-get install webalizer

Синхронизация системных часов

Если вы хотите синхронизировать системные часы с сервером NTP, выполните следующее:

apt-get install netdate

netdate tcp time.nist.gov

Создайте /var/spool/cron/tabs/root:

| # обновить время с ntp сервера 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov |

Затем выполните

chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart

Установите некоторые модули Perl, необходимые для SpamAssassin (поставляется с ISPConfig)

Установка с использованием оболочки Perl

Войдите в командную строку как root и выполните следующую команду, чтобы запустить оболочку Perl:

perl -MCPAN -e shell

Если вы запускаете оболочку Perl в первый раз, вам будет задано несколько вопросов. В большинстве случаев стандартные ответы подходят.

Обратите внимание: если вы используете брандмауэр на своем компьютере, вам может потребоваться отключить его во время работы с оболочкой Perl, чтобы оболочка могла загружать необходимые модули без больших задержек. Вы можете включить его позже.

Большое преимущество оболочки Perl по сравнению с двумя другими методами, описанными здесь, заключается в том, что она учитывает зависимости при установке новых модулей. То есть, если выяснится, что отсутствует модуль Perl, необходимый для установки другого модуля, оболочка Perl спросит вас, нужно ли установить модуль-предшественник для вас. Вы должны ответить на этот вопрос “Да”.

Выполните следующие команды для установки модулей, необходимых для SpamAssassin:

install HTML::Parser
install Net::DNS
(когда вас попросят включить тесты, выберите нет)
install Digest::SHA1
install DB_File
q
(чтобы выйти из оболочки Perl)

Если модуль уже установлен на вашем компьютере, вы получите сообщение, похожее на это:

HTML::Parser is up to date.

Успешная установка модуля выглядит так:

/usr/bin/make install – OK

Конец

Конфигурация сервера теперь завершена, и если вы хотите, вы можете установить ISPConfig на него.

Примечание о SuExec

Если вы хотите запускать CGI-скрипты под suExec, вам следует указать /srv/www/htdocs в качестве домашнего каталога для веб-сайтов, созданных ISPConfig, так как suExec SUSE скомпилирован с /srv/www/htdocs в качестве Doc_Root. Выполните /usr/sbin/suexec2 -V, и вывод должен выглядеть так:

Чтобы выбрать /srv/www/htdocs в качестве домашнего каталога для веб-сайтов во время установки ISPConfig, выполните следующее: Когда вас спросят о режиме установки, выберите экспертный режим.

Позже во время установки вас спросят, должен ли стандартный каталог /home/www быть каталогом, в котором ISPConfig будет создавать веб-сайты. Ответьте n и введите /srv/www/htdocs в качестве домашнего каталога для веб-сайтов.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.