#1. install openssl devel package.sudo apt-get install -y gcc make libssl-dev#2. install pureftpd#wg
#1. install openssl devel package.sudo apt-get install -y gcc make libssl-dev#2. install pureftpd#wget -P /tmp https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.45.tar.bz2tar jxpf /tmp/pure-ftpd-1.0.45.tar.bz2 cd pure-ftpd-1.0.45./configure /--prefix=/usr/local/pureftpd /--with-puredb /--with-quotas /--with-virtualchroot /--with-diraliases /--with-altlog /--with-rfc2640 /--with-tls /--with-ftpwho /--without-inetd /--without-usernames /--with-uploadscript make sudo make install#3. create usersudo mkdir /datasudo groupadd -g 911 ftpgroupsudo useradd -g ftpgroup -d /dev/null -s /usr/sbin/nologin -u 911 ftpuser#sudo useradd -g ftpgroup -d /dev/null -s /usr/sbin/nologin -u 912 ftpsudo ln -s /usr/local/pureftpd/bin/pure-pw /usr/local/bin/pure-pw(echo Npasswd; echo Npasswd) | sudo pure-pw useradd mac1 -u ftpuser -d /data/mac1 -m#4. modify configurationsudo sed -i '77c/NoAnonymous yes' /usr/local/pureftpd/etc/pure-ftpd.confsudo sed -i '125c/PureDB /usr/local/pureftpd/etc/pureftpd.pdb' /usr/local/pureftpd/etc/pure-ftpd.confsudo sed -i '302c/AltLog clf:/var/log/pureftpd.log' /usr/local/pureftpd/etc/pure-ftpd.confsudo sed -i '334c/CreateHomeDir yes' /usr/local/pureftpd/etc/pure-ftpd.confsudo sed -i '417c/TLS 2' /usr/local/pureftpd/etc/pure-ftpd.conf#sudo sed -i '427c/TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3' /usr/local/pureftpd/etc/pure-ftpd.confsudo sed -i '440c/IPV4Only yes' /usr/local/pureftpd/etc/pure-ftpd.conf#5. create certsudo mkdir -p /etc/ssl/privatesudo openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048sudo openssl req -x509 -nodes -newkey rsa:2048 -sha256 -days 999 / -subj "/C=CN/ST=ISPC/L=CQin/O=conn/OU=ca/CN=5050ca/[email protected]" / -keyout /etc/ssl/private/pure-ftpd.pem / -out /etc/ssl/private/pure-ftpd.pemsudo chmod 600 /etc/ssl/private/pure-ftpd-dhparams.pemsudo chmod 600 /etc/ssl/private/pure-ftpd.pem#6. config start systemctl servicecat <<EOF | sudo tee /lib/systemd/system/pure-ftpd.service[Unit]Description=Pure-FTPd FTP serverAfter=syslog.target network.target[Service]Type=forkingPIDFile=/var/run/pure-ftpd.pidExecStart=/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf[Install]WantedBy=multi-user.targetEOFsudo systemctl enable pure-ftpdsudo systemctl start pure-ftpd