私は仕事柄自宅サーバを運用しています。
ただ、本格的なサーバ用マシンではなく、昔使っていたノートPCをサーバとして利用しています。
このPC、あくまでも個人用(現状公開予定もなく開発用途のみ)なので、1つのPC上でなんでもかんでも動かしているんですよ。
- Webサーバ(Apache→nginx)+各種アプリ
- DBサーバ(MySQL)
- ファイルサーバ(sambaとautofs)
- 内部DNS(unbound)
- Jenkinsサーバ
- Redmineサーバ
- VNC(GUIのリモート接続用)サーバ
昔はこれにキャッシュサーバ(Redis)もありました(現在はローカルマシンで利用)。
業務でオンプレミス運用をする場合は、運用効率やセキュリティリスクを考慮して機能別にサーバを分けたほうが望ましいようです(昨今はAzureやAWSでオンプレ自体あまり見なくなりましたが…)。
私はアプリケーション開発者として仕事しているので、インフラやデザインの知識は独学で仕入れていくしかありません。
自分で挑戦してハマる
習得への一番の近道はこれしかないと思っています。