自宅にサーバを構築する為にはいくつかの環境が必要です。
最低限必要となる環境をあげてみます。
まず、大前提としてサーバを設置するのに適したスペースを十分に確保できることが必要です。
◆サーバ設置環境
・設置スペース確保 ・ブレーカー容量 ・24時間稼働しても迷惑がかからない場所 ・一定の温度と湿度管理ができる場所 ・ハードのセキュリティ面を考慮した施錠を含めた設置場所 ・有線の場合には、配線ができる環境 ...etc. |
サーバ&クライアント設置台数によっては、かなりブレーカー容量が必要となる可能性があります。
通常コンピュータは空冷式なのでファンの音はかなり気になるところ、台数が増えれば尚更で、また、クライアント端末以上にサーバ用途のハードは冷却能力が高いことが多いのでファンの音は更に気になるところです。
ファンによってハード内部の熱は逃がすことができるとして、一方、その放熱により室内に熱がこもってしまい、空調が不十分だとサーバの破損にもつながりますのでサーバを設置する室内空調及び室温管理は重要なポイントです。
よってサーバにとっては、そもそも設置場所自体、直射日光が当たる空間よりも当たらない空間、それでいて湿気の少ない空間が好ましいということになります。
施錠については、個人の趣味程度ならシビアになる必要は少ないかもしれませんが、ビジネス上利用するという事であれば尚のこと不測の情報流出を避ける為にもラックとハードの施錠や専用部屋であれば部屋の施錠、鍵の管理も検討の上、運用する必要があります。
配線については、場合により壁内配線、床下内配線または、配線経路確保の為の底上げ床設置等も考えられます。
配線でも特に壁内や床下配線については、新築時などに建築業者などに依頼して一切確認せず任せてしまうと建物完成後のメンテナンス性がよくなかったり、配線違いという事もあるそうですから注意が必要です。
設置スペースは、下記各種サーバとプライマリサーバ・セカンダリサーバなどを考慮した複数台になることもあるので注意が必要です。
◆必要なサーバ
サーバの種類 |
サーバ用途ということであれば、どういう環境にせよ、1つ屋根の下に少なくとも1台は別途クライアント端末があるはずなので有線にしろ、無線にしろLAN環境が必要になる為、LAN設置におけるハード面とソフト面の知識が必要になります。
◆サーバ設置の知識(ハード面)
・LAN・ローカルエリアネットワーク構築 ・LANに必要なハードと必要に応じたスペック選定 ・セキュリティに必要なハードと選定 ・各種ハードのメンテナンステクニック(定期・緊急) ・ルータ・ハブ・リピータの知識と選定 ・有線の場合はケーブルの知識と選定 ・周辺機器を含めたネットワーク構築 ...etc. |
サーバに接続するクライアントや周辺機器も必要になりますので無線LAN(セキュリティ面の懸念あり)、有線LANにしてもケーブル引き回しや設置が必要になります。
◆サーバ設置の知識
・ネットワーク ・LAN プロトコル TCP/IP IPアドレス ・サーバ側の環境設定 ・クライアント側の環境設定 ・セキュリティアプリケーション設定 ・必要なソフトウェアや管理ツールインストール ...etc. |
◆LAN運用の知識(ソフト面)※後述OSインストール後
・ルータごとのルーティングテーブル設定 ・グローバルルータのiptable設定 ・ファイアウォールなどセキュリティアプリケーション設定 ...etc. |
◆サーバOSの選定
・サーバOSの種類選定 |
◆サーバOSインストールと設定
・サーバOSインストール ・ファイルシステム設定 ・ftp/sftp/ftps/ssh確認設定 ・パーミッション確認設定 |
OS共通としてC言語(場合によってはC++、C#)、Javaなどを覚えておくと便利です。
OSにWindowsを選択した場合には、コマンドプロンプト及びコマンドプロンプト用コマンドやバッチファイル(.bat)を、UNIX/LinuxやMac OS Xを選択した場合、「vi/vim」や「emacs」などのテキストエディタ、find、grep、sed、awkなどのUNIX/Linux コマンド、shell、Perlなどのscriptなど、使い方を習得しておくと便利です。
◆ウェブサーバインストールと設定
・インターネット接続回線の選定 ・ウェブサーバの種類選定 ・ウェブサーバのインストール |
HTML、CSS、JavaScript、Perl、PHP、Java、JSP、Java Servletなどを習得すると便利です。
◆DBRMSの知識と設定
DB/RDBとしてPostgreSQL、MySQLなど、また、DB/RDBを操作する為のSQLを習得すると便利です。
◆各種サーバのセキュリティ知識と設定
・セキュリティ対策(SSL情報暗号化技術,TLSなど) ・セキュリティ設定 |
◆クライアント環境
・クライアント端末(PC、必要台数) ・クライアント端末(周辺機器) ・クライアント用OS ・ブラウザ(Firefox、Netscape、InternetExplorerなど)セキュリティ設定もお忘れなく。 ・ネットワーク接続ソフト(TeraTermなどセキュリティ面ではsshの方がベター) ・ftpファイル転送ソフト(FFFTP、セキュリティ面ではFileZillaなど) ・ファイアウォール ・セキュリティソフトインストール設定・日々のパターンファイル更新(ウィルス対策、スパイウェア対策など) ・テキストエディタ(TeraPad、秀丸など) |
更に必要なクライアントには
・メーラー(Outlookなど) ・各種アプリケーション |
また場合によっては以下のようなソフトも
・画像処理ソフト(Illustlator、Photoshopなど) ・動画再生ソフト(QuickTime、RealPlayerなど) ・動画処理ソフト(Flashなど) ・音源処理ソフト |
これらクライアントに必要なものはインストール、設定して利用するだけでいいでしょう。
サーバも日々メンテということは少ないかもしれませんが、生ログや監視ツールによる外部からの脅威に対する監視、また必要に応じて環境設定、開発、運用、メンテナンスを行う知識と技量が必要となります。
少なくともおおまかにハードウェア/ソフトウェアについて、OSにおいてはUNIX系/Windows系/MacOS系、文字コードやOSによる改行コードの相違、テキストとバイナリ、ネットワークなどについては当然知っておく必要があります。
更にIT技術についてたとえ最初は浅くても幅広く知っている必要があるでしょう。