未経験者・初心者向けのインターネット上のサーバ入門ガイドです。サーバの学習を始めてみようと考えている方にとって、このページが始めの一歩となればと思います。
※ 本ページはプロモーションが含まれています。
サーバは、インターネット上のサービスを提供するコンピュータの事です。ネット上には多くのコンテンツ(サービスやメディア)がありますが、そのコンテンツを提供・配信しているコンピュータがあり、それがサーバです。
みなさんが普段見たり、利用しているYoutube、Yahoo、Line、twitter、gmailなどのサービスもサーバが提供しています。また、iPhoneやandroidのスマホアプリもサーバとデータのやりとりをしながらサービスが提供されているものが多いです。
サーバはサービスを提供するコンピュータだと書きましたが、多くの種類に分類されています。
大まかな分類でいくつかのサーバを説明してみます。
ウェブサーバ
ネット上のウェブサイト、Webサービスを提供するサーバです。ネット上のあらゆるウェブサイトはウェブサーバが提供しています。Youtube、Yahoo、twitterなどのサイト(サービス)もウェブサーバが提供しています。ITエンジニアの間では、HTTPサーバ、アプリケーションサーバ、APIサーバという感じで細かく分けられたりもします。
DBサーバ
DB(データベース)サーバは名前どおり、データの登録、保持、検索などのサービスを提供するサーバです。
メールサーバ
最近メールを使わないという人も増えてきてますが、それでもビジネスの世界ではまだよく使われています。メールサーバは、裏でメールを送信・受信するサービスを提供するサーバです。
DNSサーバ
DNSサーバは、ドメインとIPアドレスの情報を保持していて、それぞれの情報を相互に変換するサービスを提供するサーバです。ウェブサイトを見ているだけなら、全く意識する事がないサーバだと思います。
プログラマやインフラ系エンジニアになりたい、ネットに詳しくなりたいという方は、とりあえず上で説明したサーバを理解して、ある程度使えるようになると良いと思います。すでにITエンジニアとして仕事を始めた人は嫌でも覚えていくと思いますが(メールサーバに関しては、メール自体が最近使う機会が減ってきていると思いますが。。)
最近流行りの(流行というより当たり前になっている)クラウドサービスですが、実はクラウドもサーバからできています。たくさんのサーバが効率よくサービスを提供できるようにコンピュータ機器を仮想化して扱いやすくした物がクラウドです。
ですので、クラウドの事を知る、勉強するという事は、まずはサーバの事を事を知る、勉強するという事になります。そして、クラウドを使いこなせるクラウドエンジニア、もしくはクラウドを作るエンジニアになるには、サーバの事を学習する必要があります。
クラウドサービスでメジャーなものには、AWS、GCP、Azureなどがあります。特に、AWSは仕事でもよく使わていますので、将来プログラマやITエンジニアとして働きたい方は、仕事をし始めたらそのうちAWSを学習する機会が出てくると思います。
ネット上で多くのサービスを提供するサーバですが、サーバの知識やサーバ構築・管理のスキルは、ITエンジニアに必要とされるスキルです。特に、ネットワークエンジニアや構築・運用などのインフラ系エンジニアにとっては必須スキルです。
そして、プログラマもサーバの知識は必要ですし、サーバを扱いやすくしたクラウドを使いこなせるスキルがあると、プログラマにとって強い武器になります。自分でクラウド上に仮想サーバを構築し、プログラミングをして作ったサービスを提供するという事までができるようになります。
今までネットを利用したり、コンテンツを見ているだけだった人が、サーバの知識や構築するスキルを身につけたり、ウェブサイトやWebサービスを作成できるようになると、サーバが提供するサービスを利用するだけの側から、サーバを作る側、構築する側、ネットサービスを提供する側にまわることができます。
プログラマやインフラ系のエンジニアになってネットサービスを提供する側へまわりたいと考えている方にとって、サーバについて学ぶ事はとても役立つスキルになるはずです。
未経験からサーバの知識やサーバ構築・管理のスキルを身につけるには、何から手をつけたらいいのでしょうか。
基本となる知識とスキルは、コマンド操作とネットワークの知識が重要になってくると思います。この2つについては、別ページに書いていますので参考にしてください。
未経験者のためのLinuxコマンド入門ガイド
未経験者のためのネットワーク入門ガイド
あとは実際に手を動かして、サーバを構築してみたり、使ってみる事でスキルがつくはずです。習うだけじゃなくて慣れるという感じです。「コマンド操作を勉強する環境を用意するには」でも書きましたが、おすすめの方法は2つで、自分が使っているパソコンに仮想マシンのLinuxを入れる、もう1つはレンタルサーバを借りたり、AWSなどのクラウド上のサービスを利用する方法もアリだと思います(AWSではec2というサービスでサーバをすぐに作成できます)。
何かWebサービスを作る、サイトを作成するとか具体的な目標があった方がいいかもしれませんが、未経験だとまず何ができるのかすらわからないかもしれません。それでもサーバについて知りたいという好奇心や、プログラマやITエンジニアになりたいという気持ちで始めてみてもいいと思います。そう考えている方は、是非サーバの世界へ入ってチャレンジしてみてください!
CentOS徹底入門 第4版
Linuxサーバの中でもメジャーなCentOSの入門書です。メジャーバージョンは最新のCentOS8です。CentOSのインストールから始まり、サーバの基本的な操作や設定、セキュリティの設定、ウェブサーバなどの各種サーバについて触れています。Linuxやサーバが初めての人にとっては少し重い一冊になるかもしれませんが、CentOSでどんな事ができるかがわかると思います。
イラスト図解式 この一冊で全部わかるサーバーの基本
自分でサーバを構築してみるという内容ではなく、サーバがどのようなものかが書いてある本です。まずは、サーバが何かをもう少し詳しく知りたい人、サーバの知識をつけたい人にとってはいいと思います。
AWSではじめるLinux入門ガイド
AWSでLinuxの仮想マシンを起動して学習できる本です。AWSも初めてだけど使ってみたい、AWS上でLinuxの学習がしてみたいという方にとってはいいと思います。
OracleVM VirtualBoxのインストール手順<Windows向け>
OracleVM VirtualBoxのインストール手順<macOS向け>
サーバ入門の準備段階ですが、WindowsやmacOSでLinuxの仮想マシンが使えるようになるVirtualBoxのインストールについて説明されています。VirtualBoxをインストールして、さらに使いたいLinuxの仮想マシンをインストールすれば、Linuxが使える環境が作れます。