こんにちは!「リナックス先生」です。前回のVim、少しずつ手に馴染んできたかしら?
さて、今回はいよいよ「Linuxを道具として使う」段階から「サーバーとして動かす」段階へステップアップするわよ。Windowsなら公式サイトから「.exe」ファイルをダウンロードしてダブルクリック……という流れだけど、Linuxにはもっとスマートで強力な「パッケージ管理」という仕組みがあるの。実際にWebサーバーを立ち上げて、自分のWindowsからアクセスしてみましょう!
先生!いよいよWebサーバーに挑戦ですね!でも、Linuxにはブラウザもコントロールパネルもないし、どうやってソフトを入れるんですか?まさか、また黒い画面にプログラムを全部書き込むとか……?あと、立ち上げたとしても自分のPCからどうやって見るのかイメージが湧きません。
ふふ、大丈夫よコウ君。Linuxの『dnf』というコマンドを使えば、スマホのアプリストアみたいに名前を指定するだけでインストールが終わるの。ネットワークの繋がり方(IPアドレス)さえ理解すれば、ブラウザからアクセスするのも一瞬よ。エンジニアの醍醐味である『構築』の楽しさを、今日で体験させてあげるわ!
WindowsユーザーのためのLinux最短学習カリキュラム(全8回)
- 第1回:マウスからの脱却!Linuxの基本思想と「黒い画面」の環境構築
- 第2回:もう迷子にならない!ディレクトリ構造의理解とファイル操作
- 第3回:Windowsにはない壁!「ユーザー権限」と「パーミッション」を攻略
- 第4回:エクスプローラーより100倍速い!ファイル検索とテキスト閲覧
- 第5回:メモ帳は捨てなさい!最強エディタ「Vim」サバイバルガイド
- 【今回】第6回:ソフトの追加とネットワークの基礎!Webサーバーを立ち上げよう
- 第7回:Linux最大の魔法!「パイプ」と「リダイレクト」でコマンドを繋ぐ
- 第8回:手作業からの卒業!「シェルスクリプト」でサーバー構築を全自動化
目次
1. インストールの新常識:パッケージ管理者(dnf/yum)の仕組み
① 概念と背景(Why)
Windowsでは、何かソフトを入れるたびにブラウザで検索し、怪しいサイトを避けながらインストーラーをダウンロードしていたわよね。でも、Linux(特にRed Hat系やAlmaLinuxなど)には「リポジトリ」という公式の巨大な倉庫があって、コマンド一つで安全にソフトを取り寄せることができるの。
この管理役が「dnf(またはyum)」よ。パッケージ管理がすごいのは、単にインストールするだけじゃないわ。ソフトが必要とする「他の部品(依存関係)」も自動で見つけて、一緒に揃えてくれるのよ。Windowsで「〇〇.dllが足りません」というエラーに泣かされた経験はないかしら?Linuxなら、dnfが裏でそれらをすべて解決してくれるわ。この「中央集権的な管理」こそが、サーバーを常にクリーンで安定した状態に保つ秘訣なのよ。
② 実践手順と完全なコード(How)
パッケージ管理の基本操作を覚えましょう。これらはすべてシステム全体に影響するため、第3回で学んだ `sudo` が必須よ!
# 1. サーバー内のパッケージ情報を最新にする(まずはこれ!) sudo dnf check-update # 2. ソフトウェア(例:WebサーバーのNginx)を検索してみる dnf search nginx # 3. Nginxをインストールする sudo dnf install nginx # 4. インストール済みパッケージの一覧を確認 dnf list installed | grep nginx
③ プロによるコードの「1行・1オプション」徹底解説
- dnf:Dandified YUMの略。最新のRed Hat系OSで標準のパッケージ管理コマンドよ。
- install:その名の通りインストール。実行時に「y/N」と聞かれるけれど、最初から `dnf install -y nginx` と打てば、全部「はい(Yes)」で進めてくれるわ。
- search:曖昧な名前でも、倉庫の中から候補を探してくれる便利機能よ。
- sudo:パッケージの追加は「神(root)」の領域だから、必ず一般ユーザーはこのバッジ(権限)を借りるのよ。
④ 現場のリアル(失敗談とノウハウ)
現場で絶対にやっちゃいけないのは「リポジトリにないからといって、野良サイトからバイナリを適当に拾ってきて入れる」ことよ。パッケージ管理外でソフトを入れると、OSをアップデートした時に壊れたり、セキュリティパッチが当たらなかったりと地獄を見るわ。プロは可能な限り `dnf` で完結させ、どうしてもない場合だけ「ソースコードからビルド」という手順を踏むの。まずは「dnfに任せる」という信頼感を持ってね!
2. Webサーバーを建ててみよう:Nginxのインストールと起動
① 概念と背景(Why)
ソフトを入れただけでは、まだサーバーは動いていないわ。Linuxでは「サービス(デーモン)」という概念があって、インストールしたソフトを「バックグラウンドで常に待機している状態」にする必要があるの。
今回使う「Nginx(エンジンエックス)」は、世界中の高負荷なWebサイトで使われている、超軽量かつ高速なWebサーバーソフトよ。これを「起動」させ、「自動起動(OSが立ち上がった時に勝手に動き出す設定)」にすることで、初めて24時間365日Webサイトを公開できるようになるわ。Windowsの「サービス管理」画面を、コマンド一発で操る快感を味わってちょうだい!
② 実践手順と完全なコード(How)
Nginxをインストールした後の「起動三段活用」よ。これがインフラエンジニアの基本ルーティンね。
# 1. Nginxサービスを今すぐ起動する sudo systemctl start nginx # 2. サーバー再起動時も自動でNginxが動くようにする sudo systemctl enable nginx # 3. Nginxが現在「ちゃんと動いているか」を確認する systemctl status nginx
③ プロによるコードの「1行・1オプション」徹底解説
- systemctl:System Controlの略。Linuxのサービスを統括管理する司令官よ。
- start:エンジンをかけるわ。何も表示されなければ成功(沈黙は金!)よ。
- enable:これを忘れると、停電などでサーバーが再起動した時にサイトが落ちたままになっちゃうわ。新人がよくやるミスね。
- status:緑色の文字で `active (running)` と出ていれば勝利よ!
④ 現場のリアル(失敗談とノウハウ)
設定ファイルを書き換えた後に `start` を押して `FAILED` と出たら、心臓が止まりそうになるわよね(笑)。そんな時は焦らずに `journalctl -xe` や `systemctl status` のログを読んで。Vimでタイポした場所を丁寧に教えてくれるわ。また、現場では `restart`(再起動)よりも `reload`(設定の再読み込み)を好むわ。`reload` なら、アクセス中のユーザーを切断せずに設定だけを変えられるから。プロの気遣いね!
3. ネットワークの繋がりを確認する:IPアドレスと疎通確認
① 概念と背景(Why)
Webサーバーが動いたら、次はその「住所」を調べなきゃいけないわ。ネットワークの世界での住所が「IPアドレス」ね。Windowsなら「ネットワーク設定」の深い階層を見なきゃいけないけれど、Linuxならコマンド一発で自分の全インターフェースの状況が丸裸になるわ。
エンジニアが最初に読むべき Linuxサーバの教科書 【電子書籍】[ 大津 真 ] 価格:3740円 |
さらに、住所が分かっても、そこまで道が通じているか、あるいは「門(ファイアウォール)」が閉まっていないかを確認する必要があるの。Webサイトが表示されない時、「サーバーが悪い」のか「ネットワークが悪い」のかを見極める能力。これがインフラエンジニアの本当の腕の見せ所よ。Linuxコマンドはそのための「聴診器」の役割を果たすわ。
② 実践手順と完全なコード(How)
自分のIPアドレスを調べ、外部からの疎通を確認する手順よ。
# 1. 自分のIPアドレスを確認(Windowsのipconfigに相当) ip addr show # 2. ブラウザが使う「80番ポート」が開放されているか確認 # (AlmaLinuxなどの場合、ファイアウォールの許可が必要よ) sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload # 3. 自分のWindowsからLinuxへ「生きてるか?」と訊ねる(Windows側で実行) ping [LinuxのIPアドレス]
③ プロによるコードの「1行・1オプション」徹底解説
- ip addr:昔は `ifconfig` だったけれど、今は `ip` コマンドが主流よ。`inet` と書かれた後の数字(192.168…など)があなたの住所よ。
- firewall-cmd:Linuxの門番を操作するわ。インストールしただけでは門が閉まっていることが多いから、`–add-service=http` でWebの通信を通してあげるの。
- ping:ネットワークの最も基本的な診断ツール。相手から返事が返ってくれば、物理的な線は繋がっている証拠よ。
④ 現場のリアル(失敗談とノウハウ)
「IPアドレスは正しいのにWebが見られない!」というトラブルで、意外と多いのが「そもそも自分のPCがVPNに繋がっていなかった」とか「会社のプロキシ設定が邪魔していた」というクライアント側の原因よ。プロはまず `curl -I localhost` とサーバー自身で叩いて、サーバーが内部的に動いているかを切り分けるわ。外が悪いのか内が悪いのか。この「切り分け」の思考を、コマンドを叩きながら身につけてね!
4. 現場のリアル:OSアップデートとセキュリティの付き合い方
① 概念と背景(Why)
サーバーを建てて満足しちゃダメよ。インターネットに公開した瞬間から、あなたのサーバーは世界中の悪意にさらされるわ。OSやソフトには日々「脆弱性(穴)」が見つかる。Windows Updateが自動で走るように、Linuxでも定期的な「パッケージ更新」が不可欠なのよ。
でも、サーバーの更新はWindows PCほど気楽じゃないわ。「アップデートしたら動かなくなった」はサーバーエンジニアにとって最大の悪夢。だからこそ、どの範囲までアップデートするか、再起動は必要か、といった判断を自分でする必要があるの。dnfを使えば、セキュリティに関連する更新だけを狙い撃ちすることもできるわ。この「コントロール感」がLinux運用の面白さでもあるのよね。
② 実践手順と完全なコード(How)
サーバーの鮮度を保つための保守コマンドよ。
# 1. セキュリティに関わる更新があるかチェック dnf updateinfo list security # 2. 全パッケージを最新版に一括アップデート(慎重に!) sudo dnf update # 3. アップデート後に再起動が必要か確認するツールを入れる sudo dnf install needs-restarting -y sudo needs-restarting -r
③ プロによるコードの「1行・1オプション」徹底解説
- update:全てのソフトを最新にするけれど、現場では本番環境でいきなり打つのは御法度!まずは検証環境で試すのがルールよ。
- needs-restarting -r:LinuxはWindowsと違って、多くの更新で再起動が不要だけど、カーネル(心臓部)を更新した時だけは再起動が必要になるわ。それを見極めるプロの道具ね。
④ 現場のリアル(失敗談とノウハウ)
「面倒だから毎日 `dnf update` を自動実行(cron)しちゃえ!」……これは一見正解に見えて、現場では嫌われることもあるわ。意図しないタイミングでソフトの仕様が変わり、動いていたシステムが夜中に止まったら……?プロは「何が更新されるか」を事前に把握し、メンテナンス時間を告知して、バックアップを取ってから実行するの。自動化は素晴らしいけれど、それが「無責任な放置」にならないよう、しっかり自分のサーバーを管理してちょうだい!
先生、感動しました!ブラウザにIPアドレスを入れたら、ちゃんと『Welcome to nginx!』って出ました!自分の手でサーバーを動かしてる実感がすごいです。dnfも、依存関係を勝手に解決してくれるなんてWindowsより親切かも……!?
その感動を忘れないで!あなたが今やったことは、世界中のWebサービスの最小単位なのよ。さて、構築ができたら、次はそれを「効率化」する番ね。次回は、Linux最大の魔法とも言われる『パイプとリダイレクト』を伝授するわ。複数のコマンドを数珠繋ぎにして、自分だけの超強力なツールを作る。これを知れば、もうあなたは完全にWindowsユーザーを卒業して、エンジニアの仲間入りよ!
▼ Webサーバー構築を試すなら最適なVPSで ▼
エンジニア必須の環境
「おすすめVPS」
技術スキルを活かす
「ITエンジニア転職」

コメント