At line 3 changed one line |
wget -O - https://www.crushftp.com/crush9wiki/attach/Linux%20Install/configure.sh | bash |
wget -O - https://www.crushftp.com/crush10wiki/attach/Linux%20Install/configure.sh | bash |
At line 106 changed one line |
__Running as non-root__ |
__Running as non-root (not recommanded)__ |
\\ |
\\ |
At line 108 changed one line |
This method details only how to run from rc.local on a systemd init based Linux flavor. Running as a non-root user won't allow binding to ports below 1024, will need to use NAT or port rewrite rules in iptables to be able to server on IANA defined well known ports. |
This method details how to run from rc.local on a systemd init based Linux flavor. Running as a non-root user won't allow binding to ports below 1024, will need to use NAT or port rewrite rules in iptables to be able to server on IANA defined well known ports. |
|
Running crush in user mode as "crushftp" system user, by adding below lines into rc.local (generic method) |
At line 110 changed one line |
java -jar CrushFTP.jar -p DES thePassword |
su - crushftp -c '/var/opt/CrushFTP10/crushftp_init.sh start' |
exit 0 |
At line 117 added 5 lines |
\\ |
This may be required in case daemon mode doesn't output to nohup.out, in this case modify the init script as |
\\ |
{{{ |
$NOHUP $JAVA -Ddir=$CRUSH_DIR -Xmx384M -jar plugins/lib/CrushFTPJarProxy.jar -d 2>>nohup.out & |
At line 123 added 112 lines |
}}} |
\\ |
\\ |
Running in user mode on systemd RHEL 7/8 family Linux |
\\ |
First in crushftp_init.sh will need to set the user as "crushftp" ( or whatever non-root user) then allow rc-local.service to be able to run ( needed for compatibility mode, non root user) |
\\ |
{{{ |
touch /etc/systemd/system/rc-local.service |
vi /etc/systemd/system/rc-local.service |
}}} |
\\ |
paste into below |
\\ |
{{{ |
[Unit] |
Description=/etc/rc.local Compatibility |
ConditionPathExists=/etc/rc.local |
|
[Service] |
Type=forking |
ExecStart=/etc/rc.local start |
TimeoutSec=0 |
StandardOutput=tty |
RemainAfterExit=yes |
SysVStartPriority=99 |
|
[Install] |
WantedBy=multi-user.target |
|
}}} |
\\ |
|
then edit /etc/rc.local |
\\ |
{{{ |
vi /etc/rc.local |
}}} |
\\ |
add in |
\\ |
{{{ |
su crushftp /var/opt/CrushFTP10/crushftp_init.sh start |
exit 0 |
}}} |
\\ |
then make it executable |
\\ |
{{{ |
chmod +x /etc/rc.local |
}}} |
\\ |
then install the rc.local service |
\\ |
{{{ |
systemctl enable rc-local.service |
}}} |
\\ |
reboot, check if OK |
\\ |
\\ |
\\ |
Obsolete system V init method |
\\ |
\\ |
create new scriptfile |
\\ |
{{{ |
touch /etc/init.d/crushftp |
}}} |
\\ |
add this script to /etc/init.d/crushftp |
\\ |
{{{ |
#!/bin/bash |
#!/bin/sh |
# |
# Control script for CrushFTP v1.4 running as crushuser |
# |
# chkconfig: - 86 14 |
# description: CrushFTP |
# |
# BEGIN INIT INFO |
# Provides: crushftp |
# Required-Start: $local_fs |
# Should-Start: $network |
# Required-Stop: |
# Should-Stop: $network |
# Default-Start: 2 3 5 |
# Default-Stop: 2 5 |
# Short-Description: CrushFTP Server |
# Description: Starts Crush on boot |
# END INIT INFO |
|
runuser crushuser -c "/var/opt/CrushFTP10/crushftp_init.sh $1" |
|
################################################################ |
}}} |
\\ |
make it executable |
\\ |
{{{ |
chmod 755 /etc/init.d/crushftp |
}}} |
\\ |
install service |
\\ |
{{{ |
chkconfig --add crushftp |
chkconfig crushftp on |
service crushftp start |
}}} |