Building a File Storage Server for a Small Business with Ubuntu and Webmin
Need a better way to manage your company’s files without forking out for expensive cloud services? Creating a file storage server in Ubuntu with Webmin is an excellent for your small business or home. In this guide, we’re going to show you how to build your own secure, scalable file server, and give you the knowledge and tools to make it your own. Whether you’re dealing with team files, client files or backups, this is the perfect setup for a small businesses who need something that is simple, flexible and secure.
Install Required Packages:
sudo apt update
sudo apt install software-properties-common apt-transport-https wget -y
Install FTP servers, web server, and Samba:
sudo apt install vsftpd proftpd-basic apache2 samba -y
Install VSFTPD:
sudo apt install vsftpd -y
Add Webmin Repository & Install Webmin:
wget -qO - http://www.webmin.com/jcameron-key.asc | sudo tee /etc/apt/trusted.gpg.d/webmin.asc
echo "deb http://download.webmin.com/download/repository sarge contrib" | sudo tee /etc/apt/sources.list.d/webmin.list
sudo apt update
sudo apt install webmin -y
Create FTP User & Directory:
sudo adduser ftpuser
sudo mkdir -p /srv/files/ftpuser
sudo chown ftpuser:ftpuser /srv/files/ftpuser
sudo chmod 750 /srv/files/ftpuser
Configure FTP Access ( Edit vsftpd config)
sudo nano /etc/vsftpd.conf
add below lines:
chroot_local_user=YES
allow_writeable_chroot=YES
user_sub_token=$USER
local_root=/srv/files/$USER
Create chroot list file:
sudo touch /etc/vsftpd.chroot_list
Install Samba:
sudo apt install samba -y
Configure Samba
Add FTP user to Samba:
sudo smbpasswd -a ftpuser
Edit Samba config:
sudo nano /etc/samba/smb.conf
Add below lines at the end:
[FTP Share]
path = /srv/files
browsable = yes
writable = yes
guest ok = no
create mask = 0775
directory mask = 0775
Now Restart Samba:
sudo systemctl restart smbd
sudo systemctl enable smbd
Allow Firewall Ports:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw allow 10000/tcp # Webmin
sudo ufw enable
Allow Webmin Access from LAN:
Edit Webmin config:
sudo nano /etc/webmin/miniserv.conf
Add below line:
allow=127.0.0.1 192.168.0.0/24
Save and restart Webmin:
sudo systemctl restart webmin
Access From Browser use below url:
https://IP_Address_Ubuntu_Machine:10000
Conclusion
Small businesses can benefit from a powerful, low-cost method for securely managing data by implementing a file storage server on Ubuntu with Webmin. Easy remote access, user management, and performance that’s secure enough to grow with your team. By owning your storage infrastructure, you loosen the chains of having to depend on third-party services to keep your business often-sensitive data in your hands. If you want the kind of flexibility, security, and full control over your domain’s software that this set-up gives you, that’s an investment for your future that’s just rock-solid.