自宅鯖とはそもそも何か
自宅鯖(自宅サーバ)とは、名前の通り自宅にサーバを立てることです。
サーバにはさまざまな種類、用途があります。
例えば、ウェブサーバ、ファイルサーバ、録画サーバ・・・など。
自宅鯖にひつようなもの
・インターネット回線
・パソコン
メリット
・サーバ管理の経験が得られる
・Linuxの知識が得られる
・問題を自分で対処できるようになる
・楽しい
デメリット
・電気代がかかる
・ファンがうるさい場合もある
・セキュリティーの問題がある
・管理が大変
自宅鯖の構成
タイプ
デスクトップパソコン、ノートパソコン、なんでもサーバにすることは可能です。
しかし、メンテナンス性や拡張性がノートパソコンにはありません。
また、ノートパソコンは排熱効率が悪く、熱暴走などによって処理能力が落ちたり、ファンがうるさくなったりすることもあります。
そのためデスクトップパソコンをおすすめします。
CPU / RAM
サーバの用途にあったものを選ぶことで無駄なく活用できます。
ウェブサーバー(データベース同居)など軽い用途であれば ロウクラスでも問題ありません。
逆に性能を必要とする用途であれば必要な性能のものを買うようにしましょう。
メモリはOS用に1GB程度あれば平気だと思います。
ウェブサーバなどであれば+1GBでも動きますが、余裕をもって最低4GBは積んでおきたいです。
☆余裕を持たせて CPU はミドルクラス以上 メモリは 4GB以上
ストレージ
ウェブサーバなどの用途であれば SSD で問題ないと思います。
ファイルサーバなどの場合には HDD を別途追加した方がいいと思います。
マザーボード
CPU の規格に合わせて選んでください。
電源
600w あれば十分だと思います。
80+ 認証のものを購入すれば少し電気代が安くなると思います。
電気代の節約
電気代は一番節約ができるポイントになります。
必要な性能に合わせて購入したり、ウェブサーバだけであればラズベリーパイ
を活用するなど・・・。
自宅鯖を始めよう
ただパソコンを用意しただけではサーバにはなりません。
まず用意したパソコンにLinuxをインストールします。
Linuxはなんでもいいのですが、有名で情報も豊富なUbuntuを使用したいと思います。
※インストール時に大事なデータが消えることがあるよ!
※インストールはとっても簡単だから省くよ!
インストールができたらSSHで接続できるようにします。
またこのタイミングでSSH用のユーザーも作成しましょう。
そしたら自分の用途にあったプログラムをインストールしていきます。
Apache
$ sudo apt install apache2
PHP
$ sudo apt install php php-mbstring php-gd php-mysqld php-curl
Samba
$ sudo apt install samba
Java
$ sudo apt install openjdk-8-jre
※上のコマンドを実行する前に最新の状態にします。
$ sudo apt update
$ sudo apt upgrade -y
自宅鯖を安全に保つには
自宅鯖は「すべて自分で管理する」かわりに「なんでも」できます。
しかし、すべて自分で管理するというのはなかなかに大変なことです。
そこで最低限のセキュリティーアップデートを自動でするようにします。
$ crontab -e
* 5 * * * sudo apt update && sudo apt upgrade -y
これで毎日朝5時に自動で更新されるようになります。
※たまに再起動が必要なものがあるので、月に一度再起動もさせるようにするといいと思います。