活動の様子 メンバーの趣味 Nutmeg advent calendar 2024

自作サーバーのすゝめ

自作サーバーのすゝめ

はじめに

皆さんはじめまして!前回のTeXのブログを見てくれた方はお久しぶりです.ぷりんです. 課題に苦しんでいたらいつの間にかインフラチームの長になっていました.今のところは偉大なる先輩方におんぶにだっこですが頑張りたいと思います.

せっかくインフラチームに入ったので,使わなくなったWindowsPCでサーバーを建てたというそれっぽいことを今回ブログにしようと思います. 本当は自分でアプリを作ってデプロイしようとしてたけど時間がなくて諦めたのは内緒.いつかリベンジします.

WindowsPCでProxmoxのインストーラーを起動する

まず,バイトジャンキーではない大学生はお金を持っていません. もちろん筆者も例外ではありません.

ですが今回やろうとしているのはなにかしらPCがないとできません. そこで筆者は実家からバッテリーが死んで文鎮と化したWindowsPCを持ってきました. 今回はこのPCをサーバーにしていこうと思います.

このPCは高専の時に使っていたものなのでデータが入っています.もちろん,レポートなどの大事なデータなどはお引越ししたうえで今回入れるサーバーに特化したOS,Proxmoxを入れなければいけません.

参考にしたサイト

いれる方法は,まずproxmoxの公式からインストーラー持ってきてをUSBメモリのような外部記憶装置に入れます. 次にそれをPCに挿したままPCのBIOS画面を開き,起動順を変更してWindowsより先にProxmoxインストーラーの入った外部記憶装置が開くようにします.

すると,Proxmoxと書いてある白い画面が開くので,ガイドの通りに進んでいくとインストールすることができます. 参考にしたサイトで,大体全部最新のやつを選びました.

また,実際に色々値を入力しなければなりませんが,入力するための情報を手に入れるコマンドと,筆者が実際に入力したざっくりとした値はこんな感じになります.Adressは果たしてネットの海に公開していいのか怖くなったのである程度ぼかします.


Management Interface:一個しかない

Hostname:自由

IP Adress:ipconfig getifaddr en0 使ってないAdressを使うこと

Gateway:netstat -nr | grep default いれて一番上のdefaultの値を持ってくる

DNS Server:cat /etc/resolv.conf | grep nameserver



Management Interface:

Hostname:purin.local

IP Adress:192.168.xxx.xxx

Gateway:192.168.xxx.1

DNS Server:193.168.xxx.1


ダウンロードはめっちゃ長いのでお昼ごはんとか食べに行きましょう.おすすめは麺屋松というお店です.

サーバーを建てるまで

ここまではまだOSを入れただけです.なのでProxmoxの設定を行っていきます.サーバー用のPCと同じネットワークにつなげたPCを用意し,サーバー用PCの画面にある,connect to:https://192.168.xxx.xxx:8006 というurlをchoromなどのブラウザで検索します.すると以下のような画面が出てくるのでユーザー名をroot,パスワードをさっき入力したものを使用してログインします. image

ログインできたら,tailscaleという別のネットワークにPCを繋いでいても,認めたPCだけからはアクセスできるようにするものを入れます. というかいれるためにこのサイトに書いてあることをしないといけません.めんどくさい.

ここに書いてあることをなんとかしたら,やっとtailscaleを入れることができます. いれるためのコマンドは以下のものになります.


curl -fsSL https://tailscale.com/install.sh | sh


これを打って,tailscale upとでたら成功です.

tailscaleに関してはこのサイトを見るとわかりやすいかもしれません.

ついにサーバー(というかコンテナ)を建てるときが来ました. CTを立ち上げます. データセンター>“ホスト名”>local(“ホスト名”)>CTテンプレート>テンプレートから,使いたいパッケージを選択します. 筆者はubuntu入れました.

CTを作成から必要な項目を埋めていきます.ゲートウェイとかはDHCPで行うことをおすすめします.楽なので.

コンテナを充実させる

建ったコンテナの中で,色々アップデートしていきます.


sudo apt-get update sudo apt install curl sudo apt-get dist-upgrade


これらがうまく行けば,もう終わりは目前です.

ドメインの取得

サーバーだけがあっても,Webアプリを公開することはできず,公開するにはドメインが必要です. ドメインとは,google.comなどのよくあるURLのhttps:// の直後の部分です. ムームードメインやお名前.comなどで買うことができます.

次にWebサイトを運営するためにcloudflareとドメインを連携させる必要があります. 詳しいやり方はこれを見てください.

筆者はお名前.comでドメインを買ったので, お名前.comにて,契約管理画面>ネームサーバー設定>ネームサーバーの設定>他のネームサーバーを利用

で割り当てられたクラウドフレアのネームサーバー2つを書き,しばらくするとアクティブになっていました.

外界とサーバーとをつなげるにはトンネルを通す必要があります.詳しくは以下のページを見ればわかりやすいと思います. クラウドフレアトンネルの話1

クラウドフレアトンネルの話2

まとめ

ここまで終わればほとんど終わりです.gitを落としてきて,githubに上げたWebアプリをpullしてdockerなどで動かせば無事デプロイまで行けます.

この記事はサーバーを建てながら書いたメモを元につくられているのでもしかするといくつか必要な項目が抜けていたり,わかりにくい部分があるかもしれませんが,もしこの記事がサーバーをはじめて触るみたいな人のお力になれれば幸いです.