集中化您的数字世界:如何使用 Debian 构建家庭服务器

Centralize Your Digital World: How to Building a Home Server with Debian

简介

在当今的数字时代,管理和集中化您的数据和服务变得越来越重要。无论您是希望存储媒体文件、运行个人云,还是托管各种应用程序,家庭服务器都可以提供增强的数据隐私、安全性和可访问性。本指南将引导您完成使用 Debian 构建家庭服务器的过程,Debian 是最稳定和通用的 Linux 发行版之一。

先决条件

硬件要求

最低系统要求

  • CPU: 1 GHz 处理器或更高
  • 内存: 1 GB (建议 2 GB)
  • 存储: 20 GB 可用磁盘空间

推荐硬件

  • CPU: 多核处理器 (Intel i3/i5/i7 或 AMD 同等产品)
  • 内存: 4 GB 或更多
  • 存储: 500 GB 或更多,最好是 SSD 用于操作系统,额外的 HDD 用于数据存储
  • 网络: 千兆以太网

选择合适的服务器硬件

在为您的家庭服务器选择硬件时,您有多种选择。您可以重新利用旧 PC、使用专用服务器硬件,甚至可以选择像 Raspberry Pi 这样的小型设备来执行基本任务。确保您的硬件满足您计划运行的服务的需求。

软件要求

Debian 操作系统概述

Debian 是一个免费的开源操作系统,以其稳定性和庞大的软件仓库而闻名。由于其可靠性和强大的社区支持,它是家庭服务器的绝佳选择。

必要的软件工具和软件包

  • Debian ISO 文件
  • Etcher (或任何创建可启动 USB 驱动器的工具)
  • SSH 客户端 (例如,Windows 上的 PuTTY,Linux/macOS 上的终端)
  • Web 服务器软件 (Apache 或 Nginx)
  • 文件服务器软件 (Samba 或 NFS)
  • 数据库服务器软件 (MySQL 或 PostgreSQL)
  • 其他服务软件 (Nextcloud, Plex, Postfix 等)

设置您的服务器

步骤 1:准备您的硬件

确保所有组件都已正确组装和连接。这包括安装 CPU、内存、存储驱动器,并连接所有必要的外部设备,如键盘、显示器和网线。

对于初始设置,您需要连接到服务器的键盘和显示器。设置完成后,您可以使用 SSH 远程管理您的服务器。

步骤 2:安装 Debian

访问 Debian 官方网站 并下载最新的 Debian 稳定版本。为您的系统架构选择合适的版本 (例如,64 位系统选择 amd64)。

使用 Etcher 或类似的工具创建包含下载的 Debian ISO 的可启动 USB 驱动器。

分步安装指南

  1. 从 USB 启动: 将可启动 USB 驱动器插入您的服务器并从中启动。您可能需要调整 BIOS 设置以从 USB 启动。

  2. 语言和区域设置: 选择您偏好的语言、国家和键盘布局。

  3. 配置网络: 为您的服务器选择主机名并配置网络设置。对于静态 IP 地址,您可以在安装期间或之后进行设置。

  4. 分区磁盘: 根据需要分区您的磁盘。对于简单的设置,您可以使用引导式分区将 Debian 安装在整个磁盘上。对于更高级的设置,您可以为 /home、/var 等配置单独的分区。

  5. 设置用户和密码: 创建 root 密码和用于日常操作的用户帐户。

  6. 安装基本系统: 按照提示安装基本系统。这包括选择要安装的软件;您可以选择最小化安装,并在以后添加更多软件包。

  7. 完成安装: 安装完成后,移除 USB 驱动器并重启您的服务器。

配置服务器

步骤 3:安装后设置

首次重启后,更新软件包列表并升级已安装的软件包

sudo apt update sudo apt upgrade

确保您的服务器具有静态 IP 地址,以便实现一致的网络访问。编辑网络接口配置文件

sudo nano /etc/network/interfaces

添加以下行,将占位符替换为您的网络详细信息

auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4

重启网络服务

sudo systemctl restart networking

安装 OpenSSH 服务器软件包以启用远程访问

sudo apt install openssh-server

启用并启动 SSH 服务

sudo systemctl enable ssh sudo systemctl start ssh

现在您可以使用 SSH 客户端远程连接到您的服务器。

步骤 4:安装基本服务

在 Apache 或 Nginx 之间选择您的 Web 服务器。

Apache

sudo apt install apache2

启用并启动 Apache 服务

sudo systemctl enable apache2 sudo systemctl start apache2

Nginx

sudo apt install nginx

启用并启动 Nginx 服务

sudo systemctl enable nginx sudo systemctl start nginx

设置文件服务器

Samba (用于 Windows 文件共享)

sudo apt install samba

编辑 Samba 配置文件

sudo nano /etc/samba/smb.conf

添加您的共享文件夹

[shared] path = /srv/samba/shared read only = no browsable = yes

创建共享目录并设置权限

sudo mkdir -p /srv/samba/shared sudo chown -R nobody:nogroup /srv/samba/shared

重启 Samba 服务

sudo systemctl restart smbd

NFS (用于 Linux 文件共享)

sudo apt install nfs-kernel-server

编辑 exports 文件

sudo nano /etc/exports

添加您的共享目录

/srv/nfs/shared 192.168.1.0/24(rw,sync,no_subtree_check)

导出共享并重启 NFS 服务

sudo exportfs -a sudo systemctl restart nfs-kernel-server

配置数据库服务器

MySQL

sudo apt install mysql-server

保护 MySQL 安装

sudo mysql_secure_installation

PostgreSQL

sudo apt install postgresql

访问 PostgreSQL 提示符以创建数据库和用户

sudo -i -u postgres psql

集中化数据和服务

步骤 5:集中式数据存储

为了冗余和提高性能,考虑设置 RAID (独立磁盘冗余阵列)。此步骤是可选的,但建议用于关键数据。

创建和管理具有适当用户权限的共享文件夹。使用 chownchmod 命令设置所有权和权限。

使用像 rsync 这样的工具进行备份。使用 cron 任务自动化备份

crontab -e

添加一个 cron 任务用于每日备份

0 2 * * * rsync -a /path/to/source /path/to/destination #### 步骤 6:托管服务 **托管个人云服务 (Nextcloud):** 安装 Nextcloud 以创建您的个人云: ```bash sudo apt install apache2 mariadb-server libapache2-mod-php sudo apt install php php-mysql php-xml php-mbstring php-zip php-gd php-curl

下载并解压 Nextcloud

wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip unzip nextcloud-21.0.1.zip sudo mv nextcloud /var/www/html/

为 Nextcloud 设置数据库并完成基于 Web 的安装。

下载并安装 Plex Media Server

wget https://downloads.plex.tv/plex-media-server-new/1.23.1.4602-280ab6054/debian/plexmediaserver_1.23.1.4602-280ab6054_amd64.deb sudo dpkg -i plexmediaserver_1.23.1.4602-280ab6054_amd64.deb

访问 Plex Web 界面以完成设置。

设置邮件服务器 (Postfix, Dovecot)

安装 Postfix 和 Dovecot

sudo apt install postfix dovecot-core dovecot-imapd

根据您的域名和安全需求配置 Postfix 和 Dovecot。

安装版本控制系统 (Git)

安装 Git

sudo apt install git

设置仓库和用户访问权限以进行版本控制。

安装和配置 DHCP 和 DNS 服务以有效地管理您的网络。

安全注意事项

步骤 6:保护您的服务器

安装和配置 UFW (简易防火墙)

sudo apt install ufw sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable

安装 Fail2ban 以防止暴力破解攻击

sudo apt install fail2ban

配置 Fail2ban 以保护 SSH 和其他服务

sudo nano /etc/fail2ban/jail.local

添加以下配置

[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5

重启 Fail2ban

sudo systemctl restart fail2ban

安装 Certbot 以从 Let's Encrypt 获取 SSL 证书

sudo apt install certbot python3-certbot-apache sudo certbot --apache

按照提示使用 SSL 保护您的网站。

定期更新您的系统

sudo apt update sudo apt upgrade

使用像 Nagios 这样的监控工具来跟踪系统性能和安全性。

维护和监控

步骤 7:定期维护
  • 保持您的系统更新最新的安全补丁和软件版本。
  • 使用像 htop 和 Nagios 这样的工具来监控系统性能和资源使用情况。
  • 定期检查系统日志并为关键问题配置警报机制。

结论

使用 Debian 构建家庭服务器使您可以完全控制您的数据和服务。与云服务相比,您可以节省成本,享受增强的隐私和安全性,并可以灵活地扩展和自定义您的设置。

George Whittaker 是 Linux Journal 的编辑,也是一位定期撰稿人。George 撰写技术文章已有二十年,并且是 Linux 用户超过 15 年。在他的空闲时间,他喜欢编程、阅读和游戏。

加载 Disqus 评论