2017年5月13日土曜日

自宅サーバーという選択肢

はじめまして。私はジタクサーバー。あなたの開発ライフを守ります。
みなさんはじめまして! Githubでは@kawakawaritsuki、Life is Tech!ではごっちゃんと名乗っているものです。
自宅サーバーライフ、楽しんでますか! もう既に楽しんでいる方も、これからっていう方も是非読んでいってくださいね!
この記事はQiita版Life is Tech ! Members Advent Calendar 2016及びAdventar版LiT! Members Advent Calendar 2016、2日目の記事です。

My Server

OS:CentOS Linux release 7.3.1611 (Core)
M/B:A88M-ITX/ac R2.0
CPU:AMD A10 7870K
ROM:500GB+3TB+1TB
RAM:8GB
拡張:PT3

500GBのHDDはOSとhome。60GB程度を/に、残りをhomeに割り振ってます。
3TBのHDDはChinachu用。動画が大量に入ってます。
1TBのHDDはSamba用。ファイル共有ですね。

コマンドラインのみで使ってます。
また、SSHは鍵認証方式を使っています。
パスワードで認証している人は是非鍵認証方式に変更してみましょう。
あとサーバーに対してLAN用のDNSを設定しておくと便利ですよ。

用途

ファイルサーバー

今回の記事で取り上げる内容1つ目です。
自分用のファイルサーバーは一台あると本当に便利です。

テストサーバー

今回の記事で取り上げる内容2つ目です。
なにかサーバーを立てたいなってなった時に手元にサーバーがある安心感は他の何にも変えられません!(?)

運用サーバー

今回の記事で取り上げる内容3つ目です。
実際に稼働させるためのサーバーとしても使えます。おすすめはしませんが。
僕は本稼働のみConoHaというVPSを使っています。
今は自宅サーバー一本でやってます。

マイクラサーバー

身内でやってる奴です。 工業楽しいですよね。 どうでもいいので今回は取り上げません。

録画サーバー

Chinachuを使って録画サーバーと立ててます。 条件一致便利。 ちょっとネタがアレなので今回は取り上げません。

Wikiサーバー

これが最高なんです。
Crowiっていうソフトウェアを使ってるんですがもう手放せないです。
自分専用のWiki、しかもMarkdownで書ける。画像もアップロードし放題。
最高です。

RADIUSサーバー

マイナーすぎて通じないと思いますがWi-Fiのエンタープライズ認証をする時に使います()

ファイルサーバーとして

僕は500GB弱を割り振ってます。
開発してるとファイルってどんどん増えますよね。
そんなときにファイルサーバーが1つあると本当に便利です。
色々試していてわかったのですが、Samba(Windowsのファイル共有形式)は転送速度がサーバーのCPUの速度に依存するのに対して、ftpだとほぼ帯域最大の速度が出ました。
Core i5で運用している友達はSambaを使っていますが、僕のサーバーは性能が低いのでSFTP(SSHで接続するFTP)で運用しています。

テストサーバーとして

その場で作業用のサーバーとしては自宅サーバーは最高の選択です。 あってよかった自宅サーバー。結構助かります。 RubyやPython、Java等といった良く使うソフトウェアを先に導入しておくと便利です。

運用サーバーとして

常に自分の隣にあるのでいざという時すぐに対応出来ますが、安定感、安心感に欠くのでおすすめこそしませんが可能です。 自分専用のBASIC認証をつけたウェブページを使いたい。等と言った用途ならば良いかもしれません。

Gitサーバーとして(おまけ)

GitBucketやGitLabといった素晴らしいソフトウェアを使用すればGitサーバーを 簡単に 立てることが出来ます。 もちろんプライベートですし身内との共同開発もし放題です。 ただしGithubの最大の強みであるOSSの利点は活かせないので使い分けをしましょう。 昔書いた記事があるので参考にどうぞ。Linuxでも使えます。

ドメインについて

無料で使えるDNS(DDNSも可)は個人的にはdip.jpをおすすめしています。 詳しくはdip.jpのページなどを参考にしていただければと思いますが、便利なサービスです。 また、独自ドメインも持っています。ドメインは一つ持っていると非常に便利に使えるのでとてもおすすめですが多少金額がかさむのが難点。 気にならないなら是非取ってみると良いと思います。

回線について

プライベートIPではなく、グローバルIPが振られている必要があります。 但し、これは外部に公開する目的がある場合のみです。 自分の家の中だけでファイル共有やテストサーバーとして運用する場合は問題ありません。 尚、外部に公開する場合はポート開放が必要です。 ルーターの設定を変更しましょう。

Dockerについて

テスト用にサーバーを立てる場合はDockerを使うと快適に使うことができます。 是非調べてみてください。 闇にハマります。本当に奥が深いです。

OSについて

僕はLinuxを使っています。 もちろんWindowsでも可能ではありますが、PSがよく分からない上GUIだと重い、接続制限(規約)があるなどと言った理由で使用していません。 接続数制限については学生なら無料でWindows Serverを入手出来ますが、結局汎用性が低かったりしてあまり使うことがない気がします。 但し、ファイルサーバーとして使う場合はSambaは"Windowsファイル共有"なので、Windows Serverの方が良いと思います。

おまけ

Life is Tech!要素がすっかすかになってしまったのでこんな時に便利!自宅サーバー!コーナーです笑

Web開発の成果を発表会や展示の時に公開したい!

自宅サーバーにアクセスしてぱぱっと公開しましょう! Webサービスコース(Sinatra)の方はRuby、Webデザインコースの方はApacheや下の小技等を使いましょう。 そしてIP、ポートをURLバーに打ち込んでテストします! うまく開けたら、発表会の時は短縮URL、展示会のときはQRコードにして画面に表示しておきましょう!

ファイルを間違えて消してしまう地獄に陥る前に!

どのキャンプに行っても絶対何人も現れるファイルが消えた事例。 いくら気をつけていても何故かファイルを失くすのです。 そのためにバックアップは必須!
  • 前述したGitサーバーを使うもよし!
  • 慣れた方法でサーバーにファイルを保管するもよし!
とにかくバックアップはお忘れなく!

一瞬で公開する小技

前提としてpythonが入っている必要があります。
公開したいWebページのルートディレクトリに移動して
sudo python -m SimpleHTTPServer 80
というコマンドを打つだけです。
起動したら別のPCからサーバーのIPを開いてみましょう。 きちんとindex.htmlが表示されたら成功です。
実際に公開したい場合は先にポート開放をしておきましょう。 また、80番ポートは危険なので他ポートをおすすめします。
本当に楽で便利です。ただあくまでも本稼働向きではなくテスト用と考えたほうが良さそうです。 本稼働の場合はきちんとApacheなどを使いましょう。

最後に

内容が貧弱すぎるので徐々に追記していきたいと思います。 サーバーをまるっと変える予定があるのでその時に更新するかもしれません。
明日、3日目は@Windows_Tenさんの「開発が捗る環境づくり」です! 捗るのって大切なので楽しみです。
最後まで読んでいただきありがとうございました。

0 件のコメント:

コメントを投稿