はじめてのサーバー構築入門:Ubuntu+PostgreSQLで学ぶサーバーとデータベースの仕組み

ツール&技術

仕事でプログラムを触るようになるまでは「サーバー」や「データベース」という言葉を聞くと、少し専門的で難しそうに感じていました。
でも、仕事でプログラムを作るたびに「他の人が準備した物(会社で用意されている物や世の中のサービス)」ではなく、自分で作ってみればもっと理解できるのでは?と思うようになりました。

「サーバー」「データベース」を自分の手で構築してみれば、仕組みが分かり、仕事でも活かせるようになるのではと考え、実際にやってみた内容を**忘却禄(自分用の見返せる記録)**としてまとめていきます。

この記事では、学習用として自宅の古いPCを使い、Ubuntu(無料のLinux)PostgreSQL(無料のデータベース) を組み合わせて、サーバーとDBの基本を体験しながら理解していく流れを紹介します。

サーバーとはなにか?

ネットワークを介して、他のコンピューター(クライアント)に対してデータやサービスを提供するコンピューターシステム

たとえば、スマホでWebサイトを開くとき。
そのページの情報を送り出してくれているのが「Webサーバー」です。

つまりサーバーとは、

「誰かのために、ずっと働き続ける裏方PC」

というイメージです。
実際職場で動き続けているサーバーを見るとそんな感じがする一方、これが急に壊れたら「やべぇ!」どころの騒ぎじゃなくなるなと毎日思っています。

サーバーの種類と役割(実例つき)

サーバーの種類主な役割実際の利用例・身近なサービス
ファイルサーバーファイルを共有・保存するNAS、Googleドライブ、Dropbox、OneDrive など
データベースサーバーデータを整理して保存し、アプリやWebに提供するネットショップの商品情報、会員登録システム、ブログ記事データなど
WebサーバーWebサイトを配信するApacheNginx が代表的。
WordPressサイト、企業HP、ECサイト(Amazon・楽天など)もこの仕組みで動いている
メールサーバーメールの送受信を管理Gmail、Outlook、Thunderbird などの裏側
アプリケーションサーバーWebサーバーの裏で動的な処理を行うECサイトの「カートに入れる」機能、ログイン処理など(Python/Django、PHP、Node.jsなど)
DNSサーバーURL(例:
www.example.com)をIPアドレスに変換
Google Public DNS、Cloudflare DNS など
認証サーバーログイン・ユーザー確認を行うGoogleアカウントやLINEログイン など
バックアップサーバーファイルやDBのコピーを自動保存バックアップ用NAS、クラウドバックアップ(Backblaze、Carboniteなど)

💡 Webサーバーの仕組みをもう少し詳しく

利用者(PC・スマホ)
   ↓  ブラウザでURLを入力
Webサーバー(Apache / Nginx)
   ↓  HTMLや画像を返す
アプリケーションサーバー(PHP / Pythonなど)
   ↓  必要に応じて動的なページを生成
データベースサーバー(PostgreSQL / MySQLなど)
   ↑  記事や商品などのデータを読み書き

たとえば WordPress の場合:

  • WordPress自体は「アプリケーション」
  • ApacheやNginxが「Webサーバー」
  • MySQLが「データベースサーバー」

この3つが連携して動くことで、1つのブログサイトが成り立っています。

データベースとは?

データを「整理」「保存」「検索」できる仕組み

Excelのように行と列でデータを管理しますが、
大量の情報でも高速に検索・集計ができ、
複数の人やアプリが同時に使っても壊れません。

主なデータベースの種類

種類特徴代表例
ファイル型DB1台のPCで動く軽量DBSQLite
サーバー型DBネットワーク越しに利用可能PostgreSQL、MySQL
クラウドDBサーバー管理が不要BigQuery、Snowflake、Microsoft Fabric

🧠 イメージでいうと

  • Excel → 自分専用のノート
  • データベース → チーム全体の共有ノート

学習のゴール

「自分でサーバーを立てて、データベースを作り、別のPCから接続する」

ステップ内容目的
① Ubuntuをインストールサーバー用OSを理解Linuxの基本を学ぶ
② PostgreSQLを導入データを管理する基盤DBの構造を体験
③ 初期設定とDB作成SQLを体験データ操作の基本を理解
④ 接続設定サーバー⇄クライアント通信ネットワークの仕組みを知る
⑤ pgAdmin接続GUIで確認管理ツールの使い方を学ぶ
⑥ Python接続自動化・ETLを体験実務につながる応用力をつける

学んで得られること

  • サーバーとクライアントの関係が分かる
  • データベースの動きが理解できる
  • PythonやBIツールとの連携ができる
  • IT基盤の仕組みを実際に触って学べる

まとめ

難しそうに見えるサーバーやデータベースも、
実際に「自分で動かしてみる」と一気に理解が深まります。
Ubuntu+PostgreSQLは無料で始められて、学習にもぴったり。

次回は、実際にこの環境を構築していく「ステップ1:Ubuntuのインストール」から始めます。

コメント