pure-ftpd 1.0.45 install on Ubuntu

#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.bz2
tar 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 user
sudo mkdir /data
sudo groupadd -g 911 ftpgroup
sudo 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 ftp
sudo 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 configuration
sudo sed -i '77c\NoAnonymous yes' /usr/local/pureftpd/etc/pure-ftpd.conf
sudo sed -i '125c\PureDB /usr/local/pureftpd/etc/pureftpd.pdb' /usr/local/pureftpd/etc/pure-ftpd.conf
sudo sed -i '302c\AltLog clf:/var/log/pureftpd.log' /usr/local/pureftpd/etc/pure-ftpd.conf
sudo sed -i '334c\CreateHomeDir yes' /usr/local/pureftpd/etc/pure-ftpd.conf
sudo 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.conf
sudo sed -i '440c\IPV4Only yes' /usr/local/pureftpd/etc/pure-ftpd.conf


#5. create cert
sudo mkdir -p /etc/ssl/private
sudo openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
sudo openssl req -x509 -nodes -newkey rsa:2048 -sha256 -days 999 \
  -subj "/C=CN/ST=ISPC/L=CQin/O=conn/OU=ca/CN=5050ca/emailAddress=mac@conn.com" \
  -keyout /etc/ssl/private/pure-ftpd.pem \
  -out /etc/ssl/private/pure-ftpd.pem
sudo chmod 600 /etc/ssl/private/pure-ftpd-dhparams.pem
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem


#6. config start systemctl service
cat <<EOF | sudo tee /lib/systemd/system/pure-ftpd.service
[Unit]
Description=Pure-FTPd FTP server
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/var/run/pure-ftpd.pid
ExecStart=/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable pure-ftpd
sudo systemctl start pure-ftpd
相關文章
相關標籤/搜索