Linuxのお勉強として、『Webサーバー構築を目的に勉強を進める』ことを決意した。
なかなか進まないLinux学習。なんとか進めたいと、Linuxの学び方をメモした。 一連の記録の中で、目標設定が大切であることを理解し、『Webサーバー構築を目的に勉強を進める』ことを決意した。   …
注文していた本も到着したので、さっそく進めていきます。
今日は、基本的なところから、『サーバーについて』
サーバーとは
ネットワーク上のクライアントの要求に対していろいろなサービスを提供するコンピューターのこと。
例えば、Webサービスの場合、Webブラウザ(Google ChromeやSafari)がクライアント、Webサーバーがサーバー
- WebブラウザはWebサーバーに「〇〇サイトのデータをください」と要求
- Webサーバーは〇〇サイトのファイルを見つけ出す
- Webサーバーは〇〇サイトのファイルをWebブラウザに返す
- Webブラウザは〇〇サイトのファイルを受け取り、画面に表示する
こんな流れになるようだ。
いろいろなサーバーとソフトウェア
サーバーの役割はサービスによって決まる。ホント、いろいろなサーバーがあり、それに対するソフトウェアも様々。
ここでは、良く使用されているものと、個人的に興味があったものを羅列。
インターネット上に公開するものと、社内(企業)や個人(ホーム)で使用するものがある。
- Webサーバー
ソフトウェア:「Apache HTTP Sever」「lighttpd」
Webページを公開するのに使うサーバー。HTML文書や画像ファイルなどのWebコンテンツデータを格納しておき、Webブラウザの要求に応じてデータを送信する。 - Wikiサーバー
ソフトウェア:「MediaWiki」「PukiWiki」
Webブラウザを使ってWebサーバーにある文書を共同で書き換えられるようにする「Wiki」システムをつくるためのWebアプリケーション - ブログサーバー
ソフトウェア:「WordPress」「tDiary」
『Web日記』を作成、公開するためのWebアプリケーション。書きこんだ日記は時系列やテーマ別に並び替えて公開できる。 - CMSサーバー
ソフトウェア:「Zope」「Movable Type」
画僧や文書、動画、音声などのWebコンテンツデータを統合的に管理し、それらを組み合わせたWebサイトを構築するためのアプリケーション。 - SMTPサーバー
ソフトウェア:「Sendmail」「Postfix」
インターネットメールの配信を担当するサーバー。ユーザーが送信用メールサーバーとして指定するのがこのサーバー。メールはSMTPサーバー間で配送され、宛先となるSMTPサーバーに送られる。 - POPサーバー、IMAPサーバー
ソフトウェア:「Dovecot」「Qpopper」
受信メールを保存しておき、要求に応じてそれをメールクライアントに配信するサーバー。ユーザーが受信用メールサーバーとして指定するのがこれらのサーバー。POPサーバーでは、メールをメールクライアントに移動させ、サーバーからは削除する使い方が基本。IMAPサーバーでは基本的にメールを恒久的にサーバーに保管する。 - Windowsファイルサーバー
ソフトウェア:「Samba」
WindowsパソコンやLinuxパソコン、Macなどからファイルを自由に入出力できるNASを作成するためのサーバー。複数のパソコンでファイルを共有する場合やデータを一元管理する場合などに便利。 - プリントサーバー
ソフトウェア:「CUPS」「Samba」
通常のプリンターをWindowsパソコンやLinuxパソコン、Macなどで共有可能なネットワークプリンターに変えるサーバー。 - NFSサーバー
ソフトウェア:「Linuxカーネル」
ネットワークを通じてアクセスできるファイル置き場を提供するための、LAN向けのサーバー。ファイル置き場には「NFS」という、主にUNIX系OSで使われるネットワークシステムを使ってアクセスできる。 - FTPサーバー
ソフトウェア:「vsftpd」「ProFTPD」
特定ユーザー、あるいは不特定ユーザーに公開するファイルの置き場を提供するためのサーバー。Webサーバーにコンテンツを送信するために良く使われる。 - SSHサーバー
ソフトウェア:「OpenSSH」「Dropbear」
安全なリモート操作やファイル転送などを実現するサーバー。SSHサーバーを稼働しているOSにログインしたり、コマンドのリモート操作、ファイルの送受信といった処理が可能となる。公開鍵をつかった認証や、通信路の暗号化による安全性の高さが特徴。 - DNSサーバー
ソフトウェア:「BIND」「NSD」
ホスト名やドメイン名とIPアドレスを変換するサーバー。ネームサーバーとも呼ばれる。管理下のドメインに関する問い合わせだけに回答する「DNSコンテンツサーバー」と必要に応じて他のDNSコンテンツサーバーに問い合わせて、全ドメインについての問い合わせに回答する「DNSキャッシュサーバー」の2種類がある。 - DHCPサーバー
ソフトウェア:「ISC DHCPD」「dnsmasq」
ネットワーク機器にIPアドレスなどのネットワーク設置情報を配信し、設定の自動化を実現するサーバー。配信する情報には有効期限を設定でき、IPアドレスのような限られた資源を複数の機器で効率良く共有できる。 - プロキシサーバー
ソフトウェア:「Squid」「DeleGate」
ターゲットとの通信を代行して結果をユーザーに返すサーバー。LANでの運用は、結果のキャッシュによる通信データ量の抑制や処理高速化、セキュリティ向上などが目的。インターネットでの運用は、アクセス元の秘匿やアクセス規制の迂回などが目的。 - データベースサーバー
ソフトウェア:「PostgreSQL」「MySQL」
データを管理するサーバー。データを表などの形式で格納し、クライアントから送られてくる条件に対して一致するデータを出力する。 - VPNサーバー
ソフトウェア:「OpenVPN」「xl2tpd」
インターネットなどの安全ではないネットワーク上に、安全な通信ができる仮想的な専用線を設置して異なるLAN同士の接続などを可能にするサーバー。 - アプリケーションサーバー
ソフトウェア:「Apache Tomcat」「JBoss Application Server」
アプリケーションの実行環境や実行管理機能を提供するサーバー。一般には企業向けバージョンのJava言語で記述されたWebアプリケーションを稼働できるものを指す。 - SNSサーバー
ソフトウェア:「OpenPNE」「BuddyPress」
mixiやFacebookのような会員制のコミュニケーションサービスを提供するサーバー。
もう少し役割ごとに羅列したいが、いまいち内容が理解できていないサーバーもあるので、そのうちまとめなおす。
それと参考にした本が古いので、新しいサーバーも調べておく。
ちなみに、Windowsファイルサーバー、SSHサーバー、FTPサーバー、ブログサーバーは既に使っている。
サーバーを構築したら、運用管理が続く。主に2つの作業。
「設定変更」と「トラブル対応」
これは、今後、学んでいく。
それと、「ネットワーク」についても、後日、学ぶ。
参考図書
ポチっとしてくれたら、うれしいです。