「.htaccess」 は、Apache による Webサーバの設定を行うファイルです。
.htaccess は先頭にドットが付きますが、Unix系のオペレーティングシステムにおける隠しファイルを意味し、htaccess はファイル名であり拡張子ではありません。隠しファイルはコマンドラインのターミナルでは、通常は隠れて見えません。
隠しファイルにしてある理由は、重要であるファイルを誤って消さないための設定です。
.htaccess はサーバーのディレクトリ(フォルダ)ごとに設定することができます。あるディレクトリに.htaccess を置けば、該当するディレクトリとそのサブディレクトリすべてにサブディレクトリすべてに、設定する内容であるディレクティブを適用することができます。
たとえば以下の制御を行う設定ができます。
・IDとパスワードによるアクセス制限
・特定のホストからのアクセス制限
・参照元によるアクセス制限
・ページのリダイレクト
など
その他にも、WordPress の管理者用ログインURLは、変更しなければ次のように決まっています。
/wp-admin/login.php
このままでは、悪意のある第三者から攻撃を受ける恐れがあります。そこで、.htaccess ファイルに別のログインURLを指定することにより変更できます。ログインURLが変われば、第三者がブルートフォース攻撃をしかけることはできません。
「AAAAリソースレコード AAAA resource record」は、DNS(Domain Name System)で使用する情報の一つで、ドメイン名に相当するIPv6アドレスを指定するリソースレコードのことです。
<例>
一つのドメイン名について、複数のIPアドレスを指定することができます。
ns1.example.jp. IN AAAA 1001:ac6::1
ns2.example.jp. IN AAAA 1001:ac6::2
server.example.jp. IN AAAA 1001:ac6::a1
server.example.jp. IN AAAA 1001:ac6::a2
server.example.jp. IN AAAA 1001:ac6::a3
「AAAAリソースレコード AAAA Resource Record」の項目をご覧ください。
Apache はHTTPサーバのソフトウェアです。
Apache はオープンソースのソフトウェアプロジェクトを支援する団体であるApache Software Foundationにより開発されたものです。
利用者がサーバに接続すると、サーバソフトウェアがwebページのデータを送信することにより閲覧できるようにします。サーバアプリケーションではこのような仕組みが必要です。Apache は、この類のソフトウェアでは世界中でもっとも多く使われていると考えられます。
もう少し詳しい説明は、利用者があるwebページを閲覧しようとするとき、サーバマシンとつなぐためには必ずHTTPプロコルで通信を行います。このときサーバーマシンに必要なのが、HTTPサーバの機能を備えるソフトウェアです。
Apache は機能単位でモジュールに分かれており、組み合わせて利用します。複数のOSで利用できる工夫がなされています。伝統的なUnix OSでは forkプロセスと呼ぶ、自身の分身を生成する処理により同じ機能を有するプロセスを作り出して利用します。
なお、プロセスは実行中のプログラムのことです。forkプロセスは相応のオーバーヘッドがあるため、そのままの状態では、リアルタイムで応答しなくてはならないアプリケーションにおいては待ち時間が発生します。この時間を見かけ上は無いように見せる prefork という仕組みにより、あらかじめ fork しておいたプロセスを利用することで高速に応答できる仕組みがあります。
「Aリソースレコード A resource record」は、DNS (Domain Name System)で使用する情報の一つで、ドメイン名に相当するIPv4アドレスを指定するリソースレコードのことです。
<例>
一つのドメイン名について、複数のIPアドレスを指定することができます。
ns1.example.jp. IN A 10.0.1.1
ns2.example.jp. IN A 10.0.1.2
server.example.jp. IN A 10.0.1.11
server.example.jp. IN A 10.0.1.12
server.example.jp. IN A 10.0.1.13
「Aリソースレコード A Resource Record」の項目をご覧ください。
Basic認証 (Basic Authentication) は、HTTPプロトコルで使う認証の方式で、ユーザー名とパスワードをBae64で符号化して送る方法です。単純な方式のため、盗聴や改竄の危険があります。
なお、Base64は元のデータ(情報)を、64種類の英数字に変換するもので、日本語などの2バイト文字でも変換することができます。電子メールの送受信では英数字のみしか扱えないため頻繁に利用します。
BINDは、世界中で最も広く使われている DNS (Domain Name System)ソフトウェアです。DNS
はインターネットにおいて、電話帳に相当する機能です。DNSの機能を提供するのはDNSサーバです。DNSサーバには二種類の異なる機能があり、BINDは両方の機能を備えるため双方の用途に利用することができます。
一つ目の機能はDNSコンテンツサーバで、二つ目は、DNSキャッシュサーバです。二種類のサーバはいくつかの呼び方がありますが、いずれも二つのうちのどちらかです。
クライアントはwebサーバに接続することで閲覧できますが、接続する前にwebブラウザはwebサーバのIPアドレスを知る必要があります。DNSは、ドメイン名からIPアドレスを提供する役目を担います。
「DNSコンテンツサーバ」の項目もご覧ください。
「DNSキャッシュサーバ」の項目もご覧ください。
詳細については、下記の参考記事もご覧ください。
DNSについての詳細は、次のページにまとめました。
ドメインとDNS Domain and DNS: Domain Name System
Linux の種類の一つです。
レンタルサーバーでは選ぶ際の選択肢の一つであることが多いです。
CentOSは最も有力なLinuxの種類である RHEL (Red Hat Enterprise Linux) の系列です。RHELのクローンであり完全互換を目指したものです。RHELは有償のOS であるのに対し、CentOSはフリーライセンスにより無料で利用できる点が大きく異なります。
CGI (Common Gateway Interface) は、webサーバ上で利用者からの要求でプログラムを実行する
仕組みのことです。
webサーバの通常の動作は、利用者が要求するwebページのデータを送信します。閲覧するwebページのデータは、運営する側があらかじめ用意しておきます。
このように、webサーバは、通常あらかじめ用意したものを閲覧者のブラウザに表示するだけです。これだけではサーバ上にあるデータを送信するのみで、たとえば掲示板に投稿する仕組みは実現できません。なぜかというと、掲示板に投稿する内容を前もって用意しておくことはできないからです。
そこで、webサーバ上にCGIスクリプトというプログラムを設置しておきます。閲覧者がURLで指定すると、投稿できる窓を表示し、そこへ投稿します。webサーバは投稿した結果を閲覧者のwebブラウザに送信することができます。
CMS (Contents Management System) はwebコンテンツを構成する要素を管理する
ソフトウェアです。
CMSでは情報をデータベース化して管理します。よく知られたものには WordPress がありますが、この他にいくつものCMSが存在します。
Cron はあらかじめ予定の時刻にソフトウェアを起動するシステムで、自動バックアップのタスクを起動したり、メール配信などの動作を設定することができます。
CSS (Cascading Style Sheet) は、HTMLコードでwebページを記述する際に使います。HTMLコードはすべてのwebページにおいて必須であるページ記述言語の一種です。
WordPress などの CMS (Content Management System/Software) の環境ではHTMLを意識することなくページを構成することもできますが、内部の仕組みはHTML抜きに語ることはできません。
CSSの役割は、主に文字や画像の配置などのデザインに関する要素を細かく決めるものです。CSSを利用せずにHTMLだけでも同様のことはある程度はできますが、HTML内に記述するとわかりにくい欠点があります。
また,この方法はSEO上も好ましくないと言われます。
CSSは、webページの外観に関する部分をHTMLから分離することができ、HTMLだけでは表現できない細かいことまで表現できます。CSSの主要な機能を果たすキモはBOXモデルですが、HTML単体には存在しない機能です。
DNS (Domain Name System) は、簡単に言えばインターネットの電話帳です。
利用者がインターネット上のwebページを閲覧するとき、閲覧する対象はどこかに存在するサーバに記録したwebページの情報です。利用者は意識しなくても、お互いに接続する際には双方でIPアドレスが必要です。
IPアドレスは非常に桁数の多い番号ですから利用者が覚えることは困難ですが、覚えにくい多くの桁からなる数字の代わりにドメイン名を利用することができます。
DNSは利用者がドメイン名を入力するとIPアドレスを自動で調べる仕組みで、インターネットが機能するためには欠かせない機能です。
DNSについて、詳細は次の記事をご覧ください。
ドメインとDNS
DNSキャッシュサーバは、ISP(インターネット・サービスプロバイダ)や企業などが設置するサーバの一種です。
DNSキャッシュサーバの役割と機能は、インターネット上で階層化して構成するネームサーバなどと呼ぶサーバからドメインの情報を探して利用者のコンピュータなどの装置へ回答します。
インターネット上に存在する「DNSサーバ」と呼ぶ装置には二種類あります。
1. DNSコンテンツサーバ(別名はネームサーバなど)
2. DNSキャッシュサーバ
二種類の「DNSサーバ」は、役割も機能もまったく異なりますが、巷には「DNSサーバ」の呼び名が蔓延している状態です。
DNSキャッシュサーバはそのうちの一つで、同じ「DNSキャッシュサーバ」のことを言う場合にいくつかの表現が存在し、名前の統一がなされておらず混乱しがちです。
DNSキャッシュサーバの別名
・DNSサーバ
・参照DNSサーバ
・参照サーバ
・フルリゾルバ (full resolver)
・フルサービスリゾルバ (full service resolver)
・recursive サーバ
DNSクエリ (query) は、利用者がwebサーバを閲覧する際に、IPアドレスが不明なときDNSキャッシュサーバがDNSコンテンツサーバへ送信する問い合わせのことです。
DNSの仕組みについて、詳細は次の記事をご覧ください。
ドメインとDNS
DNSコンテンツサーバは、インターネット上に階層化して構成するサーバです。ルートドメインから始まり、TLD(トップレベルドメイン)、その下へ続くサブドメインのサーバがあり、サブドメインはさらにいくつかの階層に分かれることがあります。
DNSコンテンツサーバの役割と機能は、ドメイン名を提供します。
利用者がインターネット上のwebページを閲覧する際には、どこかに存在するサーバに接続しますが、お互いにIPアドレスが必要です。IPアドレスは桁数の多い番号のため利用者が覚えておくのは現実的ではなく困難です。その代わりにドメイン名を利用します。
DNSコンテンツサーバは、インターネットの電話帳の一部に相当します。具体的な役割は、利用者の装置が発信する問い合わせを、ISP(インターネット・サービスプロバイダ)や企業などが設置するDNSキャッシュサーバで経由し、ドメイン名を回答します。
インターネット上に存在する「DNSサーバ」と呼ぶ装置には二種類あります。
1. DNSコンテンツサーバ
2. DNSキャッシュサーバ
二種類の「DNSサーバ」は役割も機能もまったく異なりますが、巷には「DNSサーバ」の呼び名が蔓延している状態です。
DNSコンテンツサーバはそのうちの一つで、同じ「DNSコンテンツサーバ」のことを言う場合にいくつかの表現が存在し、名前の統一がなされておらず混乱しがちです。
DNSコンテンツサーバの別名
・権威DNSサーバ (authoritative DNS server)
・権威ネームサーバ (authoritative name server)
・ネームサーバ (name server)
・ゾーンサーバー (zone server)
DNSスタブリゾルバ (DNS Stub Resolver) はDNSキャッシュサーバの別の呼び方です。
「DNSキャッシュサーバ」の項目をご覧ください。
DNSゾーン転送は、DNSコンテンツサーバが所持するドメイン空間の情報を、別のDNSコンテンツサーバへ同期するために転送する動作のことです。
DNSゾーン転送の目的は、一次サーバの情報を二次サーバへコピーしておき、一次サーバがダウンしたときの不測の事態に備えるバックアップです。
DNSフルサービスリゾルバ (DNS Full Service Resolver)は「DNSキャッシュサーバ」の別の呼び方です。
「DNSキャッシュサーバ」の項目をご覧ください。
DNSフルリゾルバ (DNS Full Resolver)は「DNSキャッシュサーバ」の別の呼び方です。
「DNSキャッシュサーバ」の項目をご覧ください。
DNSメッセージ (DNS message)は、名前解決の処理を行うためにサーバー間でやりとりする情報のことです。問い合わせメッセージと応答メッセージの二種類あります。
問い合わせメッセージは、DNSキャッシュサーバがDNSコンテンツサーバに対し発行し、応答メッセージはDNSコンテンツサーバーから問い合わせ元へ応答します。
DNSメッセージの構成を説明します。
──────────────────
Header section
──────────────────
Question section
──────────────────
Answer section
──────────────────
Authority section
──────────────────
Additional section
──────────────────
DNSルートは、DNSコンテンツサーバを階層化して構成したときの起点にあたるノード(節)を示す論理的な場所のことです。DNSルートには、DNSルート・コンテンツサーバを設置してあります。
DNSルートは、インターネットが機能するためには非常に重要な要であり、もしここで稼働するすべてのサーバに障害が発生するとインターネット全体は機能不全に陥ります。
一台の装置ですべての要求に応えることは、様々な観点から現実的ではないため複数の装置で構成しますが、外からDNSルートを見たときは一台の装置に見えるように工夫がなされています。
実際には13クラスタ(集団)、つまり13のグループに分かれてサーバを設置してあります。
一つのクラスタでは複数のサーバマシンが稼働しますが、クラスタごとに一つのIPアドレスが割り当てられます。
複数の装置が一つのIPアドレスに見えるための仕組みがあり、IP Anycast により実現します。
13のグループは全世界の様々な国に分散し、DNSルートは、全世界では1000台近いサーバマシンが稼働中です。
DNSルートはまた、ドメイン名と密接な関係があります。
ドメイン名やDNSルートの詳細は、次の記事をご覧ください。
ドメインとDNS
DNSレコード (DNS record)は、DNSコンテンツサーバが担当するドメイン名空間の情報のことで、記録した情報はファイルに保存します。
記録する内容は、ドメイン名とこれに相当するIPアドレスや、その他の付帯情報です。
DNSレコードの例
01 $TTL 86400
02 mylab.com. IN SOA PC4.mylab.com. hostmaster.mylab.com. (
03 1 ; serial
04 28800 ; refresh
05 7200 ; retry
06 604800 ; expire 86400 ; ttl
07 )
08 ;
09 mylab.com. IN ; NS PC4.mylab.com.
10 ;
11 localhost A 127.0.0.1
12 PC4.mylab.com. A 10.0.1.41
13 PC3.mylab.com. A 10.0.1.21
14 PC2.mylab.com. A 10.0.1.31
15 PC1.mylab.com. A 10.0.1.11
FTPは File Transfer Protocol の略で、ファイル転送のプロトコルです。
用途は、HTML、CSSなどで構成する webサイトを作る際に利用します。
ただ、FTPは古い仕様でセキュリティの問題があります。FTPSやSFTPなどの通信を暗号化するプロトコルを利用するほうが安全です。
なお、FTP は TCP/IP プロトコルを利用することにより、通信エラーが発生しても高信頼度を保証します。
FTP(File Transfer Protocol:ファイル転送プロトコル)を利用して、ファイルの送受信を行うサーバーソフトウェアで、また、FTPサーバーソフトが動作するサーバー機のことです。
FTPは、たとえばwebサイトをHTMLで制作する場合は、FTP機能を備えるアプリケーションソフトでファイルをアップロードします。
最近は、webサイトのファイルマネージャー機能でドラッグ&ドロップにも対応するところもあります。
FTPでアップロードする利点は、たとえば更新したファイルのみを、いちいち指定せずに半自動でローカルファイルと同期する機能があります。
HTTPは、Hyper Text Transfer Protocol の略で、文書間で参照できる仕組みを備えるHyper Text を転送するときの通信プロトコルです。具体的には、webページを閲覧するときに使います。
Hyper Text の代表的な例は HTMLで記述したファイルです。
HTTPは、インターネットを利用する際には欠かすことのできない仕組みですが、最近は通信の秘匿性を保つために HTTPS に変わりつつあります。
HTTPSは、Hyper Text Transfer Protocol の略で、文書間で参照できる仕組みを備えるHyper Text を転送する点は HTTPと同一ですが、この機能に加えて通信のセキュリティ機能を備えるものです。
HTTPSは、厳密にはプロトコルではなく、SSL/TLSプロトコルを利用します。
HTTPサーバは、インターネットにおいてクライアントから要求を受け取り、情報を送信する役割を担うコンピュータのことです。
HTTPサーバは、webページを閲覧するためにHTTPプロトコルによる通信を行います。HTTPサーバの名前はこのためです。
サイトを作成して公開するためにはHTTPサーバが必要です。多くの場合はこれをレンタルするか、または自前で用意する必要があります。
インターネットでは、接続した先のサイトにあるのはHTTPサーバ(webサーバ)です。クライアントから接続要求を受け取ったwebサーバはサイトを表示しますが、実際の動作はクライアント側のコンピュータが index.html ファイルを受信することでwebブラウザの画面に表示します。
HTTPサーバが送信するHTMLファイルは、基本的にはあらかじめ作成して用意したページで、webブラウザの画面に表示します。
WordPress などのCMS (Contents Management System) は、コンテンツを記録したデータベースからHTMLページを生成する点が大きく異なります。
webサーバの機能は、index.html ファイルを送出するだけではありません。
index.html ファイルは、書かれた内容を表示するのみで、あらかじめ決まった表示をすることしかできないのですが、プログラムが動作するようにできれば静的な表示だけでなく、動的な変化をつけることができます。
「HTTPヘッダ」は、インターネット利用者の端末とwebサーバーの間で通信するときに送信する情報のことです。
HTTPヘッダは、インターネット利用者の端末から送信するリクエストヘッダとwebサーバーから送信するレスポンスヘッダの二種類があります。
「HTTPメッセージ (HTTP message)」は、インターネット利用者の端末とwebサーバーの間で通信するときに送信する「HTTPリクエスト」に対する「HTTPレスポンス」の両方の通信メッセージのことです。
「HTTPリクエストヘッダ (HTTP request header)」は、インターネット利用者の端末から閲覧しようとするwebサーバーへ送信する情報のことで、目的は、webページを閲覧するための要請です。
HTTPヘッダをwebサーバーが受信すると、HTTPレスポンスヘッダとwebサイトのコンテンツを端末へ向けて返答します。
HTTPリクエストヘッダは、次の内容を含みます
HTTPリクエストヘッダ
# | 項目 | 内容 |
1 | Host | リクエスト先のサーバ名 |
2 | User-Agent | Webブラウザの情報 |
3 | Accept | コンテンツタイプ |
4 | Accept-Language | 利用できる言語コード |
5 | Accept-Encoding | 利用できるエンコーディング形式 |
6 | Accept-Charset | 利用できる文字セット |
7 | Keep-Alive | タイムアウト値、リクエストの最大数 |
8 | Connection | 接続する、または閉じる |
9 | Referer | 直前にリンクしたURL |
10 | Cookie | セッション管理、その他 |
「HTTPレスポンス (HTTP response)」は、webサーバーから閲覧しようとするインターネット利用者の端末へ送信する、webページを閲覧するための返答のことです。
デーモンはUnix系のOSにおいて主にバックグラウンドで動作するプロセス(実行中のプログラム)のことです。
様々の雑事を行うために動作し、たくさんの種類があります。システム管理、タスクスケジューラ、ネットワークファイルシステム、データベース、周辺機器の管理、通信サーバ、電子メールなどの処理を行います。