

私はいくつかのプログラミング言語が使えて、ソフトウエア開発の経験はまだわずかばかりの新米エンジニアです。

最近、Linuxサーバー構築に関心があり、ノートパソコンを利用して趣味用にサーバーを立ててみたいと思うようになりました。

そこで疑問なのですが、

  1. サーバーコンピュータにしようとしているノートパソコンはWindows7 32bit 4GBの、とても高スペックとは言えないマシンですが、そこにLinuxを入れてサーバー用に構築することは可能でしょうか？

  2. よくサーバーは24時間365日稼働させるもの…そしてそれによる高稼働の負荷が原因で火災などの発生事例が後を立たず危険とありますが、趣味で使う以上、例えば自分の作ったWebアプリケーションをちょっと動かしてみたら、毎回サーバーの電源を切って、「ただちゃんとサーバーとして機能しているか」の確認程度にたまに使うという使い方はできないのでしょうか？

  3. また、Webサーバー、メールサーバー、DBサーバー以外に、プログラムを動かすためのAPサーバーも立てることができますか？

  4. 自宅に回線は引いていないので、スマホのテザリングではダメですか？（毎月50GBくらいは使えます）

  5. サーバーが動いているかの確認だけをしたいので、アクセスするのは私一人だけです。

例えばJavaなどのWebアプリをローカルで動かすだけなら既存のTomcatでいいじゃんというのは正論だと思うのですが、純粋にサーバーに関する知識を深めたく、練習だけしたいという思いから質問させて頂きました。

インフラの知識はど素人レベルなのですが、何か私自身の認識に誤りがあればそこの指摘も含めてご教授頂きたく思います。宜しくお願い致します。


CC BY-SA 4.0
2019-07-16T23:37:46.490
56691
2020-04-09T11:08:40.357
2019-07-17T03:28:34.200
29826
question
linux
Linuxで自宅にサーバーを立てたい


とりあえずサーバといってもピンキリで、あなた一人しかユーザーが居ないならそれこそ Raspberry PI
でも立派にサーバーになりますし、一般公開してアクセス数が増えれば増強しないといけなくなるでしょうし、状況次第。

サーバ立てるって言っても、要するにインバウントパケットを待ち受けしているマシンを１台用意するだけの話なので特別なことではないです。独立 LAN
上でやればセキュリティとか気構えも心の準備もいらないっす。

A1. オイラもインターネットに物理的接続されていない LAN でサーバ立てたことあります。当時の商用 UNIX
機よりあなたの予定しているノートのほうがよっぽど高性能です。今ならむしろ、ちょっと強力なマシンに仮想マシンを作っちゃうほうが安上がりかも。

A2. あなたしかユーザが居ないのなら、都度、電源断・再投入する運用で十分。一度一般公開してしまうとなかなかそうはいかなくなります。

A3. AP サーバって Redmine とか TestLink とか WordPress
とかですよね。ユーザがあなた１人なら、（仮想）マシン１台で上にすべて同時に立てて問題ないです。スケールアップが必要になったときどうするかはその時考えればよい話。

A4. 最初はセキュリティ的に、インターネットと物理的接続のない完全独立 LAN でやりましょう。それならネット接続は不要。一般公開したくなったら TLS
も必要になりそうですし、固定 global-IP アドレスサービスを強く検討。

外部に接続されていない完全孤立 LAN 上でも DHCP / DNS / MTA / HTTP
等、いわゆる「インフラ」技術の基礎は十分学べます（スケーリングや対攻撃保護機構は別）。で、そのためのマシンを用意して云々が面倒な人は AWS
っす。無料プランで問題ないでしょう（ってオイラは AWS の回し者ちゃいますよ）


CC BY-SA 4.0
2019-07-17T04:57:54.807
56697
2019-07-17T04:57:54.807
8589
56691
answer


1.可能です  
2.できます。  
3.できます。  
4.LAN を引く事をオススメします。LAN なら通信費はかかりません。  
5.アクセスするのがお一人でも問題ありません。

UNIX サーバーは壊して覚えるものです。  
失敗は成功の母。頑張ってください。


CC BY-SA 4.0
2019-07-17T07:55:06.917
56699
2019-07-17T07:55:06.917
35151
56691
answer


とても失礼なことを申し上げると、その質問が出てくる時点で、外部公開サーバを作るための知識と経験が足りていません。

ご自身で「あまりに素人すぎる」と自覚されているので、今はまだ知識や経験が無いことは恥ではありません。察するに「固定IPアドレス」とか「ファイアーウォール」といった用語についても、よくご存じないかもしれません。それらを理解してから、外部公開サーバを立てることを考えましょう。よく理解しないまま外部公開して不正アクセスされたとき、自分だけ被害に遭うならまだしも、他人に迷惑をかける恐れがあります。もしそうなってしまうと無知は罪です。

今のところは、「サーバを構築すること」と「外部からアクセスできるようにすること」は分けて考えましょう。自宅のLANでサーバとクライアントを作るだけなら、PCが2台あれば済みます。サーバーは余りのPCでもRaspberry
Piでもなんでも構いません。サーバー構築を学習することが目的ですから、使う前に電源を入れて、使い終わったら電源を切れば大丈夫です。外からアクセスすることはできませんが、サーバの構築を習得するだけなら充分です。

構築方法とセキュリティの経験を積んだら、簡単なサービスから外部公開することができるでしょう。まずはWebサーバです。外からアクセスできるようにするには、固定IPアドレスが利用できるプロバイダと契約する必要がありそうです（ダイナミックDNSサービス等を利用するなら必須ではありません）。ですが、ご心配の通り、火災のリスクなどを考えると、自宅サーバーではなくて、VPSを借りるのも良いと思います。月額$3.5で20GBみたいなサーバーが借りられますから、最近は自宅サーバーを運用するメリットは少なくなってきています。VPSでも特権ユーザー（rootアカウント）が利用できますから、知識さえあればどんなサービスでも実行できます。

メールサーバはかなり難易度が高いので覚悟してください。せっかくメールサーバを運用するなら、自分で取得したドメイン名のメールアドレスを使いたくなると思いますので、DNSサーバも立てることになります。DNSサーバを提供しているVPSサービスやドメイン名レジストラもあると思いますので、そういうのを利用するのも手です。

アクセスするのは自分一人だけのつもりでも、公開サーバにすれば、確実に攻撃されます。そんな攻撃に耐えるのも、サーバー運用の腕の見せ所ですので、経験を積んでください。

ところで、ノートPCにはバッテリーが搭載されているので、「初めから無停電電源装置が付属している」なんて言われることがありますが、これはあまり信用しない方がいいので、ノートPCが自宅サーバに向いているかはちょっと疑問です。いずれにしても、自宅に回線を引いていないことを考えると、まず外部公開しない自宅LANで修行を積んでから、VPSを借りるのが、現実的なコースではないかと思います。


CC BY-SA 4.0
2019-07-17T09:49:04.253
56702
2019-07-17T12:14:39.663
2019-07-17T12:14:39.663
3337
3337
56691
answer


[XAMPP](https://www.apachefriends.org/index.html)とかどうですか？WindowsでもLinuxでも同じ環境が使える上に、入れたらすぐそのままサーバになりますよ。


CC BY-SA 4.0
2019-07-17T16:33:29.503
56707
2019-07-18T02:04:33.067
2019-07-18T02:04:33.067
3060
35155
56691
answer


  1. 一般的にwindowsよりもlinuxのほうが軽いです。大丈夫です。
  2. 24時間稼働しなくてもサーバーはサーバーです。
  3. サーバーというのは主に通信を通じて受け答えする **ソフトウェア** (プロセス)のことなので、ポートが開いていれば何個でも稼働できます。   
(10万円のサーバーを買ったとかいいますが、サーバーを入れるのに向いているハードウェアをみんなサーバーと言ってるだけです。)

  4. テザリングでもokです。ネットワークであることに変わりないです。
  5. 個人使用であればより問題が少ないです。攻撃を受けるためにはそこに至るまでの接続経路が必要です。試しにグローバルipを調べて外部ネットワークからそのipに様々なポートでアクセスしてみるといいでしょう。


CC BY-SA 4.0
2019-07-19T11:54:02.083
56750
2019-07-19T11:54:02.083
25980
56691
answer


サーバーと言わず、Linux搭載のPCをインストールしてみようと思えば、第一段階はクリアです。  
第二段階は、箱のままじゃ何も出来ないから、ソフトウェアをインストールしてみよう。  
ここで、Suという言葉を知ります。Linuxは権限が特にうるさいです。自分で作成したTxT文書すら権限を付与しないと開けません。そこで、chmodなどのコマンドを覚えるでしょう。  
次に、エクスプローラーを使ってLinuxのファイル操作をしようとするでしょう。ですが、Linuxにそんな便利な物はなく、コマンド若しくは外部ツールを使います。  
そこで、基本的なコマンドの使い方を覚え、サーバー構築に進むことをオススメします。


CC BY-SA 4.0
2020-04-09T11:08:40.357
65495
2020-04-09T11:08:40.357
39565
56691
answer