「サーバー構築とは…?」
「自社でサーバーは構築できるのだろうか…」
「サーバー構築は外注化できないのか…できれば費用をかけたくない…」
などサーバー構築についてお悩みの方も多いでしょう。この記事ではサーバー構築について解説します。
サーバーとは?
サーバーとは、サービス利用者のリクエストに対して、それに対応するデータを提供するコンピューターやプログラムのことです。英語表記では「Server」と記載します。
サーバーについてイメージしやすいように、インターネットからWebサイトを閲覧する時にどのような処理が行われているのかを説明します。
身近なサーバー処理を例に挙げると、特定のWebサイトを閲覧する際は以下の流れで処理が行われています。
-
- WebブラウザにURLを入力し、Enterキーで決定(リクエスト)
- Web上の住所(IPアドレス)を管理しているサーバーに、Webサイトの閲覧を要求
- Webサイトのページのデータを管理しているサーバーはWebサイトのデータを提供
- Webサイトの閲覧を要求したユーザーはサイトを閲覧することができる
いかがでしょうか。いつもみているWebサイトもサーバーが深く関わっていることが理解できましたでしょうか。
サーバーの種類について
Webサービスを立ち上げる時にサーバー構築は必要になります。一般的にWEBサービスを立ち上げるために知っておきたいサーバーは以下の4つです。
①レンタルサーバー
レンタルサーバーとは、すでに運用されているサーバーをレンタルできるサービスのことです。サーバーを自分で構築する必要がなく、比較的安価にサイトを利用することができます。
後述しますが、サーバーの構築には専門的なスキルや知識、またハードウェアなど必要なものがいくつもあります。レンタルサーバーは、それらを準備することなく、Web上で申し込むだけでサーバーを利用できるのです。
Webサイトを初めて立ち上げる方やサーバーの知識がない方などはレンタルサーバーを利用することをおすすめします。
②クラウドサーバー
クラウドサーバーとは、レンタルサーバーと同じくネットワークを通じて、サービス提供者からサーバーを借り受けできるサービスです。
オンライン環境とアカウントがあれば、いつでもクラウドサーバー環境にログインすることができます。例えば、業務の規模が大きくなり、ストレージ不足になった時クラウドサービスなら簡単にストレージの容量を上げることができます。
近年、オンプレミス(自社運用)からクラウドサーバーに移行する企業が増えてきました。
クラウドサーバーには以下のようなメリットが存在します。
-
- コストの削減
- メンテナンスの利便性の向上
- セキュリティの向上
- 運用費用を削減することができる
- 容量の拡張を柔軟に行うことができる
※関連記事
クラウド移行とは?その種類やメリット、デメリットを徹底的に解説
③VPSサーバー
VPSとは「Virtual Private Server」の略で日本語では「仮装専用サーバー」と訳されます。1台の物理的なサーバーを複数のユーザーで共有する仕組みになっており、VPSは専用サーバーのように管理者権限を使った作業が可能なことが大きな特徴となっています。
管理者権限があると、共有サーバーではできない設定変更ができたり、サーバーに必要なアプリケーションをインストールすることができます。また、レンタルサーバーと比較して、カスタマイズ性に優れている点も特徴です。
④専用サーバー
専用サーバーとはその名の通り、サーバーを一台まるごと専用できるサービスになります。
専用サーバーの特徴は、共有サーバーと違い容量を独り占めできるため、サーバーが本来持つスペックを独り占めできることにあります。
つまり、大規模な顧客の管理、SNSサイトの運営など共有サーバーでは実現できないことも専用サーバーでは可能になるのです。
また、共有サーバーでは、別の会社がウイルスに感染したり、サーバー攻撃を受けた場合、影響を受ける可能性がゼロではありません。しかし、専用サーバーを使用していれば、他社の影響を受ける心配はなく、セキュリティ上安全なのです。
サーバーを独り占めできる分、費用が高く、初期設定に時間がかかるというデメリットも存在します。
サーバーを構築する方法
サーバーを構築しなければ、Webサービスを運用していくことはできません。ここからは具体的にどのような手順でサーバー構築が行われるのかを説明します。
Webサーバーの場合
httpサーバーをインストールする
Webコンテンツを配置するサーバーには、http通信を行うhttpサーバーソフトウェアが必要です。httpサーバーの代表的なソフトウェアはApache、Nginx、IISが存在します。ここではAppachをインストールしてVPSをWebサーバーとして動作させましょう。
サーバーに一般ユーザーとしてログインしrootユーザーに変更してください。その後、httpをインストールするコマンドを実行します。表示メッセージの最後に’Complete!’と表示されれば成功です。
次にhttpdを起動します。httpdを起動したら、ブラウザ画面で自分のVPSのIPアドレスにアクセスしてみてください。初期画面が表示されるはずです。
目的のファイルをアップロードする
httpdが起動し、Webサーバーとして使用できるようになったため、試しにhtmlファイルをアップロードしてブラウザで表示されるか確認していきましょう。
ファイルのアップロードは、暗号化した通信で安全にファイルのアップロードができるSFTPツールを使います。FTPを使う場合もありますが、暗号化されていない通信でファイル間のやりとりを行うため、たびたび危険性を指摘されています。この機会にFTPからSFTPの乗り換えを検討されてみてはいかがでしょうか。
SFTPツールを使って対象のファイルを以下のディレクトリに配置します。
/var/www/html
いざアップロードしようとすると権限がありません。とエラーが出力されてしまいます。
次のステップでは権限問題を解決するためにドキュメントの権限変更の流れを説明します。
ドキュメントの権限を変更する
ファイルを「/var/www/html/」にアップロードすることができませんので、権限を変更してファイルをアップロードします。
権限がありませんとエラーが出てきた原因は/var/www/html/ディレクトリに一般ユーザーが書き込み権限を持っていないためです。LinuxOSで権限を変更するコマンドは「chmod」になります。
/var/www/html/ディレクトリの権限を変更し、一般ユーザーにも書き込み権限を与えることができれば、ファイルをアップロードできるでしょう。ファイルをアップロードした後は、自分が設定したサイトにアクセスしてみましょう。
ドメインを取得しDNSを設定
一般的にドメインには「http://example.jp」といった英字の組み合わせを選ぶことが多いでしょう。
ただ、無理にドメインを取得しなくても、IPアドレスだけでサーバーを構築することもできます。また、すでにドメインを取得していればそれを使うことも可能です。
独自ドメインを登録する業者の詳細は以下のサイトをご確認ください。
(今回はさくらインターネットを例にしています)
独自ドメイン管理・取得|レンタルサーバーはさくらインターネット
https://domain.sakura.ad.jp/
phpをインストールする
次にphpをインストールします。ここまで構築してきて静的なhtmlはブラウザで表示できるようになりました。しかし、phpがインストールされていないため、phpプログラムが含まれるファイルは正しく動作しません。
そこでphpをインストールします。php本体だけインストールしても使うことができないため、付随するパッケージも合わせて導入する必要があります。
データベースをインストールする
Webサイトを運用するにあたり、MySqlなどのデータベースもインストールする必要があります。MySQLのインストールはyumコマンドを使ってインストールする必要があります。
MySQLに接続できていることを確認したら’show databases:’とコマンドを入力してみてください。こちらはデータベースを一覧表示するコマンドですが、データベース名が表示されていることが確認できれば、MySQLにログイン成功です。
ファイアウォールの設定をする
ファイアウォールは「必要な通信は許可し、不要な通信は拒否(ブロック)する」機能です。
今回のサーバー構築で必要な通信はSSH・SFTP(ポート22)、HTTP(ポート80)、SSL(ポート443)です。それ以外に通信する要件はありませんので、上記ポート以外の通信は拒否します。
データベースを作成する
MySQLをインストールしましたが、それだけではWordPressをインストールすることができません。MySQLの中に、WordPressで使うためのDB(データベース)を作る必要があります。ユーザーが使うためのDBをMySQLサーバーの中に新しく作っておく必要があるのです。
WordPressをインストールする
WordPressインストールのための周辺の準備が整いましたので、WordPress本体ファイルをダウンロードしてインストールします。ログイン画面が表示された後に以下の情報を入力し、同期させることに成功すれば、Webサイトを運営することができます。
-
- データベース名
- ユーザー名
- MySQLのrootユーザーのパスワード
クラウドサーバーの場合
ネットワーク設計図を作成する
サーバーの使用用途に応じて、最適なネットワーク構成図を作成します。主に以下の情報について反映させる必要があります。
-
- サーバーの台数
- サーバーに接続する端末の種類
- サーバーに接続する端末の台数
- やりとりする情報の種類
必要なリソースを確認する
ネットワーク設計図に盛り込んだ使い方や接続端末の台数に対応するために必要となるサーバーのリソースを見積もります。
-
- OS
- CPU
- メモリやストレージ
上記の見積もりを立てれば、必要なコストも明確になるため、予算が適当かどうかについても同時にチェックしましょう。
リソースを作成、設計する
見積もったリソースに従って、クラウドサーバーを実際に設定していきましょう。設定の手順はサービスによって異なります。
クラウドサーバーは後からストレージの増減の変更が可能なため、実際に稼働した時にスペック不足を感じれば必要に応じて調整しましょう。
サーバーにログインする
サーバーの設定が完了したら、サーバーにログインして起動します。管理画面でサーバーの管理状況をチェックして問題なく稼働できていれば、クラウドサーバーの構築は完了です。
サーバー構築のポイントについて
実際にサーバー構築を行う前に各ポイントについて整理していきます。サーバー構築も大きな費用と工数がかかるため、失敗しないようにポイントを抑えておきましょう。
目的別のサーバー選定
サーバー構築する際に目的を明確化し、サーバーを選定することが大切です。
スペックが低すぎるサーバーを選んでしまうと、事業が拡大した時にスペックが足りずにすぐサーバーがダウンする可能性が高まってしまいます。また、高すぎるスペックのサーバーを選ぶと、コストが高くなり経費を圧迫してしまいます。
まずはユーザーや顧客に提供したい機能を洗い出し、目的に合った最適なサーバー選定を行なってから、適正なサーバー構築を実施しましょう。
セキュリティ性
サーバー構築は、セキュリティ面も重要な要素のひとつになってきます。近年増加しているサーバー攻撃により、個人情報が流失したり、サーバーに大きな負荷をかけダウンさせられてしまったりすることを防ぐ必要があります。
外部から悪意のあるアクセスを防ぐために、サーバーのアクセス権を制限する必要があるのです。
信頼性の高いサービス業者を選ぶ
サーバーを構築するにあたって重要なことのひとつに、信頼性の高いサービス業者を選定することが挙げられます。
レンタルサーバーやクラウドサーバーなど、頻繁に不具合が発生している業者を選んでしまうとサービス提供に悪影響を及ぼしかねません。
業者を選定する時には、過去の実績などを調べ、信頼できることを確認してからサービスを利用するようにしてください。
十分な容量やスペックを持つサーバーを使う
価格だけでサーバーを選んでしまうと、スペックが足りずにすぐにダウンしてしまったり、クライアントの信頼をなくしたり、サービスから離脱され、結果的にコストがかかってしまう場合があります。自社で運営するサービスにはどれくらいのスペックが必要なのかをよく確認しましょう。
サーバー構築代行のサービス内容
サーバー構築の概要を説明してきましたが、サーバー構築はサービスの根幹になる部分だから失敗したくない、専門性の高い業者に任せて確実にサーバー構築を成功させたいと考えている方も少なくないと思います。ここからはサーバー構築代行のサービス内容の流れを説明していきます。
①状況をヒアリング
まずはサーバー構築・移行代行サービスについて問い合わせを行います。
このとき、サーバー管理者が在任しているか、サーバーの仕様書は存在するかを確認してください。
現在の環境、要望をヒアリングし、作業事項の確定を行います。
ヒアリングした内容を元に見積もりを行います。見積もりに納得ができれば、サービスの申し込みに進みます。
②導入(サーバー構築)
申し込みが完了後、サーバー構築を実際に行います。作業完了後動作を確認し動作確認完了次第、納品となります。要望していたスペックの内容を満たしているか、想定していたアプリケーションが動作するのかを確認しましょう。
③運用支援
サーバー構築後も日々の運用をサポートするサービスもあります。事前に監視内容と不具合発生時の対応手順を協議し、監視サーバーにより監視を行います。サーバー監視中に警告が発生した場合、事前協議の手順にしたがって復旧を試みます。
まとめ
この記事で説明してきた内容をまとめると以下のとおりです。
-
- サーバーの種類
- サーバー構築の具体的な手順
- サーバー構築のポイントについて
- サーバー構築の依頼の流れについて
サーバー構築は重大な工程であるため、確実に行う必要があります。サーバー構築を専門的に行なっている企業にサーバー構築を外注化すれば、安全確実なサーバー構築を実現させることができるでしょう。
株式会社エイチビーラボでは、ベトナムに特化したオフショア開発サービスを提供しております。サーバー構築には豊富な実績があります。クラウドやITインフラ、システム関連でお困りの方は、ぜひお気軽にお問い合わせください。ご相談から、開発、運用まで親身にサポートいたします。