組み立て人生

自分の生活をブロックの様に組み合わせて、より豊かな暮らしを目指しています。

さくらVPSに自前サーバー設置まとめ

さくらVPSにCentOS7をインストールし、自前でウェブサーバーを設置し、それにSSL証明を付けました。

 

さくっと、方法をまとめて書きます。

(1)CentOS7を最小インストー

(2)useradd ***でユーザー登録、passwd ***でパスワード設定

(3)suになり、usermod -G wheel ***でsudoユーザー設定

(4)httpdをインストール(Apache)のこと

(5)mod_sslをインストー

(6)yum updateでアップデートする

(7)/var/www/htmlの所有権を書き換える

cd /var/www/へ移動し、以下コマンド入力

chown apache:**** html

chmod 775 html

(8)/etc/ssh/sshd_confを書き換える、rootアクセス禁止にする

(9)firewall-cmd --add-service=http --zone=public --permanent

(10)秘密鍵作成、これを使いCSR作成、申込、証明書取得、中間証明取得

(11)適所に置いて、/etc/httpd/conf.d./ssl.confを書き換え、httpd再起動

(12)firewall-cmd --add-service=https --zone=public --permanent

そして、/var/www/htmlに、index.htmlを置けば完了です。

 

続きを読む

作成したウェブにラピッドSSL導入(3)

さてSSL証明導入最後の回です。

秘密鍵サーバー証明書、中間証明書を、適所に置いて、

その場所を、

/etc/httpd/conf.d/ssl.conf/に書き換え、Apache再起動で完了です。

 

ここまでの難易度は、高いです。

しかし、ここまで、やっとたどり着いて、

自分のウェブページをみたら、SSL証明になってない!

 

でもゴールは近いと感じていました。

あと何かが足りないのです。

 

そこで、考えました。

やり方は正しい、サーバーでApacheも正常に稼働している。

 

(1)普通の表示は、http://www****.com

(2)SSLのページは、https://www.****.com

 

SSL証明の表示方法、httpsで、ウェブページが見れないのです。

つまり世間に公開されてないのです。

 

http://www.***.comを公開するためには、

firewallにhttpを開始するコマンドを入力しました。

firewall-cmd --add-service=http --zone=public --permanent

なので、httpsのウェブを見せるためには、

firewall-cmd -add-service=https --zone=public --permanent

httpsをfirewalldで開始したら、SSL証明サーバーの作成は完了しました。

 

作成したウェブにラピッドSSL導入(2)

さて、ここ一週間SSL導入を繰り返しています。

 

実は失敗の連続でした。

一度は徹夜しました。

Apache再起動で失敗していました。

 

SSLのポイントは、

秘密鍵(****.key)

サーバーセキュリティー証明書

中間サーバー証明書

 

これを適切な場所において、

/etc/httpd/conf.d/ssl.conf   (CentOS7)

を正確に書き換えることです。(原因はこれでした。)

Apacheが再起動に失敗する原因は、主に、

(1)ポートの衝突

(2)モジュールの読み込み不良

(3)confファイルの間違い(書き間違い)

だそうです。

 

以下のコマンドを打ち込み解析しました。

journalctl  -xe

もしくは、

apachectl configtest(構文チェック):SyntaxOKとなればいい。

 

私が解決した方法は、

鍵ファイル、証明書crtファイルの丁寧なコピペ、です。

??ですよね。

 

鍵ファイルからCSRを作成して、SSLを申しこみして、

セキュリティ証明書を手に入れるところは前回簡単に書いたので省きます。

 

素人にとって難しいのはここからです。

手に入れた証明書、秘密鍵を置くところから、SSL設定に入ります。

これらファイルを開くアプリは、エディターです。

(中身を開いてサーバーにコピペするわけです。)

私は「Mery」を使いました。

(1)****.key(秘密鍵

(2)****.crt(サーバー・セキュリティー証明書)

(3)****ca-rapidssl.crt(中間サーバー証明書

をそれぞれ開いて、ssh端末でサーバーに接続し、適所にコピペします。

さて、結論からいうと、このコピペで、先頭の文字が消えていたのです!!

「------BEGI」が消え去ってました。

 

本来なら、

-----BEGIN CERTIFIED------となる部分が、

N RTIFIED-----と不完全なヘッダーになっていた!わけです。

 

なので、これを全部書き加えたのです。

なぜコピペでこの部分が消えるのか不明です。

さて、どこにコピペするのか?

ずばり、/ssl.confに書いてあるフォルダを利用して、そこに置きます。

秘密鍵と証明書は任意の場所に置くといっている人がいますが、できるだけconfファイルを書き換えたくないので、もともと書いてある場所を利用しましょう!!

秘密鍵は、

/etc/pki/tls/private/loacalhost.keyと同じ場所に置きます。

loacalhost.keyは自分のウェブアドレスに書き換えます。

方法は、suでviを起動し、コピペ、保存しますが、

はじめる時点でまだここに自分の鍵ファイルは存在しません。

vi /etc/pki/tls/private/*****.keyとコマンド入力、(***は自分のアドレス)

内容のないNewファイルが開かれ、そこにコピペ、------BEGIを書き加え、

escでコマンドモードにして、:wqで上書き保存して終了。

これで、サーバーに、自分の鍵ファイルが作られました。

サーバー証明書は、/etc/pki/tls/certs/に

/etc/pki/tls/certs/****.crt

中間サーバー証明書も、/etc/pki/tls/certs/に

/etc/pki/tls/certs/ca-rapidissl.crtという名前で作成します。

 

秘密鍵サーバー証明書、(中間サーバー証明書が)を適所に置いたら、

 このあと、/ect/httpd/conf.d/ssl.confを書き換えます。

(書き換える場所は、鍵、証明書、中間証明書、の場所指定、#を削除)

そして、最後にhttpdを停止・起動します。

つまり、httpd=Apacheを再起動させると完了です。

 systemctl stop httpd

 systemctl start httpd

たったこれだけですが、だいたい、初めは失敗します。

慌てず、焦らず、/etc/httpd/conf.d/ssl.confを見直しましょう。

たまたま、私は、鍵と証明書のヘッダーが欠けていたので、

Apacheが再起動しないトラブルに3回見舞われ、3回OSを再インストールしました。

なんどやっても同じ結果なので、おかしいなと思いました。

つまりやり方は正しいのではないかと思ったのです。

そしてついに、コピペで失敗していることに気が付いたのです。

 単純なコピペ不良で、システム障害になるとは思いませんよね。

作成したウェブサイトにラピッドSSLを導入(1)

とりあえず完成した自分の事業用HP(さくらVPSにあるApacheで管理されたウェブ)

しかし、このサイトを訪れた方のブラウザーでは危険なサイトとみなされます。そこで、セキュリティー企業からSSL証明書を発行してもらいます。

私が利用したのは、Gotrustが発行しているラピッドSSL

導入には秘密鍵CSRファイルが必要です。

(1)まず、さくらのサーバーにSSL(サービス)をインストー

(2)yum install mod_ssl 、コマンドラインに入力

(3)ディレクトリを作成、mkdir /etc/httpd/conf/ssl.csr/

(4)そして、ここに移動、cd /etc/httpd/conf/ssl.csr

(5)ここから大事です。秘密鍵を作成、下記をコマンド入力します。

openssl genrsa -des3 -out server.key 2048

RSA des3形式 2048ビットで、server.keyを作成しろという文章みたい。

(6)つぎにこの鍵でCSRファイルを作成、これも重要です。

openssl req -new -key server.key -out server.csr

新しいキーとしてserver.keyを使ってserver.csrCSRを作成してくれという意味。

この作成されたCSRを使い、ラピッドSSLの申し込みをします。

 

ここで、大問題が発生します。

このCSRの内容をジオトラストのHPにコピペする必要が出てきます。

しかし、このCSRを見る方法がわかりませんでした。

コマンドで下記のように書けば、出てくるので、必要箇所をマウスでコピーします。

openssl req -in server.csr -text 

これだけなのですが、ウェブにはあまり載っていません。

(server.csrが開きたいファイルです。)

 これを、ラピッドsslの申し込みページにコピペすると、

変換されて、SSL証明書要求が作られます。

しばらく待つとその証明会社から、証明書を送りましたというメールがきます。

そこで、さくらVPSのウェブへ戻りサーバー設定から、証明書ボタンをおして、ファイルをダウンロードし、先ほどのメールに記載の、自分のサーバー上の場所に、それをアップロードして置きます。

しばらく待つと、証明会社のロボットがこれを見つけ、OKを出し、

その後、さくらVPSのサーバー設定が、さきほどのボタンから、

サーバー証明書というボタンに変わり、それをダウンロードできます。

 つまり二段階認証で手に入れるのです。

また、中間証明書のダウンロード場所も、メールに書いてあり、

そこへ行って、ダウンロードします。

 

さて、

初めに作った秘密鍵sshで、自分のパソコンにダウンロードします。

これと、

サーバー・セキュリティー証明書

中間サーバー証明書

で、SSL設定が可能になります。

 

CSRファイルは一度SSL申し込みに作りますがその後、これは使いません。

しかし、これをもとに証明書が作成されるので、大事なファイルですが、

一度作成して作った証明書は、このCSRに対する証明書なので、

SSL導入に失敗して、再インストールして、再度CSRを作ってはいけません。一度CSRで申込して証明書をもらったら、もう二度と再びCSRは作成してはいけません。

自分の作った秘密鍵さえ大切に持っていたら、再インストールした真新しいサーバーでも、このサーバー証明書は使えます。

 

<まとめ>

秘密鍵を作り、開いてエディターにコピペして、保存し、PCに保存

この秘密鍵からCSRを作成し、申込して、サーバー・セキュリティー証明書を手に入れる。つまり、秘密鍵と証明書はペアになっています。

ジオトラストのラピッドSSL証明には、このほかに中間証明書が必要だが、これは、HPからコピペできる。

 

<あとがき>

ーーーーーーーーーーーーーーーー

導入には秘密鍵CSRファイルが必要です。

(1)まず、さくらのサーバーにSSL(サービス)をインストー

(2)yum install mod_ssl 、コマンドラインに入力

(3)ディレクトリを作成、mkdir /etc/httpd/conf/ssl.csr/

(4)そして、ここに移動、cd /etc/httpd/conf/ssl.csr

(5)ここから大事です。秘密鍵を作成、下記をコマンド入力します。

ーーーーーーーーーーーーーーーーー

このディレクトリ作成は、意味がありません。(この場所は必要がなくなるから)

実は鍵を作る場所は、/etc/httpd/conf/ssl.csr/

ではなく、/etc/piki/tls/private/に、server(自分のサーバー名でもOK).keyという名前で作成が便利です。

理由は、mod_sslで導入したときに作成された、コンフィグファイル、

/etc/httpd/conf.d/ssl.confに、この場所が書いてあるから。ここに鍵を作るべし。

そのほうが、書き間違えるリスクが少ないです。

*最後にこのファイルを書き換える!わけです。(ここ大事)

HTMLから始めました。

自分のウェブサーバーでApacheを動かして、

HTMLでなんとなく作りました。

しかし、かなり簡素な画面です。

そこで、CSSという言語で修飾します。

 これにPHPPythonで動的な要素を組み込むようです。

 HTMLはなんとなくわかってきました。

CSSはまだよくわかりません。

 (CSSカスケーディング・スタイル・シート)

見栄えのいいウェブには、HTML+CSSは必須だそうです。

 

解説:HTMLは厳格なウェブの内容を規定する言語なので、

これで、ウェブのスタイルも書くのはよくないそうです。

スタイルはHTML文書内にCSSで書いて挿入するのです。

つまり、別の場所にCSSで書いたファイルがいくつも階層上にあるのです。

 

専用のウェブサーバー稼働中

なんとか、素人でもさくらVPSでウェブサーバーを稼働させることができました。

 まだ、IPアドレス(極秘)を公開していないので、だれも来ませんが。

 

これからウェブ作成にはいります。

作成には、html文書を書く、これだけ。

 世の中的には、見栄えのいいウェブじゃないとアクセス数は増えません。

なので「ウェブ制作」を職業にしている方も大勢いるわけです。

 これにはCMSコンテンツマネジメントシステムが必要になります。

有名な無料CMSツールに「WordPress」があります。

これをサーバーにインストールして、

さらにデータベース機能も動かして、

、、、、。

??意味が不明なので、今日はこれまで。

 

解説:見栄えのいいウェブ作成にはCMSソフトが必要。

参考ページはこちら

 

ちょっとまとめます。

(1)レンタルサーバー、さくらVPSを借りた。

(2)Linuxをインストールした。

(3)なんとなくApacheを動かした。

(4)index.htmlを書いて置いた。

 約3週間でやったことはこれだけです。

今後、自分だけのHPを作成してみます。

 結局今は自分専用なので、WordPressの導入は保留し、

基本のhtmlを勉強することにした。