Index

初めての方へ

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

より深く追求される方へ

(開発者・フルスタックエンジニア向け)
  1. より深く理解する為に
  2. 関連ワード
  3. 要点チェック
  4. 一般的な規約
  5. 前提知識・資料
  6. テスト、デバッグ方法
  7. その他・関連ツール
  8. 補足

1 はじめに

サーバサイドの言語の特徴は実行がサーバ側で行われる為、ブラウザで元のソースコードの確認ができないという点にある。サーバで解釈され、動的にページを吐き出す為、動的言語とも呼ばれる。

代表的な言語

  • PHP
  • Perl
  • JAVA
  • Ruby
  • Python
  • Go
  • C#,VB・・・・

これらは厳密にはWebサーバやアプリケーションサーバなどに応じて、動作する環境が異なる。
極端な話、Javascriptであってもサーバ側で解釈され、動作するNode.jsのような言語もあるため、サーバ側がWebへコンテンツを配信する仕組みさえ揃っていればどんな言語でも使用できるとも言える。
※なかにはShellスクリプトだけでシステム開発やCMS開発を行う開発手法も存在する。

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

3 会話集


4 より深く理解する為に


5 関連ワード


6 要点チェック


7 一般的な規約


8 前提知識・資料


9 テスト、デバッグ方法


10 その他・関連ツール


11 補足


Index

初めての方へ

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

より深く追求される方へ

(開発者・フルスタックエンジニア向け)
  1. より深く理解する為に
  2. 関連ワード
  3. 要点チェック
  4. 一般的な規約
  5. 前提知識・資料
  6. テスト、デバッグ方法
  7. その他・関連ツール
  8. 補足

1 はじめに

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

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

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

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

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

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

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

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

3 会話集


4 より深く理解する為に

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

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

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

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


5 関連ワード

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

6 要点チェック

  • サーバ単体で動作する物
  • ウェブサーバと性質が異なる物

7 一般的な規約


8 前提知識・資料

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

8-2 PUSHについて

8-3 プロキシサーバ

8-4 DNSサーバ

8-5 メールサーバ

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

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

  • Microsoft Exchange Server

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

8-6 WEBサーバ

主なWebサーバ

  • apache webサーバ
  • nginx
  • windows webサーバ

9 テスト、デバッグ方法


10 その他・関連ツール


11 補足

Index

初めての方へ

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

より深く追求される方へ

(開発者・フルスタックエンジニア向け)
  1. より深く理解する為に
  2. 関連ワード
  3. 要点チェック
  4. 一般的な規約
  5. 前提知識・資料
  6. テスト、デバッグ方法
  7. その他・関連ツール
  8. 補足

1 はじめに

CMSとは?

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

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

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

完全有料の物
– PowerCMS
– NOREN
– RCMS

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

3 会話集


4 より深く理解する為に


5 関連ワード


6 要点チェック


7 一般的な規約


8 前提知識・資料


9 テスト、デバッグ方法


10 その他・関連ツール


11 補足

国産CMS

HITACHI
学校向けCMS「4Uweb/CMS Smile」
クラウド型サービスで、「学校と地域をつなぐ」ホームページ運営をサポートします。
http://www.hitachi-gp.co.jp/service/web/smile/index.html

ALAYA
http://www.kanata-jp.com/alaya7.html?gclid=CM271PrBntMCFQoQvQod144Esg

CMS『ant2』のご紹介
http://ant2oem.net/service/cms/

CMSの構築ならRCMS
https://www.r-cms.jp/?gclid=CJuc-pHEntMCFRMHvAodMEsNgQ

XOOPS Cube
http://xoopscube.jp/

baserCMS
http://basercms.net/

ablogCMS
https://www.a-blogcms.jp/

CMS-Engine
http://cms-engine.iqnet.co.jp/?gclid=CPul4-zFntMCFQGbvQodg-UFUw

soyCMS
https://www.soycms.net/

OpenPne

トップページ

使用例

ホスト名を表示する

例えば手元の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点には初期段階では意識しない知の罠が存在します。

続きを読む