サーバとは
サーバとは、サービスを提供するコンピュータのことで、クライアントからの要求に対して情報や処理結果を提供する機能を果たす側のコンピュータやソフトウェアを指す。(Wikipediaより)
このように、サーバはクライアントからの要求に対してレスポンスを返すサービスまたはそのコンピュータのことを指します。
サーバの種類
サーバにもいろいろな種類があり、専用のソフトウェアをインストールすることによりサーバ機能を提供しています。代表的なサーバの例をあげると、
-
Webサーバ
Webサイトの機能を提供します。HTMLファイルや画像ファイルなどをおいておき、動的なサイトの場合は、プログラムもおいておきます。クライアントからのアクセスがあると、それらのファイルを提供します。 -
メールサーバ
メールのやり取りをするためのサーバです。メールの送受信を担当するSMTPサーバとクライアントにメールを受信させるPOPサーバやIMAPサーバがあります。一般的にはこれらをまとめてメールサーバと呼ぶことが多いです。 -
プリンタサーバ
コンピュータネットワーク上に配置されたプリンタを複数のクライアントコンピュータから使用する際にリクエストを適切に処理し、効率よく印刷を行わせるためのサーバです。 -
ファイルサーバ
ファイルを保存して共有するためのサーバです。アクセス権を設定することもでき、一部の人だけが読み書きできるようにすることもできます。 -
FTPサーバ
FTPプロトコルを用いて、ファイルの送受信を行うサーバです。Webサーバと同時に設置されることが多く、ファイルなどのアップロードに用いられます。 -
DNSサーバ
ホスト名やドメイン名などとIPアドレスを結びつけるサーバです。 -
DHCPサーバ
IPアドレスを自動的に割り振るサーバです。
などがあります。
1台のサーバPCに複数のサーバソフトウェアを稼働させ、サービスを提供することも可能となっています。
サーバOS
サーバOSとは、サーバを稼働させるために必要なソフトウェアをインストールするためのOSです。サーバOSを大まかに分類すると次のようになります。
- Windows系列 (Windows Server)
- Unix系列
- Linux
- CentOS、RHEL
- Debian、Ubuntu
- SUSE
- Arch Linuxなど
- BSD
- OpenBSD
- FreeBSD
- NetBSDなど
- Solaris
- Linux
Windows系列はMicrosoft社が提供するサーバOSで、Windowsと同じようにGUI操作で設定を行うことができます。
Unix系列はベル研究所によって開発されたUnixをベースに作られたOSで似たようなコマンドで動作します。
また、Unix系列はCLIで操作することを前提としているため、コンソール画面でコマンド入力することで設定を行います。
CentOSは、Linuxのオープンソース規約に基づき、Red Hat社が販売しているRHEL(Red Hat Enterprise Linux)の有償部分(サポートなど)を取り除いたOSです。そのためCentOSはRHELとほとんど同じで、サーバOSとしてよく用いられます。
サーバ構築
今回は普段から使用しているArch LinuxをサーバOSとして用いてWebサーバを構築します。
Apacheのインストール
# pacman -S apache
サービスの開始と有効化
# systemctl start httpd.service
# systemctl enable httpd.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
ウェブブラウザで [local host] (http://localhost/) を開いて、この画面が出ればApacheの起動に成功です。