概要

サイトの概要

 

サイトの概要

サイトにようこそ!

このサイトは、WebサイトをノートPC上に構築して、インターネットに公開する事を目的にしたサイトです。即ち、サーバーの用意から、必要なソフトのインストール、ドメインの取得、サイトの公開等の、一連の必要な作業と技術情報を、本サイト内で完結する、・・・のが目的です。そして、サイト管理人の備忘録としてこのサイトに保存・参照出来るようにしました。内容は、逐次改善・改良してゆく予定です。

作業としては、空のサイトをいきなり公開する事は無い前提とし、まずは自宅内だけのサイトを作成し、コンテンツが煮詰まって、公開できる段階になってから、サイトを公開するという流れで作業を行います。

最近の流れとして、SSLサイトが前提となる傾向が強いこと、又、CentOSでは最初から内向け用に認証局を作成すれば、本番同様、ブラウザに表示される緑の南京錠で、準備サイトの作成が出来ますので、公開後は、正式な認証局からSSL証明書を取得すれば、スムーズにテストサイトから、公開サイトに移行が可能です。この方法については、本サイト内に記載されていますのでご参照下さい。

※このサイトを公開してから半年近く経ちました。公開した時から、本サイトは大幅な変更をしました。1)HTTP/2対応、2)WAFの導入とHTTP/2対応WAFへの変更、3)Dosdetectorの導入等を追加でインストールしました。何れもサイトの高速化、外部からサイトへの攻撃対策など、サイトを公開する際に重要な対策を行いました。
※以後の説明は少し古くなっていますのでご注意下さい(鋭意改良予定です)

サーバー機の選択

選択条件として、小規模サイトであり、省電力、HDD交換可能、メモリ増設可能、DVDドライブ、有線LAN端子・・・等を条件としました。選択したのはLenovo V310です。(Celeron 3855U CPUスコア1666)最初のCentOSサーバーとして選択しました。なお、仕様上メモリは4GBオンボードですが、増設可能で8GBで稼働しています。

Windows10がインストール済みですが、これを削除し、光学ドライブからCentOS7を最小インストール+開発ツールでインストールしました。サーバー名は未だ暫定で大丈夫ですが、IPアドレスは固定とします。自宅サーバーですので、自宅の環境に合わせて固定IPアドレスを設定します。

※現在はシステム起動前にはUEFI(Unified Extensible Firmware Interface)が起動します。Windows8.1からは、DEL(又はF2)の連打ではUEFI設定画面には遷移出来ません。一旦Windowsを起動してからUEFI画面を出すことになります。又、CentOSなどのLinuxはUEFIでインストール出来ても、Linuxが起動出来ない症状に見舞われました。この場合はレガシーBIOSモードに変更が必要です。

 


 


必要なサーバー環境を整備します

CentOS7をインストールしたら、WebサーバーApacheのインストールと、設定を行います。Apacheをインストール・設定したら、別のPCからの接続テストをします。この時、firewallと、SELINUXを最初に設定しておくと後が楽になります。

Apacheが終わったら、次はPHPのインストールですが、これは、CentOS7のベースのままでは、バージョンが5.4以上にならないので、是非最初からバージョン7.0以上を入れるようにして下さい。PHPのバージョンアップは、今までのPHPを削除してからの、再インストールになりますのでかえって手間が余計にかかります。次はリレーショナルデーターベースのMYSQLをインストールします。また、phpMyAdminも便利なツールですのでインストールを済ませましょう。SQLコマンドを使える人はphpMyAdminは必須では有りません。
※ドメイン名取得前には、SSH接続する方法で、別のクライアントPCからサーバーに接続して、作業出来るようにしましょう。作業効率が上がります。
※ドメイン名で、ローカルPCから、ブラウザで、URLにて自宅サーバーにアクセスするには、hostsファイルにIPアドレス・ドメイン名の対応を記載する必要があります。インターネット上のDNSではローカルPCから自宅サーバーにアクセスすることは出来ません!

まずは自己証明書を作成し、SSLのCMSサイトで操作に慣れましょう

※この項目は古くなりました。自己認証局を作成すると、最初から正式な認証局同様な状態の準備サイトが出来ます。(編集準備中)このまま作成しても誤りではありません!
SSL証明局からの手続きの前に、まずは自宅内のテストサイトを構築しましょう。しかし、サーバー名はドメイン名になるので、出来ればドメイン名を最初に取得しましょう。後でサーバー名の変更をするのは手間が掛かります。ドメイン名=サーバー名として、未公開でサイトを作成するのがベターです。なおSSL認証局から認証を得るにはサイトを公開しないと、SSL証明書が得られないので、代替の対策として、自己証明書でSSLサイトを構築する方法が良いでしょう。

自己証明書の場合、サーバーにブラウザから最初にアクセスする時、警告が出ますが、自分で作成した証明書ですのでそのままアクセスして作業を進めます。警告の例はこちらを参照!

では、CMSをインストールする前に、自己証明書を作成しましょう。自己証明書の作成方法はこちらです・・・

自己証明書を作成したら、WordPressをHTTPSでインストールします。WordPressをインストールする前に、必要な情報をまとめておきましょう。MYSQLへの接続ユーザーとパスワード、MYSQLに使用するデーターベースを作成しておく必要があります。サイトの名前、サイトにログインする管理者の名前とパスワード。データーベースの接頭語(デフォルトで可ですが)

※サイトを公開するにはルーターの設定を変更しないと未だ公開は出来ていませんのでご安心を。

公開する前にSSH接続を変更しましょう

サイトを公開する前に必ず設定を変えましょう、■サーバーにSSH接続する方法を制限します。即ち、1)鍵認証方式にし、秘密鍵が無いクライアントの接続禁止、2)パスワードでの接続を禁止、3)rootでのログインを禁止。やり方はこちらを参照して下さい・・・

ドメイン名の取得とDNSについて

ここではドメインの取得と、DNSについて説明してあります。まず、ドメイン名は、「トップドメイン」を取得するのがベターです。Google Analyticsを利用する事を考えると、サブドメインではこのサービスが利用出来ないからです。トップドメインはレジストラに申し込んで取得する事になりますが、問題はDNSサービスが固定IPアドレス前提になっているため、DNSサーバーには、MyDNSが提供している、ダイナミックDNSサービスを申し込みましょう。

例えば、お名前ドットコムから、トップドメインを取得し、DDNSをMyDNSで利用させてもらうには、こちらで説明している方法を使います。まずはドメインを取得した後、MyDNSに申し込んで設定するのが良いでしょう。MyDNSには、定期的に自己のWAN側のIPアドレスの通知を行う必要がありますが、サーバーがCentOSであれば、Cron機能に登録しておけば自動的にIPアドレスの通知が定期的に実行されます。時々、動作しているか確認するだけで手間が省けます。

※Google Anaritics:サイト訪問者の動向を把握することで、訪問者の欲求を知り、サイト内の人気ページや不人気ページ、問題のあるページを知り、サイトを改善することで訪問者の満足を高め、訪問者数を伸ばす。商用サイトであれば業務に寄与し、アフィリエイトサイトであれば収益を伸ばす・・・Wikipediaから
   

いよいよサーバーの公開です

サーバーの公開前に、次項で説明してありますが、公開する場所(ネットワーク1)と、公開しない場所(ネットワーク2)を、増設するルーターで分けるのが一番安全です。

WAN側に有るルーターの設定を変更して、外部からの接続を、サーバーのIPアドレスに通す設定を、HTTPとHTTPSで、双方向のTCP通信を許可します。ルータによって設定方法が異なるので、概念だけを説明しました。具体的な設定の例を下図に紹介します。



最後は、無料でSSL証明書を発行してもらえる、Let’s Encrypt を利用しましょう。SSL証明書を発行してもらう方法は、こちらに説明してあります・・・。今までは自己証明書でサイトを作成いしていましたが、認証局からSSL証明書を発行してもらった後は、Apacheの設定変更が必要です。

追加のセキュリティ対策を実施

※このセキュリティ対策は古くなりました。公開前に、WAFの対策と、Dosdetector対策が必要です。(編集準備中)
サイトを公開してから、連続アクセスが有ることが気になり、調べた所クリチカルなアクセスである、との評価がログにありました。対策方法を検討した結果、WAF(Web Application Firewall)という対策を説明したサイトが複数ありました。

早速導入を、このサーバーに行いました。ソフトのインストールや設定方法などは、他の方のサイトも参照させてもらいました。詳しくはこちらに説明ページを設置してあります。

現在は、セキリティはONとしてあり、一部の機能を有効としてあります。更にWordPressのプラグインにもSiteGuard WP Pluginも公開後ですが導入しました。セキュリティについては、公開すると、いつも注意を払う必要があると思います。

自宅Webサーバーについてをまとめてみました

いくつかの条件を比較してみましょう。一応自宅サーバーとしてあります。

インターネット接続環境 光回線:Wan側IPは変動
(一般的)
光回線:Wan側IP固定
(費用大)
ドメインの取得方法とDDNSの必要性 レジストラ+DDNSサービスを利用する必要。DDNSサービスを使うには、IPアドレスの通知を定期的に行う必要がある。 レジストラ登録のみでOK。IPアドレスの通知を定期的に行わなくて良い
レジストラの例 お名前ドットコム、MyDNS、その他多数あり
ドメイン名の条件 サブドメインでは制約が有りますので、トップドメインを取得しましょう!
サブドメインの例:https://east-niship.mydns.jp ・・・最後の「.」の前に「.」があるのがサブドメインです
トップドメインの例:https://east19-mikas.com ・・・トップドメインは最後の「.」だけのURLです
サーバーの設置場所

上図の構成の様に、サーバーは他のPCとは別の場所に設置するのがベターです。(サーバーは通常はモニターを閉じておきます)

サーバー連続稼働出来るPCで、消費電力も低めが良い。画面解像度は低くてもよい。有線LAN端子必須。光学ドライブは有ったほうが良い。クライアントPCそこそこのスペックのPCで良い。モニターの解像度は大きい方が良い。ハイビジョン並。バックアップデータや、画像データの編集や管理出来るだけのHDD容量に余裕が有ったほうが良い。

サイト運用の概算費用を見積もってみました

自宅ノートPCをWebサーバーとして公開するために掛かる概算費用です。但し、光回線で一般の接続方法での費用や、クライアントPCについては、サーバーを立ちあげなくても必要な費用ですので除外します。

既に発生している費用と、維持費用を含めています。見積もっていない費用が発生しましたら随時変更します。

1)サーバー用ノートPC:4万円弱、+4GBメモリ:別のPC用の余りなので0円
2)お名前ドットコムのCOMドメインの費用:約1,000円程度/年
3)サーバーを分離するためのルーター:Buffaloルーターは約5,000円
4)Lets EncriptのSSL証明書、CentOS7、LAMP構築用ソフト、WordPress本体とテーマCocoon Master、複数のプラグイン等は無料です
5)サーバー稼働費は推定ですが、((40W+4W)x24時間x30日/1000)x24=約760円/月程度です。40Wはサーバー、4Wはルータの消費電力、24は1KWhの電力料金としました。

ここでは、ノートPCの故障に伴う機器の入替え等を含んでいませんので、単純にレンタルサーバーとの比較は出来ません。参考資料としました。なお、PCを40Wとしてありますが、実際にはモニターを閉じたままの運用ですので、バックライトの消費電力が無いので、更に少なくなる事が考えられます。

サイトの備忘録

ページのボリュームが大きくなりましたので、別のページに作りました。こちらです・・・

一般コンテンツ

エトセトラのページをご覧ください。未だ実用情報を準備中です!

上部へスクロール