これも引越時の覚え書きメモで、表示用プラグインの設定で、まだ使用していない吹出しプラグイン
LIQUID SPEECH BALLOON
こんなふうに、まだアバターも未設定の状態
まろ茶の人のとりとめのないブログもどき
これも引越時の覚え書きメモで、表示用プラグインの設定で、まだ使用していない吹出しプラグイン
こんなふうに、まだアバターも未設定の状態
まろ茶ネットの公開WEBサーバーをSSL化するに当たってLeysencryptを導入しましたが、現在作成中のポータルサイトで採用しているDjango WEBアプリでは -webrootによるサイト登録がうまく行かない問題がありました。(現在はテスト用仮想サーバにて動作確認中)
certbot-auto で登録するサイトのwebroot(DocumentRoot?)に一時的な静的ファイルを作成して、登録URLからアクセスできるかどうかを確認しているようですが、DjangoではDocumentRootに静的ファイルを作成しても、WEBアプリのエンジンによりURLからアクセスできないようになっている感じ。
そこで、urls.py などを細工して、Letsencryptの静的ファイルにアクセスできるように誘導する必要がありました。
<project>/settings.py
# for Letsencrypt certification CERT_ROOT = os.path.join(BASE_DIR, '.well-known') CERT_URL = '/.well-known'
注).well-known はcertbot-autoが作成する静的ファイル
<project>/urls.py
urlpatterns = [ path('admin/', admin.site.urls), path('', include('top.urls')), path('tinymce/', include('tinymce.urls')), ] urlpatterns += static(settings.CERT_URL, document_root=settings.CERT_ROOT)
urlpatterns はリストに直接入れても良いような気がするが、上記のようにしないとうまく行きませんでした。
これでDjangoアプリサイトをLetsencryptに登録出来るようになりました。
下記サイトを参考にしました(と言いますか、まんまの情報です)
CentOS8へのインストール
# dnf module -y install python36
# dnf -y install gcc mod_ssl python3-virtualenv redhat-rpm-config augeas-libs libffi-devel openssl-devel
# curl -O https://dl.eff.org/certbot-auto [root@marocha ~]# mv certbot-auto /usr/local/bin/
# chmod 700 /usr/local/bin/certbot-auto
登録コマンド
# certbot-auto certonly --webroot -w /var/www/html -d www.marochanet.org
バーチャルホストのサイトは並べて登録するか、続けて登録
更新コマンド(複数のバーチャルホストは一度に更新可能)
# certbot-auto renew
今回のメールサーバーの目的は、現在使っているプロバイダ系のEメールをプロバイダからPOPして保存、IMAPサーバーとしてクライアントに公開するという物で、PCとか携帯、タブレットどれからでもメールが読み書き出来るようななるというWEBメールに近い環境が実現できるという物です。家サーバーの時はfetchmailコマンドを使って、プロバイダからPOPで落として来たが、専用サーバーということで、プロバイダからメール転送をかけることにした。これによりタイムラグ無くメールを読むことが出来るようになった(fetchmailだとポーリング間隔だけタイムラグが出来てしまう)。
imap環境は家サーバーのubuntuの時と同様にpostfixとdovecotの設定のみ。旧メールフォルダを家サーバーからtarしてscpしてtarしてVPSに転送、ついでにバックアップ。こちらを参考に取得したSSL証明書などもバッチリ反映させておけばSSLでアクセス可能。
SMTPでメール送信機能を持たせるのは家サーバーではやっていなかった事なので、後回しにします(一発ぶっつけでうまく動かなかった)。
せっかくなので、Webmail機能を持たせようと、SquirrelMailを導入したが、うまく動かない。ubuntuの時は何の問題も無くあっさり動いた物だが、パスワード認証のあと「このページにアクセスするにはアカウントが必要です。」というエラーメッセージが、httpdのログには何も載っていなかったので、不思議と思いググってみた所、どうも /var/lib/php/session の書き込み権限がないとか、、、ああ、思い当たった!家サーバーの時と条件を合わせるため、apacheの実行ユーザーをデフォルトと変えていたのでした。ubuntu と CentOSでは実行ユーザーが異なるため、同じ設定ではアクセスが出来ないということ。ということで、該当ディレクトリの所有者を変更して、書き込み可能にすることで無事解決。
SMTP Authの設定は基本的にはimapの設定の時と同じページを参考に薦めればOKでした。最後の最後までうまく動かず悩ませた理由は単純なtypoでした。。。これは気をつけないといけない。
メールサーバーの機能はこれで必要な分一通り完了。メールアカウント一杯作れます。悪用禁止w
サーバー移動にあたって、WEBデータの移動が大きな問題の一つでした。
家サーバーがubuntu8.10のまま長らく放置されていたのも、データベース移動がうまく行くかどうかに不安があったからだ、それに加えてPC自体の調子の悪さも相まって、「光学ドライブが動かない」「USBポートが不安定」などの理由でそのままにせざるを得なかったというのもありました。
今回の場合は、完全に引越であるので、失敗しても何度でもやり直せるということで、色々試してみた。
全データを対象に行ったが、読み込みファイルサイズに制限があったので、あらかじめFTP転送しておいたバックアップファイルをリストアしようとしたが、rootですら書き込み権限が無いとかで失敗。どうもinformation_schemaというデータベースが問題であろうという所までは分かったが、放置。
結局は上記理由で失敗。information_schemaは内部的な利用のための物で書き込むことは出来ないらしい・・・じゃなんでバックアップ/リストアの対象になっとんねん?って思ってしまうが、そういうわけで地味に最後の手段。
結局はこれ。information_schema以外のデータベースをmysqldumpでちまちまバックアップ取って、リストア先で
mysql> create database wp-data default character set utf8
$ mysql -u wpdata -p xxxx < backup.sql
でな感じであらかじめ(wpdata)というユーザー権限でデータベース(ここではwp-data)を作っておいて、バックアップデータである*sqlファイルを読み込みます。※ここのwpdataというユーザー名とwp-dataというデータベース名はバックアップ元に準じます。
あとは、htmlディレクトリを構造毎ファイル所有者に注意して複製して終わり。
ただ、この方法ではうまくいかず、ページのリンク関係がボロボロ。そりゃそうです。トップページのURLが変わったのだから、当然直リンしている所は破綻するわけで、ここを直さないといけない。幸いバックアップした*.sqlファイルはテキストなので、ここはsedを使って置き換えてしまいます。
$ sed -e ‘s/old url/new url/g’ backup.sql > backup1.sql
出来上がったデータで置き換えます(もちろんデータベースは一旦消して作り直します)。またコピーしたhtmlディレクトリの中にも旧URLを直接参照している所があるはずなので、これも出来る限り書き換えます。
grep ‘old url’ */* などして探して手動で書き換えられる程度の作業なので大したことはありませんでした。
これで、無事データ移植完了。
同じような感じで xoops も移植できました。
せっかく固定IPでドメイン取得したのだから、家サーバーの時のようなオレオレ認証のSSLじゃない方が良いなぁ。。。
ということで、ちゃんとしたSSL認証を目指す。さくらインターネットのレンタルサーバーには共用SSLという物があるのだか、専用サーバーの扱いになるVPSでは使えないようだ。かといってちゃんとしたSSLを導入しようとするとやたら高い。
ということで キーワード「さくらVPS SSL証明書 無料」でgoogle検索w
で、この辺を参考に(ありがとうございます)StartSSLを導入。結構メンドイでした。
出来上がった
サーバーキー (server.key)とサーバー証明書(server.crt)をhttpd の/etc/httpd/conf.d/ssl.conf の該当箇所にコピー。
# service httpd restart
次にパスフレーズを埋め込んでhttpd起動を楽にします。
# openssl rsa -in server.key -out server.key
1年間有効だそうなので、また来年ドタバタしそう・・・。来年には、、、安くても有料系のSSLを使えるくらいになっていたら良いな・・・
個人的にもいろいろあったような空白期間でしたが、久々に追加です。
いままで、自宅サーバーでの運用を続けてきましたが、さすがに10年選手のノートPCも寿命が近づいてきたようで、すさまじく調子が悪いということもあり、以前より検討していたレンタルサーバーへの移行を行いました。
レンタルサーバーといってもルート権限のあるもので、VPSという仮想マシンを使ったサービスです。物理マシンを複数人数で共有するとはいえ、ほとんど専用サーバーのような快適さで、レンタル料金は共有サーバーと同じくらいか、さらに安いくらいです。
先週木曜日あたりから試用期間で準備を始めて、メールサーバー、WEBサーバーを起動。そして、このwordpressのデータ移行を行ったところで一旦書き込みに至りました。
今回の移行により、ドメインが次のような変遷をたどり、、
marochanet.dyndns.org (家サーバー ダイナミックDNS、有料化に伴い引き揚げ)
↓
marochanet.mydns.jp (家サーバーダイナミックDNS 唯一の無料jpドメイン まだ使えるかなw)
↓
marochanet.org (固定IPに対し正式取得したドメイン JPは高いのでORGにしました)
上記のドメイン名で http://blog.marochanet.org/ が当ブログのアドレスとなります。
とりあえず、家サーバーでやっていた仕事を一通りさくらVPSにやらせることを目的にサーバー構築を進めます。
基本は公式っぽいさくらVPSマニュアルに沿って進めることにする。
ここまで来ると、もう普通に使えるようになってるので、その他のhttpd、メールサーバーなどの設定に進みます。
さくらVPSの本契約(会員メニュー →「 契約サービス一覧・表示」で「本登録ボタン」をクリック)を行うと1~2時間程度で、クレジットカードでの支払いを確認したという旨のメールが届くので、その時点で無料体験期間の制限事項が撤廃されたと判断しても良いようです。
正式には数日後に届く住所確認ハガキにあるお知らせ番号を登録(会員メニュー→「契約サービス一覧・表示」にある)することで完了と考えられるけど、まぁ大丈夫って事でしょう。どっかにそんなこと書いてあったっけ?
ここで、晴れて本稼働ということで、ドメイン取得にかかる。このサービスでは無料で5ドメインまでDNS登録出来るということ、早速テキトウなドメインを登録してみる。ふむふむと説明を読みながら、ゾーンを設定。しばし待つ。
しかし、一向にpingが帰ってこない。。。。(そろそろ気付け)
ここで、落ち着いてもう一度サービス内容を読んでみる。
さくらのVPSご契約1件につき、さくらインターネットが提供するDNSサーバが利用できます。プランによって5ゾーンもしくは10ゾーンまで利用できます。ネームサーバサービスの登録申請および 設定について詳しくはサポートサイト「ネームサーバ利用申請方法」ページをご覧ください。
ということだwwwwwww。世の中そんなに甘くはないですね。DNS登録は無料でするけど、独自ドメインは各自で取得してねってこと。というおバカな勘違いで騒いで恥をかく前に自己完結できて良かった良かったw
で、独自ドメインの取得に入る。折角なので面倒の無さそうなさくらのサービスを利用することとする。
とりあえず、ということで、高価なjpとか属性付きドメイン(年間3800円~)は置いておいて、org系のドメイン(年間1800円)で、申し込み手順に従ってホイホイと登録。無事に、
marochanet.org
を取得! 😆
VPSの会員メニューに戻って、DNS登録。ゾーン編集でAネームCNAMEを登録して、サイト構成の枠組みを作る。ここでやっとpingが帰ってくるようになり。独自ドメインによる運用が出来るようになった。
つぎに逆引き登録であるが、これはさくらVPSのコントロールパネルで行うが、WWWのようなCNAMEのホスト名ではダメで、Aネームで登録された名前を使うことが重要らしい。
いままでダイナミックDNSばかり使ってきて、今回初めて正式なドメイン取得を行ったわけですが、気づかなかった点として、ドメイン取得とDNSによるIPアドレスとの紐付けが普通は別々な手続きであったこと、これが勘違いに繋がったんじゃないかなと思った。
じゃ、よく考えたら、正引きだけ考えれば、、、専用サーバの固定IPアドレスでもダイナミックDNSで登録しちゃえば無料でいくつでもドメイン持てちゃうんじゃね?って考えに及んでしまいますが、どうなんでしょうね~。手続き的には契約さえ守れば問題無いような気がするし、さくらのDNS使わなくても良いし、ワイルドカード対応のDDNS使えばゾーン編集しなくてもいいし。ということで、落ち着いたら、今あるMyDNSの設定をこのVPSに飛ばしてしまおうと思ったりします。cronで7日おきにログインすればいいだけですしね~。
自宅サーバー(10年選手のPen4ノートPC)機の調子が悪くなってきたこともあり、レンタルサーバーの検討を行っていた。
自由度の高さで専用サーバーも視野に入れていたのだが、値段が高く勉強用という目的に対する費用対効果の面からも手を出しかねていたところ、VPSというレンタルサービスを知り、一気に導入へ向けて進むことにした。
VPSとはVirtual Private Server(仮想専用サーバー)の事で、一つの物理マシンを多数のクライアントで共有するという意味ではレンタルサーバーと同じであるが、それぞれが仮想マシンとして提供されるため、論理的には専用サーバーと同等と言える。ということでお値段は共用のレンタルサーバと同等で、専用マシンと同等のサービスが提供されているというわけだ。
さっそく、さくらインターネットサービスのさくらVPSに申し込み、体験コースを開始する。
OS はCentOS6.4(Final) 手堅いサーバーOS。 「さくらのVPS(v3) 2G」をクレジット払いで登録すると
「お申込受付完了のお知らせ [*****]」 というメールが来る。 ここでしばらくするとコントロールパネルでOSか起動できるようになるがまだ慌てない。
30分ほどすると「[さくらのVPS] 仮登録完了のお知らせ」というメールが来て、IPアドレスと、rootのパスワードが届くので、ここでおもむろにOS起動。
OSはほぼ普通に使用可能な程度にインストールされている。デフォルトの仮想イメージをコピーして提供しているのだろうか。動作としては、仮想とは言え3コア分持ってることもあり、大変快適。10年以上前のPen4ノートを自宅サーバと使っているのとはエライ違い。
この速さなら問題ないということで、2週間の無料体験期間を待たずして、本契約に移行することにする。
(無料体験ではドメイン登録は出来ず、ポート25番も閉じた状態なので、サーバの設定が進まない)