Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

apacheでSSL利用時の再起動

SSLを利用している場合

自前でサーバを立てて、SSLの認証取って、利用できるようにしている。
標準的な設定方法に従って作業すれば、設定は難しくない。
例えば、以下のような方法で簡単に設定できる。
(読んで分からない人には、簡単ではないと思うけど・・・)
https://jp.globalsign.com/support/server/03.html
ところが、この方法だと、apacheを再起動する際に、 秘密鍵のパスフレーズを要求される。(上記サイトにもうっすら書いてあるww)

まあ、起動しっぱなしで運用することがほとんどだとは思うけれど、パスフレーズを忘れると、起動できなくなる。

また、スクリプトを通して、再起動やらが実行できない。
コンソールで作業しても、パスフレーズを入力する時間(5秒程度だとは思うけれど)は、apacheが完全に停止した状態になってしまう。

ということで、SSLを有効にしたまま、再起動を自動で行いたい。

設定していない場合

環境はcentOS6.5+apache2です。
例えば、再起動を行うとこんなようなメッセージが表示され、パスフレーズの入力を促されます。
正しく入力すれば、無事起動。

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: Apache/2.2.15 mod_ssl/2.2.15 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server myservername:443 (RSA)
Enter pass phrase:

OK: Pass Phrase Dialog successful.
                                                           [  OK  ]

これで問題ないという人には、関係ない話です・・・。

設定してみる

情報を探してみると、いろいろやり方はあるみたいだけれど、安全で比較的わかりやすい方法を採用する。

なんて、バッチリの内容がありました。

すでにインストール&稼働状態まできているので、4.の「Apache起動/再起動時のパスフレーズの入力について」から設定。
# cd /etc/key-fileの置いてある場所
# openssl rsa < server.key > server.key.new
Enter PEM pass phrase: パスフレーズを入力
# mv server.key server.key.org
# mv server.key.new server.key
基本的には、パスフレーズをサーバキーに埋め込んでおいて、利用する方法です。
置いてある場所がわからないなら、ssl.confを探せばOK
SSLCertificateKeyFile に書いてあるはずです。

続いて、/etc/init.d/httpdを編集。
start() {
        echo -n $"Starting $prog: "
        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd -DSSL $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
}

start()ルーチン内の、起動処理にオプションを追加すれば良いらしいので、追加しておく。

正しく書いてあれば、失敗しないとは思うけれど、必要なら文法チェックしておく。

ここまで来たら、再起動。

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

あぁ、なんて素敵なんでしょうww

これで、気持ち良く再起動が実行できます。
問題は、パスフレーズを入力しなくなるので、忘れる危険性があるということです。
ドキュメントを作成して、残しておく必要がありますな。

コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?