本カテゴリーでは、Linuxディストリビューションのubuntuに対してwebサーバnginxをインストールし、 学習用のwebサーバを立てる事を目的とします。 必要最低限の機器は、Linuxがインストールされているサーバ(PCでも可能)だけでも良いです。 Linuxサーバは、ルーター、ONU経由でインターネットに接続できている事を前提とします。 本書の説明では作業用PCとして、Windows10を利用し、Webサーバにssh経由で作業することを想定しています。 Linuxサーバに直接ログインして作業してもインストール作業は可能です。
本頁に利用した機器の設定です。
呼称 | OS | CPU | バージョン | IP | その他 |
---|---|---|---|---|---|
作業用PC | Windows10 | Intel Corei7 2コア | Home Edition | 192.168.109.2 | ルーターに接続 |
Webサーバ | Linux ubuntu | Core2 Duo 2コア | 16.04 LTS | 192.168.109.4 | ルーターに接続 作業用PCと同一のセグメント ※1.かなり古いPCのためCPUがショボいです。 ※2.マルチコアであれば問題ないです。 |
ルーター | 何でもよい | - | 何でもよい | 192.168.109.1 | ONUと接続 個々のIPの払い出しはDHCPで払い出し ファイヤーウオール機能 |
Linuxサーバにオープンソースのパッケージ(nginx,apache,javaなど)は、1つ1つの作業は簡単に実現できます。 企業のWebサービスとして公開されている本番環境、ST環境へのWebサーバのインストール及びバージョンアップは、 セキュリティの観点で色々な制約が掛かり、段違いに作業者に知識(ネットワーク、OS、各種コマンドなど)と経験を求められます。
インストールは以下の観点でインストールの方法やWebサーバへのアクセス方法が異なってきます。
観点 | 利用可否 | |
---|---|---|
利用できる | 利用できない | |
Internet接続可否 (Webサーバが外部サーバに Http接続できるか) |
[難易度:易] apt-getのレポジトリを調整するだけで良い。 nginxサーバから直接最新のバージョンのソースを http経由で取得できる |
[難易度:高] LinuxサーバへのOSのバージョンアップ、 パッケージのインストールは、 メディア(DVDなど)を準備してからインストールする。 又は本番環境サーバとは、別サーバに メディアを配置して対象サーバに配備する。 各サーバに配信するサーバはセキュアな専用線の 回線で外部のネットワークとは遮断されている。 |
rootユーザによるインストール (sudoも含む) |
[難易度:易] インストールされたディレクトリ各種は、rootユーザ所有。 nginxのマスタプロセスは、rootで起動される。 デフォルトのポート番号:80(HTTP),443(HTTPS)が利用される。 |
[難易度:高] rootユーザ以外の専用ユーザnginxなどを 作成してインストールする。 デフォルトのポート番号:80,443は ルート権限でないので利用不可能。 ポート番号を変更し、iptablesを利用して リダイレクト等する必要がある。 |
リモートログイン (openSSHによるサービスがある) |
[難易度:易] sshクライアントを利用する。 作業用PCがWindowsならTeratermなどを利用し、 Linuxならばsshコマンド経由でWebサーバにログインする。 |
[難易度:高] 各企業のネットワークの構成によるが、 Webサーバの筐体が管理されている データセンターなどの現地で作業する可能性が高い。 |
パッケージコマンド | [難易度:易] ソースコードのコンパイルなどはapt-get任せ 設定などもデフォルトから開始する。 |
[難易度:高] ソースファイルtar.gzなどからインストールする。 ./configureの数多くのオプションを理解する必要がある。 |
上記薄緑塗りつぶし箇所が本書インストール入門(Ubuntu)の適用する条件です。 次頁以降に具体的なインストール手順について説明します。