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 10 changed one line |
First, make sure Java is installed properly. By default most linux distros come with an open source version of Java that may not work with CrushFTP. Make sure its an official OpenJDK java, or other suitable JVM. |
CrushFTP10 requires Java 17 to run. First, check if there is a Java/openJDK 17 runtime available on the host, by default most linux distros come with an open source version of Java that may not work with CrushFTP. If there is none, download the latest openJDK tarball for your OS platform ( AMD64 or ARM) from [https://jdk.java.net/archive/|https://jdk.java.net/archive/], untar it into the CrushFTP10 installation folder then rename the resulting jdk-17 folder to Java |
At line 12 added one line |
|
At line 16 changed 4 lines |
If it mentions GNU, it is not the right one. |
|
To run Java, you may need to specify the full path to the java binary. Something possibly like /usr/java/jre1.8.0_191/bin/java. Its going to depend on where you installed it. |
You can also install open java 11 as that works just fine as well. |
If it is the wrong version\\ |
{{{ |
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz |
tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz |
/bin/rm openjdk-17.0.2_linux-x64_bin.tar.gz |
mv jdk-17* /var/opt/CrushFTP10/Java |
}}} |
Then check if the init script detected it, run from within the CrushFTP10 installation the |
{{{ |
./crushftp_init.sh info |
}}} |
command.\\ |
At line 57 added 4 lines |
or |
{{{ |
./Java/bin/java -jar CrushFTP.jar -a "crushadmin" "password" |
}}} |
At line 106 changed one line |
__Running as non-root__ |
__Running as non-root (not recommanded)__ |
At line 112 changed one line |
Running crush in user mode as <user> by adding below lines into rc.local |
Running crush in user mode as "crushftp" system user, by adding below lines into rc.local (generic method) |
At line 114 changed one line |
su - <user> -c '/var/opt/CrushFTP7_PC/crushftp_init.sh start' |
su - crushftp -c '/var/opt/CrushFTP10/crushftp_init.sh start' |
At line 137 added 17 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 |
At line 155 added 93 lines |
[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 |
}}} |