ProFTPD не запускается из-за ошибки файла PID после ручной установки из исходного кода.Linux

Ответить Пред. темаСлед. тема
Anonymous
 ProFTPD не запускается из-за ошибки файла PID после ручной установки из исходного кода.

Сообщение Anonymous »

Я пытался установить и настроить ProFTPd 1.3.8c на CentOS 7, но при попытке запустить службу произошел сбой.
Процесс установки и настройки:
Вот краткое описание моей установки и шаги настройки:
Установка зависимостей:
sudo yum install openssl-devel
cd /home/a/
wget ftp://ftp.proftpd.org/distrib/source/pr ... .8c.tar.gz
yum install gcc gcc-c++ autoconf automake
tar -xzf proftpd-1.3.8c.tar.gz
cd proftpd-1.3.8c
./configure --prefix=/usr/local/proftpd \
--sysconfdir=/etc/proftpd \
--enable-nls \
--enable-openssl \
--enable-shadow
make
make install

Настройка службы:
cp contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
chmod +x /etc/init.d/proftpd
chkconfig --add proftpd
chkconfig proftpd on

Изменение сценария инициализации (/etc/init.d/proftpd)
Я внес следующие изменения:
# From:
[ ${NETWORKING} = "no" ] && exit 1
# To:
[[ ${NETWORKING} = "no" ]] && exit 1

А позже в сценарии я изменил:
# From:
[ -x /usr/sbin/proftpd ] || exit 5
# To:
[ -x /usr/local/proftpd/sbin/proftpd ] || exit 5

Конфигурация брандмауэра:
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

Создание пользователя и группы FTP:
groupadd ftpgroup
useradd -g ftpgroup -d /var/ftp -s /sbin/nologin ftpuser

Настройка ProFTPd:
В /etc/proftpd/proftpd.conf я внес следующие изменения:
User ftpuser
Group ftpgroup
PidFile /run/proftpd/proftpd.pid
TransferLog /var/log/proftpd/transfer.log
SystemLog /var/log/proftpd/syslog.log

Настройка пути:
nano ~/.bash_profile
# Add:
export PATH=$PATH:/usr/local/proftpd/sbin
source ~/.bash_profile

Создание необходимых каталогов:
sudo mkdir -p /var/log/proftpd/
sudo mkdir -p /run/proftpd/
sudo chown ftpuser:ftpgroup /run/proftpd/
sudo chmod 755 /run/proftpd/

Возникшие проблемы:
После выполнения этих действий я попытался запустить службу ProFTPd с помощью следующей команды:
service proftpd start

Но с этим сообщением не получилось:
vbnet
Copy code
Starting proftpd (via systemctl): Warning: proftpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for proftpd.service failed because the control process exited with error code. See "systemctl status proftpd.service" and "journalctl -xe" for details.
[FAILED]

Для устранения неполадок я попробовал выполнить следующие команды:
systemctl status proftpd

Вывод показал:
● proftpd.service - LSB: ProFTPd FTP Server
Loaded: loaded (/etc/rc.d/init.d/proftpd; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2025-01-03 06:39:09 EST; 14s ago
I also checked the logs with journalctl -xe and found the error:

в журнале написано, что
error writing PidFile '/run/proftpd/proftpd.pid': No such file or directory

Попытки устранения неполадок:
Гарантированные разрешения для каталогов: я создал необходимые каталоги и изменил владельца и разрешения:
sudo mkdir -p /run/proftpd/
sudo chown ftpuser:ftpgroup /run/proftpd/
sudo chmod 755 /run/proftpd/

Измененный файл proftpd.service:
В /home/a/proftpd-1.3.8c/contrib/dist/rpm/proftpd.service я обновил строку ExecStart, чтобы обеспечить используется правильный двоичный файл:
ExecStart = /usr/local/proftpd/sbin/proftpd --nodaemon $PROFTPD_OPTIONS
ExecStartPre=/usr/local/proftpd/sbin/proftpd --configtest

Текущее состояние:
Служба по-прежнему не запускается даже после этих изменений. Сообщение об ошибке журнала указывает на то, что он по-прежнему не может создать файл PID в /run/proftpd/. И сам файл журнала перестает записывать действия.
Мои вопросы:
Может ли это проблема связана с разрешениями файловой системы или пользователем, под которым работает ProFTPd?
Какие шаги я могу предпринять, чтобы решить проблему создания PID-файла?
Есть ли какие-либо другие изменения конфигурации, которые мне могут не хватать? предотвращение ProFTPd от начинается?
Спасибо за помощь!Я использую терминал с именем пользователя «a», а не «ftpuser», и когда я снова открываю терминал, вновь добавленный путь в $PATH исчезает!
< strong>РЕДАКТИРОВАТЬ**####################################### ########**
у меня есть б/у
echo 'export PATH=$PATH:/usr/local/proftpd/sbin' >> ~/.bashrc
source ~/.bashrc

чтобы лучше сохранить $PATH, измените ftpgroup и ftpuser на пользователя sudo, и после повторного перезапуска в журналах будет указано, что это так.
2025-01-03 07:06:17,300 vbox proftpd[19715] vbox: ProFTPD 1.3.8c (maint) (built Fri Jan 3 2025 06:22:03 EST) standalone mode STARTUP
2025-01-03 07:27:11,746 vbox proftpd[21234] vbox: Failed binding to 0.0.0.0, port 21: Address already in use
2025-01-03 07:27:11,746 vbox proftpd[21234] vbox: Check the ServerType directive to ensure you are configured correctly
2025-01-03 07:27:11,746 vbox proftpd[21234] vbox: Check to see if inetd/xinetd, or another proftpd instance, is already using 0.0.0.0, port 21
2025-01-03 07:27:11,746 vbox proftpd[21234] vbox: Unable to start proftpd; check logs for more details


Подробнее здесь: https://stackoverflow.com/questions/793 ... rom-source
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»