Index

初めての方へ

(ビギナー用セクション・プロジェクトマネージャー、ディレクター向け)
  1. サーバとは何か?
  2. 主なサーバの種類
  3. サーバに関連する会話集

より深く追求される方へ

(開発者・フルスタックエンジニア向け)
  1. 各サーバについて

1 はじサーバとは何か?めに

サーバは何かと言われた時、多くはWebサーバの事を指し、そのサーバの利用形態(共用か占有かとか、仮想化されてるか等)が上げられる事が多い。

しかし、これらのサーバの多くは

  • WEBサーバ
  • DBサーバ
  • webサーバ
  • DNSサーバ

などがパッケージングされた物である事が多い。

使用したいパッケージや組み上げたいシステム構成によってはこれらを明示的に指定、構成する必要が出てくる。

特に小規模のBtoCのようなレンタル共用サーバでOKな場合を除き、占有の物を借りる場合はサーバ業者の協力を得ながら構成を行う事が望ましい。

2 主なサーバの種類

  • WEBサーバ
  • DBサーバ
  • Websocketサーバ
  • DNSサーバ
  • アプリケーションサーバ
  • PUSHサーバ ※
  • プロキシサーバ(LB等含む)

3 サーバに関連する会話集

  • プッシュ通信したいけど、普通のWebサーバじゃだめだよね。PUSHサーバ用意しないと
  • WEBサーバを冗長化するためにLB(ロードバランサ)が必要だね

4 各サーバについて

サーバと名のついた物が多数あるが、基本は「アクセス可能な配信サービス等を提供する機器」を指す

アクセス方法やポートは多岐に渡り、ブラウザはもちろんメールクライアントのアクセス、アプリからだけのアクセスなどがある。

それぞれのサーバには設定(conf)ファイルがあり、常時起動させる手段(centosのsystemctlなど)があり、Logを取る事が可能となっている。

またアプリケーションサーバ(ruby,javaなどが動く物)やPushサーバ(アプリにpush通知を送る物)などは通常のサーバと性質が違う。

4-1 アプリケーションサーバ

4-2 PUSHについて

4-3 プロキシサーバ

4-4 DNSサーバ

4-5 メールサーバ

メールサーバー構築(Postfix+Dovecot)

MTA(メール転送エージェント) ※送信メールサーバー
– Sendmail
– Postfix
– Qmail

  • Microsoft Exchange Server

MDA(メール配送エージェント) ※受信メールサーバー
– DoveCot

4-6 WEBサーバ

主なWebサーバ

  • apache webサーバ

    apache 2.2.x
    https://qiita.com/zaburo/items/b9c3c8c541ffd16797fc

  • nginx

  • windows webサーバ

Index

初めての方へ

(ビギナー用セクション・プロジェクトマネージャー、ディレクター向け)
  1. はじめに
  2. ビギナー向け・ドキュメント
  3. 会話集

より深く追求される方へ

(開発者・フルスタックエンジニア向け)
  1. より深く理解する為に
  2. その他CMS

1 はじめに

CMSとは?

コンテンツ管理システム(Content Management System)の略称です。

基本はDBを元にコンテンツを生成するのですが、動的にページを作る物と静的に作る物に分ける事ができます。
また、OSSやベンダーによるサポートがある物などを含めると数多くのCMSが存在します。
さらにCMS自体がどんな言語で作られているかによって、動作するサーバも変わってきます。

無償利用が可能の物(商用の場合有料も含む)
wordpress
MovableType
Drupal
Baser CMS
concrete5
soy cms
Baked
OpenPNE

完全有料の物
PowerCMS
vibit CMS
NOREN
RCMS

2 ビギナー向け・ドキュメント

  • CMSを知るためにはCMSを実際に利用するのが一番

  • wordpress.com

    wordpessのホスティングサービス、あらかじめインストールされたwordpressを利用でき、決められた範囲内であれば無料で登録利用できる。

  • xamppを利用したMTのインストール

    MTは個人利用や開発利用は一部無償の為、開発環境などで動作を確認するのが良い。

3 会話集

  • フルスクラッチでCMSのシステムを構築するよりは、パッケージがはるかに安く済むよね。ベンダーサポートもあるし。
  • CMSには動的CMSと静的HTMLを吐き出すCMSの2つの種類があるよね。
  • ベンダーがついている有償のCMSを選ぶか、OSSの無料のCMSを選ぶのか
  • 有償のCMSのライセンス形態はサーバー単位だったりマルチドメインだったり色々あるので細かく調べた方がいいね。

4 より深く理解する為に

費用を安く済まそうとするとサポートや保証がほとんど無くなる。
ある程度のサポートやセキュリティ、バグ対策にはベンダーがついているパッケージ購入が望ましい。

フルスクラッチ開発の場合は開発して終了でなく、サポートという形が取れるように予算組みをする必要がある。

また、欲を言えば、どのCMSも年毎の保証、サポートとして契約するのが望ましく、メジャーバージョンアップには開発費用が発生する旨も抑えておく必要がある。


5 その他CMS

国産CMS

使用例

ホスト名を表示する

例えば手元のmacbook airで実行してみると

$ hostname

MacBook-Air.local

となる。

ホスト名を設定する


$ sudo hostname test 権限のあるユーザで実行する $ hostname test

これでホストネームが testに変更される

サーバ上では・・・

ホストネームはドメイン名で設定されている

$ hostname

test.co.jp

※ -s オプションでドメイン名は非表示に
$ hostname -s

test

その他のオプション

-a  --alias ホストの別名(alias)があれば表示する
-d  --domain    DNSドメインの名前を表示する
-f  --fqdn,--long   FQDN(Fully Qualified Domain Name)を表示する
-A  --all-fqdns 全てのFQDN(FQDNs)を表示する
-i  --ip-address    ホストのIPアドレスを表示する。設定時も使用可能
-I  --all-ip-addresses  全てのアドレスを表示する
-s  --short 短い形式のホスト名(最初のドットまでの名前)を表示する
-y  --yp,--nis  NISドメイン名を表示する。設定時も使用可能
-v  --verbose   起こっていることを逐一表示する(verboseモード)
-F  --file filename 新しいホスト名を指定したファイルから読みこむ(「#」から始まる行はコメント扱い)

フルスタックエンジニアになる為に必要な知識、技術

今回からは具体的にフルスタックエンジニアになる為の技術や知識の話になります。

技術や知識の定義は色々ありますが、これらの区分けを行うなら

  • 技術とは「実現可能な問題解決手法」であり
  • 知識とは「セグメント分けされた物理、事象への判断」です。

この2点には初期段階では意識しない知の罠が存在します。

続きを読む