2020年8月23日日曜日

Lets's Encryptで無料のサーバー証明書でhttps化する!

 はいどうもマッスルハンターです。

久々のまともな投稿です。

最近httpだとブラウザに怪しげな文言が表示されますよね。

こういうやつ↓


やはりちゃんとしたサイトを運営しようとするとこれはよろしくないので

長年放置していたhttps化をやってやりました。


手順としてはCertbotというツールが公開されているのでこれをインストールするだけって感じでとても簡単でした。


Let's Encryptっていうのがアメリカの無料の認証局だそうなんです。

企業の寄付で認証局運用のコストをなんとかしているそうです。

(詳しく知りたい人は別途調べてください)

参考:無料証明書と有料証明書の違い|さくらのSSL

なのでひとまずこちらを利用しようということで開いてみましたら

Let's Encrypt お優しい事に日本語でした。

こちらの証明書は90日毎に更新しなきゃないそうなんですが

certBotっていうのを使えば自動化できるとのことだったので

certBotさんをお訪ねして下記キャプチャ部分のsoftwareとsystemを選択すると設定方法の書いてあるページに飛びますのでその通りに設定するだけでございます。

certbotのsoftwareとsystemの選択ボックス

私の場合はsoftwareはnginx

systemはCentOS7だったのでCentOS/RHEL 7を選択しました。


記載の手順通りですが


  1. SSH into the server

    サーバーにSSHでログインします。

  2. Enable EPEL repo

    EPELレポジトリが有効でなければ有効にします。
    CentOS7ならこんな感じっぽい
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    その他はこちらからどうぞ
    https://fedoraproject.org/wiki/EPEL#Quickstart

  3. Install Certbot

    Certbotさんをインストールします。

    sudo yum install certbot python2-certbot-nginx

  4. Choose how you'd like to run Certbot
    • Either get and install your certificates...

      certbotさんにnginxさんをごにょごにょして頂きます。

      sudo certbot --nginx
    • メアドとか聞かれます。たぶん期限切れが近くなると通知とかくんのかなぁくらいに捕らえました。本当のところは英語を解読してください。
    • 最初nginx側でドメインを設定していなかったのでなんたらかんたら言われました。
    • ngnx.confにserver_name を設定してからやり直したらよさげでした。
    • 上記コマンド実行後にnginx.confを確認すると
    •  # managed by Certbotというコメントがついた行が追加されてました。
    • 証明書のパスとかも書き込んどいてくれてるみたいなので特にいじる必要はなかったです。
    • ここでいったんhttpsでアクセスし、無事に閲覧可能な事を確認しました。

  5. Set up automatic renewal
    これはたぶん証明書が90日で切れるので更新を自動かする処理をcronに登録しておけってことだと思われます。
    いつの間にか切れてると面倒なので登録しておきましょう。

    echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
というわけで無事に鍵付きになりました。めでたしめでたし。


2015年10月11日日曜日

お名前.comでドメイン取得して、dnsをServerQueenで登録

ほとんど自分用のメモ

既にserverqueenのサービスを利用中なので管理上こっちで取得したかったが、tokyoドメインが取得できないようなので、お名前.comにて取得した。

サーバークイーンのメンバーサービスにログインして管理ツール上からドメインの追加を行った。

お名前ドットコムのドメインNaviでネームサーバーをサーバークイーンの物に変更した。


2015年9月1日火曜日

wiresharkで特定のURLのパケットだけ確認する方法

WireSharkで特定のURLへの通信だけ確認したいと思ったんですが、
フィルタの設定がよくわかってなかったんで、5分くらいかかってしまったのでメモす。

ぐぐるとプロトコルでフィルタするとこまではすぐ出てくるんですけど、その先がなかったんで。

ipでホストを絞る
http://www.atmarkit.co.jp/ait/articles/0808/29/news132.html

プロトコルで絞る
http://troushoo.blog.fc2.com/blog-entry-108.html

俺がやりたかったのは
http://hogehoe.com.jp.hoge/iiiii/index
http://hogehoe.com.jp.hoge/iiiii/form
http://hogehoe.com.jp.hoge/aaaa/index
http://hogehoe.com.jp.hoge/aaaaa/form
http://hogehoe.com.jp.hoge/image/unko.jpg
のようなリクエストが大量にある中で

iii/indexとiii/formだけに絞りたいとかそんな雰囲気でした。


こんな感じで行けます。
http.request.uri contains "hogehoe.com.jp.hoge/iiii"

こんな感じで名前だけで絞ることも当然できます。
http.host == "hogehoge.com.jp.hoge"



フィルター条件作成ウィザードの中に大量に条件があるので探すのがめんどかった。

2013年9月25日水曜日

CentOS6.4にVLC playerをインストールして動画を見る

いやなんかもうわけわかんなかったっす。

リポジトリ追加しまくったけど、
最終的に参考にした記事
http://ameblo.jp/blue-sea-dog/entry-10491949346.html

とりあえずrpmforgeだけ追加してやってみたらよかったのかもしれない。
もうめんどくさいので振り返りたくもない。

とりあえず再生できたし、再生速度も変更できて音もちゃんと聞こえるからよしだね。

2013年8月15日木曜日

CentOSにソースからPython3インストールしたんだけど tkinterがimport errorで実行できなかった

 CentOS6.4にてPython3をインストール後
tkinter使ったプログラムを実行しようとしたらインポートエラーの前にpython3がない。
CentOSのデフォルトのリポジトリにpython3がないんですね。
というわけでソース落としてインストールしたけどtkinterでこける。
python3がないのでpython3-tkもないわけですね。

そもそもtk/tclの共有ライブラリをpythonからなんたらしてるのかな?
っていうわけでそもそものそのライブラリがねーんじゃねーのかと思われ
tkとかtclとかのそれっぽいものを適当に入れてしまって、makeしなおしたらいけたってわけさ。ついでにSSLでもこけたので同じようにしただけさ。


あとは眠いんで羅列


File "/usr/local/lib/python3.3/tkinter/__init__.py", line40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
If it fails with "No module named _tkinter", your Python configuration needs to be modified to include this module (which is an extension module implemented in C). Do **not** edit Modules/Setup (it is out of date). You may have to install Tcl and Tk (when using RPM, install the -devel RPMs as well) and/or edit the setup.py script to point to the right locations where Tcl/Tk is installed. If you install Tcl/Tk in the default locations, simply rerunning "make" should build the _tkinter extension.

yum search tk
でそれっぽいの探してインストールした。
yum install tk tcl tk-devel
たぶんこの辺だと思われる。


  File "/usr/local/lib/python3.3/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named '_ssl'

yum install openssl openssl-devel

./configure
make
make install