SSH Key Authentication
Password-based SSH is weak. Generate an SSH key pair, install the public key on the server, and disable password login entirely.
Related guides: What is DNS, settings · Domain names & WHOIS lookup · Hosting types guide · Nginx configuration · Plesk panel guide
# Create a key on your local machine
ssh-keygen -t ed25519 -C "admin@keydal.tr"
# Copy the key to the server
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@server-ip
# Disable password auth in /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
sudo systemctl restart sshd
UFW Firewall
Uncomplicated Firewall is a user-friendly front-end to iptables. Open only the ports you actually need.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
sudo ufw status verbose
Systemd Service Management
On modern Linux distributions every service is managed by systemd. You can ship your own applications as unit files the same way.
# /etc/systemd/system/myapp.service
[Unit]
Description=My Node.js App
After=network.target
[Service]
User=www-data
WorkingDirectory=/var/www/myapp
ExecStart=/usr/bin/node server.js
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp
journalctl -u myapp -f # tail logs in real time
Cron Scheduling
crontab -e
# Daily backup at 03:00
0 3 * * * /opt/scripts/backup.sh >> /var/log/backup.log 2>&1
# Health check every 5 minutes
*/5 * * * * curl -sf http://localhost:3000/health || systemctl restart myapp
# Weekly report every Monday at 09:00
0 9 * * 1 /opt/scripts/weekly-report.sh
Modern Web Hosting and Server Infrastructure
A performant web hosting service rests on three infrastructure decisions: NVMe SSD disks (4-6× IOPS over SATA SSD), LiteSpeed Web Server or Nginx + LSCache (9× request capacity over Apache) and CloudLinux + Imunify360 isolation. The hosting provider's control panel (cPanel, Plesk, DirectAdmin), daily backup policy, data center location and support response time make a big difference too. Turkish locations give low latency to local visitors, while Hetzner Frankfurt or OVH Roubaix suit global traffic. As your site grows, transitioning from shared hosting to VPS to dedicated server scales CPU/RAM/disk to your needs.
Conclusion
These four fundamentals — SSH keys, firewall, systemd, and cron — are the minimum every Linux administrator should know. Layer monitoring (Prometheus, Grafana) and automated deployment on top to build the kind of professional infrastructure KEYDAL runs.