<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ProFTPd &#8211; Hostry Help Center</title>
	<atom:link href="https://help.hostry.com/article-tags/proftpd/feed/" rel="self" type="application/rss+xml" />
	<link>https://help.hostry.com</link>
	<description>Full information on how to use HOSTRY, provided by 24/7 community based support</description>
	<lastBuildDate>Tue, 06 Aug 2019 06:59:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.13</generator>

<image>
	<url>https://help.hostry.com/wp-content/uploads/cache/2021/01/cropped-apple-icon-180x180-1/836712163.png</url>
	<title>ProFTPd &#8211; Hostry Help Center</title>
	<link>https://help.hostry.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How To Install And Customize ProFTPd on Linux</title>
		<link>https://help.hostry.com/knowledge-base/how-to-install-proftpd/</link>
					<comments>https://help.hostry.com/knowledge-base/how-to-install-proftpd/#respond</comments>
		
		<dc:creator><![CDATA[Paul Harris]]></dc:creator>
		<pubDate>Wed, 31 Jul 2019 07:10:14 +0000</pubDate>
				<guid isPermaLink="false">https://help.hostry.com/?post_type=ht_kb&#038;p=449</guid>

					<description><![CDATA[Installation For Debian-based systems execue commands: user@localhost: ~ sudo apt update Optionally: user@localhost: ~ sudo apt upgrade Install the latest version for your distribution you can with the following commmand: user@localhost: ~ sudo apt-get install proftpd During installation process system will ask how do you want your server to work. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 id="installation" >Installation</h2>



<p><strong>For Debian-based systems execue commands:</strong></p>



<p><code>user@localhost: ~ sudo apt update</code></p>



<p><strong>Optionally:</strong></p>



<p><code>user@localhost: ~ sudo apt upgrade</code></p>



<p><strong>Install the latest version for your distribution you can with the following commmand: </strong></p>



<p><code>user@localhost: ~ sudo apt-get install proftpd</code></p>



<p><strong>During installation process system will ask how do you want your server to work. Choose standalone</strong></p>



<h2 id="customization" >Customization</h2>



<p>Open in the editor the configuration file:</p>



<p><code>user@localhost: ~ sudo nano /etc/proftpd/proftpd.conf</code></p>



<p>If you need an isolated environment for each account you have to find and uncomment the line:</p>



<p><strong>DefaultRoot</strong> ~ so that users could not leave the home directory</p>



<h3 id="rootlogin-off" ><strong>RootLogin off</strong></h3>



<p>The root user will not be able to log into the server. If there is not this entry you can add it. Allow Overwrite on overwriting files is allowed</p>



<p>Here the easiest setting is over. Restart the server:</p>



<p><code>etc/init.d/proftpd restart</code></p>



<h2 id="creation-of-users-accounts" >Creation of user’s accounts</h2>



<p>Add virtual users: first you need to create a file with users:</p>



<p><code>ftpasswd — -passwd — -file=/etc/proftpd/ftpd.passwd — -name=test — -uid=90 — -gid=90 — -home=/var/www/my_beautiful_site — -shell=/bin/false</code></p>



<p>Create a user <strong>“test” </strong>with uid and gid 90, his home directory will be <strong>/var/www/my_beautiful_site, shell /bin/false.</strong> If you specify group and user id you’ll can avoid problems with file permissions. For example, 90 will be default for <strong>Apache</strong> user (www-data)</p>



<p>As a result we will get the ftpd.passwd file with such context:</p>



<p><code>test:$3ret732fghaF$Jsdfrterethfdfg/HrRE.:90:90::/var/www/my_beautiful_site:/bin/false</code></p>



<p>You can use this command to change the user’s password:</p>



<p><code>ftpasswd — -passwd — -name=test — -change-password —file /etc/proftpd.passwd</code></p>



<p>For AuthGroupFiles, use —group:</p>



<p><code>ftpasswd —group —name=group-name —gid=group-id —member=user-member1 \ —member=user-member2 … —member=user-memberN</code></p>



<p>Make sure that the value is. RequireValidShell off, otherwise the virtual user will not be able to log in. Do not check if you use shell. AuthUserFile<strong> /etc/proftpd/ftpd.passwd</strong>: Path to the file with user’s list</p>



<p>If you need Access only for virtual users</p>



<p>AuthOrder mod_auth_file.c <br></p>



<p><strong>Restart the proftpd service.</strong></p>



<p><code>user@localhost: ~ sudo systemctl restart proftpd</code></p>



<h2 id="open-in-firewall-ftp-service-for-access" >Open in firewall FTP service for access</h2>



<p>if you have firewalld you need to execute these commands:</p>



<p><code>user@localhost: ~ sudo firewall-cmd --zone public --add-service=ftp user@localhost: ~ sudo firewall-cmd --runtime-to-permanent</code></p>



<p>For iptables before prohibiting rules insert such line: (Strongly depends on current settings, before adding look for already existing rules using command iptables -nvL &#8211;line ):</p>



<p><code>user@localhost: ~ sudo modprobe ip_conntrack_ftp<br>user@localhost: ~ sudo nano /etc/modules</code></p>



<p><strong>Add line:</strong></p>



<p><code>ip_conntrack_ftp </code></p>



<p><code>user@localhost: ~ sudo iptables -I INPUT 3 -p tcp --dport 21 -j ACCEPT<br> user@localhost: ~ sudo iptables -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate</code></p>



<p>NEW,ESTABLISHED -j ACCEPT</p>



<p><code>user@localhost: ~ sudo iptables -I INPUT 3 -p tcp -m tcp --dport 20 -m conntrack --ctstate  </code></p>



<p>ESTABLISHED,RELATED -j ACCEPT</p>



<p><code>user@localhost: ~ sudo iptables -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate</code></p>



<p>ESTABLISHED -j ACCEPT</p>



<p><code>user@localhost: ~ sudo iptables -I INPUT 3 -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack</code></p>



<p><code>--ctstate ESTABLISHED -j ACCEPT</code></p>



<p><code>user@localhost: ~ sudo iptables -A OUTPUT -p tcp -m tcp --sport 1024: --dport 1024:</code></p>



<p>Conntrack &#8211;ctstate ESTABLISHED,RELATED -j ACCEPT</p>



<p> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://help.hostry.com/knowledge-base/how-to-install-proftpd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
