floatingdays View RSS

僕らはプールの底を歩き続ける。まるで自分の影とダンスを踊るように。
Hide details



ひさしぶりのPythonで Djangoしてみるための参考サイトとメモ 7 Jan 2018 10:12 PM (7 years ago)


環境



参考サイトとメモ

Pythonの復習とバージョン3のキャッチアップ

Pythonの基礎の基礎の基礎 - Qiita
Python3基礎文法 - Qiita
Python2からPython3.0での変更点 - Qiita
with構文とは何なのか - 年中アイス

Amazon Linuxで環境構築

Amazon LinuxでPython3系を使う - Qiita

Djangoでサンプルアプリを作りながら全体像を把握する

ほぼコピペで進めるが(おそらくDjango2で試した影響で)いくつか読み替えをした。

Djangoを最速でマスターする part1 - Qiita
(参考(github) gragragrao/manager_project: 「Djangoを最速でマスターする」ための参考レポジトリ
from manager.models import *
python manage.py runserver 0:8000
ALLOWED_HOSTS=[‘*’]

Djangoを最速でマスターする part2 - Qiita
  • Debug ToolbarのINTERNAL_IPSはApacheのリバプロとかあるから変えるかと思ったけどそのままでいけた
  • python shellのログインユーザー登録でWarningが出たけど、とりあえず無視...
/usr/bin/.pyenv/versions/3.6.4/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1365: RuntimeWarning: DateTimeField Person.birthday received a naive datetime (2018-01-04 00:00:00) while time zone support is active.
  • view.pyのCustomLoginViewの下記はメソッドじゃなくなったみたい
if self.request.user.is_authenticated(): #'bool' object is not callableと怒られる
if self.request.user.is_authenticated:
  • login.htmlはGithubからコピーした
  • hijackは下記エラーでうまくいかなかったのであきらめた
ModuleNotFoundError: No module named 'hijack'
  • 自動テストはmodelとview(いわゆるMVCの"View"というより、Djangoのviewはどちらかというと"Controller"の方が近い感じか?)を対象にしていくようだ。templateのテストとなると言及されているSelenium(今ならHeadless Chrome?)とかと連携させていく?(参考 はじめての Django アプリ作成、その 5 | Django documentation | Django


Django1と2の違いを抑える

Django 2.0の変更点について - Qiita

そんなに変わらなそう。

Django公式チュートリアルでアプリを作成しながら学ぶ

さぁ始めましょう。 | Django documentation | Django / はじめての Django アプリ作成、その 1~7

普通は先にこっちをやるんだろうけど、公式は丁寧な分だけ全体像が見えてくるまでに時間がかかる。コピペでいけばエラーも出ないから、Python/Djangoに慣れるには、公式じゃないのでエラーにつまずきながら進めた方がいいこともある。
Ruby On Rails と違って、マイグレーションは完全にモデルのファイルから生成されます。マイグレーションは本質的には単なる履歴です。 Django はデータベースのスキーマをアップデートしながら履歴を進んでいき、現在のモデルに合致させることができます。
  • Django adminは便利そう。(参考 はじめての Django アプリ作成、その2 | Django documentation | Django
    settings.pyでLANGUAGE_CODEを'ja'にしたら日本語化された。システムよりの人が使うなら、英語の方が混乱が無いか? エンドユーザーに渡すなら日本語化が手軽なのは便利。
    それにしても、adminっていう名前はもうひとひねりしても良かったのでは...。Pythonの文化なのかな?

アノテーションが気になるので調べた

Python と型アノテーション

現時点では...使わないかなぁ。


Pythonのインストーラについて

Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)

いくつかかいつまむと、
  • pip: とりあえずこれを使っておけばOK。Python3.4以降ではPython本体に同梱されるようになった。(参考 Pythonで一番最初に入れるべきパッケージ setuptools と pip - Life with Python
  • setuptools: これを入れると付属するeasy_installが使えるようになる。
  • easy_install: 昔使った時はデファクトスタンダードっぽかったが、廃れたのか。
  • PyPI: the Python Package Index。自由にPythonのパッケージを公開できる python.orgのサイトで、easy_install・pipはここからパッケージを探す。

Amazon RDSのAurora(MySQL)につないでみる

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
python manage.py makemigrations <アプリ名>
python manage.py migrate

Django公式ドキュメントで仕様を学ぶ

Django ドキュメント | Django documentation | Django

いつか時間のある時に...

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Excel2016の新規作成のテンプレートを設定する方法 9 Jun 2017 1:25 PM (7 years ago)

Windows 10 + Excel 2016 への設定。


Excel 2016でデスクトップ右クリック及びExcelメニューの新規作成で作成される新規ファイルのカスタマイズ方法 | Developers.IO

これの(1)をやる。

テンプレートの保存先が以前と変わっていて下記になっているので他サイトの古い情報に惑わされないように注意?
C:\Program Files (x86)\Microsoft Office\root\Office16\XLSTART


Book.xltxと同様にSheet.xltxも保存すると、シート追加時に適用される。

なお、手元の環境では(2)は試してないので、デスクトップやエクスプローラの右クリックからExcelを新規作成した場合はテンプレートが適用されない。


Office TANAKA - Excel Tips[游ゴシックを使いたくない]

こっちの「起動時にスタート画面を表示していない場合」の設定も必要。



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Laravelを Github + Circle CIで CIするまでの参考サイトまとめ 7 Jun 2017 12:49 PM (7 years ago)


Laravel

前にメモしたリンク集。
floatingdays: 初めてのLaravel参考サイト
floatingdays: Laravelと Vue.jsのチュートリアル参考サイト

MySQL5.6以前だと出るエラーの対処方法。
他にもやり方はあるみたいだけど、ここのが公式?
Laravel 5.4: Specified key was too long error - Laravel News

テストを書くチュートリアル。
Laravel5.3以前の記事のようで、Laravel5.4からはページ遷移やページ内のテストは別途インストールが必要なLaravel Duskの管轄に変わったので、その部分は読み替えが必要。
Laravelでテストコードを書くためのチュートリアル - Qiita


Github

Githubを二要素認証にして、かつ、Githubへのpushをsshではなくhttpsでする方法。
ユーザー名とトークンの入力省略も。
https+アクセストークンを使ってGitHubのアカウントを使い分ける - Qiita

同じく入力省略について、こちらは.netrcに書く方法。
[Git][GitHub]GitHubにPushする際に認証失敗する | DevAchieve


Circle CI

DBまわりの設定。
seedはtest内でやるなら設定ファイルには要らないかも。
CircleCiでLaravelのMySQLを使ったテストを実行する - Qiita

APP_KEYをcircle.ymlに定義しないとエラーになるので書いておく。
エラーメッセージが分かりづらい → "RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths."
Laravel アプリケーションを、 Circle CI 経由で AWS ElasticBeanstalk に自動デプロイ - Qiita

Circle CIで使えるPHPのバージョンの参考ページのリンクなど。
PHPプロジェクトにおけるCircle CIの設定 - Qiita

Circle CIからプロジェクトを削除せずにGithubからプロジェクトを削除すると、Circle CI側で削除できなくなる(ずっと読み込み中になる)。
対策は、Githubに同名のプロジェクトを作ればCircle CIから削除できるようになる。
相羽 大輔 (Daisuke AIBA)さんのツイート: "さっきの件、解決。CircleCIに登録したプロジェクトを削除するには「Project Settings > Stop Building on CircleCI」GitHub側で先に消すとCircleCIのプロジェクト設定が触れなくなるので注意。 #kzrb"

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Laravelと Vue.jsのチュートリアル参考サイト 4 Jun 2017 2:07 AM (7 years ago)

Laravel 5.4で Vue.js開発環境を手軽に作る : アシアルブログ

Laravel 5.4でWeb APIを作る : アシアルブログ

Vue.js + vuexによるToDoアプリケーションの実装 : アシアルブログ


node.js/npmの環境作りについては下記が参考になった。
[AWS] 手順に沿った画像付きでAmazon EC2にNode.js, Express環境の構築する | Developers.IO

cross-envがCannot findになる問題の対策は下記。
Cannot find module cross-env · Issue #478 · JeffreyWay/laravel-mix · GitHub


次はDBまわりかなあ。

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

初めてのLaravel参考サイト 27 May 2017 1:47 PM (7 years ago)

メモ。

試しにログイン周りを自動生成してみる。
Laravelの標準Authentication(Auth)の動きを調べてみる - Qiita

Specified key was too longというエラーが出たら。
Laravel 5.4: Specified key was too long error - Laravel News

RESTなAPIを作ってみる。微妙に古い?
開発の進め方きめごと - Qiita

次はこれかな。
Laravel 5.4でWeb APIを作る : アシアルブログ

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Itamaeセットアップ on CentOS7 25 Dec 2016 12:16 AM (8 years ago)

Rubyなどをインストール。Rubyはrbenvで入れた方がいろいろできるが、今回は手軽なyumで。
# yum install ruby-devel gcc-c++
gemでItamaeなどをインストール。
# gem install itamae io-console --no-document
パスワードも生成するならこれも必要
# gem install unix-crypt --no-document
参考 floatingdays: Itamaeセットアップメモ Itamae自分メモ[1] userとかsshとかportの初期設定

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

PDFの一部のページを別の PDFとして保存する方法 25 Dec 2016 12:14 AM (8 years ago)

PDFファイルの一部のページだけ保存する。 - Yahoo!知恵袋
Google Chromeの印刷機能で出力をプリンターでなくPDFにできることを利用する。
なるほど。

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

クラウドN (cloudn)でのサーバ構築 19 Dec 2016 3:23 PM (8 years ago)


クラウドといえばAWSしか使ったことがないので、主にAWSと比較しながら備忘録的にメモ。
FLATタイプでCentOS 7の場合。


AWSと同じようなところ



AWSと違うところ
(良いところ)

(悪いところ)
  • サーバ停止中でも課金される。(稼働中よりは安いが。)
  • サーバ削除のプロテクト設定が無いのがちょっと怖い。
  • 管理コンソール等のタイムゾーンがUTC。
  • 管理コンソールで意味不明な部分がある。(OpenStackの仕様をしらべればいいのか...?)
  • サーバ起動後にセキュリティグループを変更できない。
  • サーバはデフォルトでrootのSSHログインが可能。鍵ファイルではなくパスワード認証。
    ※パスワードはサーバ登録時に生成され、管理コンソール上で1度だけ表示される。管理コンソールからリセットもできる。リセットするとsshdの設定(SSHのrootログイン禁止、パスワード認証禁止、鍵ファイルによる認証の許可など)も初期化される。
  • サーバのテンプレート(AWSでいうところのAMI)を作る前に、手動でサーバを停止しないといけない。
(その他)
  • サーバのSELinuxはデフォルトで有効。
  • SMTPはpostfixが入っている。



本番用テンプレートを作る時にまずやることのメモ
CentOS 7のコマンドがCentOS 6から色々変わってるので慣れないと...。


以下は必要に応じて




参考



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

CentOS 7に NginXをインストール 2 Dec 2016 4:03 PM (8 years ago)


ダウンロード・インストール
CentOS7.1でnginxを用いたウェブサーバの構築 - Qiita

Webのルートのディレクトリは下記になる
(SELinuxが有効な場合は変更しない方が面倒が無い?)

/usr/share/nginx/html/


設定
/etc/nginx/nginx.conf

worker_processesはautoで良さそう。
参考 nginx の worker_processes を auto にしたときの挙動 - やまぶろぐ


サービス開始
systemctl start nginx.service

起動時にサービス開始するようにする
systemctl enable nginx.service


HTTPS(TLS)対応
既存の/etc/nginx/conf.d/default.confのserver{}内に下記を追加したらできた。
(公開サーバの場合はセキュリティ設定をもっと絞り上げたほうが良い。)
listen 443 ssl;
ssl_certificate     /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
参考 はてなブックマーク - Bマイナー志向 - 2016年1月30日


リバースプロキシ
同じく/etc/nginx/conf.d/default.confのserver{}内に下記を追加。
location /foo/ {
    proxy_pass https://example.jp/test/;
}


参考
nginx.confが読めるようになる - 魔法使いの卵
Nginx設定のまとめ - Qiita

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

chalice お試しメモ 18 Nov 2016 10:43 PM (8 years ago)

chalice (Python Serverless Microframework for AWS)をAmazon Linuxに入れてHello Worldしたのでメモ。


1. aws configure

Amazon Linuxならaws(AWS CLI)は最初からインストールされている。
configureで認証情報を登録する。

参考 【AWS】CLIの初期設定について(認証情報とコマンド補完) - TASK NOTES


2. chalice

参考 GitHub - awslabs/chalice: Python Serverless Microframework for AWS

必要に応じてrootで作業する。


マネジメントコンソールから確認したところ、下記が登録されていた。


また、実行後にCloudWatchにログが登録された。


アクセス制限はAPI GatewayはAPIキー認証しかできないので、前にCloudFront+AWS WAFを置くか、アプリケーション側でやるか。(ちょっとめんどくさい。EC2くらい手軽にできるとよいのだが。)

不明点



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

負荷テストツール調査 2016 30 Oct 2016 3:52 AM (8 years ago)


Goadがおもしろそう。


【ツール】

ab (Apache Bench)
参考 Apache Benchでサクッと性能テスト - Qiita

JMeter
要Java。
参考 JMeter | TECHSCORE(テックスコア)

Goad
EC2からAWS Lambdaを使う。Golang製。
参考 Lambda を利用した分散 Web 負荷テストツール Goad を使ってみた - Qiita

LOCUST
Python製。

Tsung
Erlang製。
参考 Tsung で負荷試験 - Qiita


【サービス】

Shift社の負荷テストサービス
無料。テスト対象と同じドメインのメールアドレスを登録する必要あり。
参考 SHIFTの負荷テストサービス

Load Impactまともに使うなら有料。
参考 ロードテストサービスの Load Impact を使ってみた : まだプログラマーですが何か?


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

MySQLへの接続の暗号化 30 Oct 2016 3:45 AM (8 years ago)



基本
MySQLでSSLクライアント証明書を使う - Qiita

※MySQL側のCommon Nameはサーバのホスト名にする


暗号化されていることを確認するSQL
show status like'Ssl_cipher';
MySQL5.6での注意点 MySQL 5.6でSSL接続が有効にならない・クライアントからSSL接続できない。 - ah-2 WindowsのMySQL Query Browserでは、caだけでなく、下記の全てを指定しないと接続できないようだ。
USE_SSL => "Yes" SSL_CA => ca.crtのファイルパス SSL_CERT => client.crtのファイルパス SSL_KEY => client.keyのファイルパス
ファイルパスのバックスラッシュ(¥)はバックスラッシュのままでも、スラッシュにしてもどちらでもOK。 ファイルパスのスペースが含まれていてもOK。 ca.crtは、server.crtとclient.crtの中身を合わせる必要はないようだ。 参考:MySQL :: MySQL Administrator :: 21.4.1 SSL Connections REQUIRE SSLなユーザーだと、MySQL Query Browserの上部メニューからのMySQL Administratorの起動や、逆にMySQL AdministratorからMySQL Query Browserの起動ができない。(直接起動すれば起動できる。)

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Amazon RDS Auroraの参考サイトメモ 16 Jul 2016 4:33 AM (8 years ago)

参考記事
Amazon Aurora/MariaDB/MySQLの違いを整理してみる #reinvent | Developers.IO
エンタープライズワークロードにおけるAmazon Auroraの活用
Amazon Auroraについての簡単なメモ - Qiita
11/10 Amazon RDS for Aurora 東京ローンチ記念セミナーに行ってきました - 駆け出しアクアテラリストのIT奮闘記
ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか? | Developers.IO


問題点
Amazon Auroraへの移行 - inFablic
AWS RDSのAuroraをパブリックから繋いだ時のパフォーマンス - イフブロ


メンテナンスウィンドウ
Amazon RDS のメンテナンス期間 - Amazon Relational Database Service


可用性
Amazon Web Services ブログ: 【AWS発表】Amazon Auroraをご利用頂けるようになりました!
Amazon Aurora東京ローンチ記念セミナー参加レポート - 其未来
Auroraの可用性は99.99% → 1年間で52.56分止まる計算になる
SLAは99.95%


料金
料金 - Amazon RDS | AWS
2016年現在、オンデマンドインスタンスで、$0.35/H~(最安のr3.large)→ ストレージやI/Oも含めて3万円弱/月~くらいか
Multi-AZにするなら倍だから6万円弱/月か

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Itamaeセットアップメモ 16 Jul 2016 4:28 AM (8 years ago)

EC2のAmazon LinuxにItamaeのサーバを構築し、リモートサーバもEC2のAmazon Linuxの場合


セットアップ
参考:Itamae on AWS - Itamae の EC2 へのインストールとレシピ適用 - - Qiita

sudo gem install itamae
sudo yum install ruby-devel gcc-c++
sudo gem install io-console


ローカルで実行する場合
sudo /usr/local/bin/itamae local path/to/recipe.rb
yamlのnodeを読み込む場合
sudo /usr/local/bin/itamae local --node-yaml path/to/node.yaml path/to/recipe.rb


リモートサーバに実行する場合
EC2へのSSHログインで使う秘密鍵をItamaeサーバ上にコピー(取り扱い注意?)
例:/home/ec2-user/.ssh/your-pair.pem
itamae ssh -h 対象のIP -i path/to/your-pair.pem path/to/recipe.rb

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Ansibleや Itamaeで LAMP環境を作る 16 Jul 2016 4:24 AM (8 years ago)

参考サイトのメモ。
Itamaeの方がいいかな。


Ansible

Ansibleのインストールと、ごく簡単なplaybook
VagrantとAnsibleでCentOSの環境を用意してみる - yk5656 diary

LAMP環境を作成
AnsibleでとりあえずのLAMP環境してみる - yk5656 diary

PHPをインストール
Ansible でインストール (php 5.6) - Qiita



Itamae

Itamaeのインストール、ごく簡単なレシピ、リモートサーバへの適用
Itamae on AWS - Itamae の EC2 へのインストールとレシピ適用 - - Qiita

レシピの書き方など
Chef脱落者が、Itamaeで快適インフラ生活する話 - Qiita
itamae 入門 - Qiita
Itamaeチートシート - Qiita
vagrantとitamaeによるLAMP環境構築 - Qiita
EC2 のインスタンスを Itamae でプロビジョニングした | mizoguche.info

設定値をJSONまたはYAMLに切り出す
第3回 ノード属性で汎用的なレシピを書く:Itamaeが構成管理を仕込みます! ~新進気鋭の国産・構成管理ツール~|gihyo.jp … 技術評論社

公式ドキュメント(英語。詳細は載ってない)
Home · itamae-kitchen/itamae Wiki · GitHub

公式ドキュメントが想像よりそっけないので、詳細は他のブログ等やQiitaで調べながら...。まあシェルコマンドが使えるから汚い書き方でいいならどうにでもなるけど。

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Let's Encryptの cronによる実行が動かなくなった時の対策 25 Jun 2016 12:16 AM (8 years ago)

certbot (Let's Encrypt)を Amazon Linuxにインストールの後日談。
OSはAmazon linux。

cronの結果がメールで送られてきた。

Checking for new version...
Upgrading certbot-auto 0.6.0 to 0.7.0...
Replacing certbot-auto...
Creating virtual environment...
./certbot/certbot-auto: line 530: virtualenv: command not found

cronを再実行してみる。
WARNING: Amazon Linux support is very experimental at present...
if you would like to work on improving it, please ensure you have backups
and then run this script again with the --debug flag!

言われた通りにコマンドを変更。
./certbot/certbot-auto renew --debug && sudo service httpd reload

再実行。
Bootstrapping dependencies via Amazon Linux...
yum is /usr/bin/yum
Loaded plugins: priorities, update-motd, upgrade-helper
Package gcc-4.8.3-3.20.amzn1.noarch already installed and latest version
Package dialog-1.1-9.20080819.1.5.amzn1.x86_64 already installed and latest version
Package augeas-libs-1.0.0-5.7.amzn1.x86_64 already installed and latest version
Package 1:openssl-1.0.1k-14.91.amzn1.x86_64 already installed and latest version
Package 1:openssl-devel-1.0.1k-14.91.amzn1.x86_64 already installed and latest version
Package libffi-devel-3.0.13-11.4.amzn1.x86_64 already installed and latest version
Package system-rpm-config-9.0.3-42.27.amzn1.noarch already installed and latest version
Package ca-certificates-2015.2.6-65.0.1.15.amzn1.noarch already installed and latest version
Package python27-2.7.10-4.120.amzn1.x86_64 already installed and latest version
Package python27-devel-2.7.10-4.120.amzn1.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package python27-pip.noarch 0:6.1.1-1.21.amzn1 will be installed
---> Package python27-tools.x86_64 0:2.7.10-4.120.amzn1 will be installed
---> Package python27-virtualenv.noarch 0:12.0.7-1.12.amzn1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package                 Arch       Version                 Repository     Size
================================================================================
Installing:
 python27-pip            noarch     6.1.1-1.21.amzn1        amzn-main     1.9 M
 python27-tools          x86_64     2.7.10-4.120.amzn1      amzn-main     706 k
 python27-virtualenv     noarch     12.0.7-1.12.amzn1       amzn-main     2.0 M
Transaction Summary
================================================================================
Install  3 Packages
Total download size: 4.6 M
Installed size: 11 M
Is this ok [y/d/N]: Exiting on user command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2016-06-22.11-17.hYs7z_.yumtx
Could not install OS dependencies. Aborting bootstrap!

cronでなく手動で実行し、パッケージをインストール
./certbot/certbot-auto renew --debug

正常終了。
以降はcronでも"--debug"無しでも大丈夫になったが、"--debug"を付けておいた方が無難?

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Qualys SSL Server Testでレートを Aプラスにする 21 May 2016 4:26 AM (8 years ago)


Qualys SSL LabsのSSL Server Testで、A評価を得てみる。


環境




デフォルト設定
SSLProtocol all -SSLv3
SSLHonorCipherOrder on

B
This server accepts RC4 cipher, but only with older protocol versions. Grade capped to B.


SSLCipherSuiteも指定(コメントアウトされている推奨?設定+RC4も禁止)
SSLCipherSuite HIGH:MEDIUM:!RC4:!aNULL:!MD5

A


HSTSを追加
Header always set Strict-Transport-Security "max-age=15768000"

A+
HTTP Strict Transport Security (HSTS) with long duration deployed on this server.


さらにProtocol Supportを満点にするには、TLS1.2のみにすればOK。
Key ExchangeとCipher Strengthを満点にするには?SSLCipherSuiteをきちんと指定する??



参考



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

certbot (Let's Encrypt)を Amazon Linuxにインストール 21 May 2016 4:20 AM (8 years ago)


以前一度挫折した(古いAmazon Linuxをアップデートして使っているためだと思われる)が、certbotに改名後に試してみたら、できた。


前提




手順

  1. sudo easy_install pip
  2. sudo pip install --upgrade pip
  3. sudo /usr/local/bin/pip install --upgrade virtualenv
  4. (作業用ディレクトリで)
    git clone https://github.com/certbot/certbot
  5. cd certbot
  6. ./certbot-auto certonly --webroot -w /var/www/html -d ドメイン名 --agree-tos -m メールアドレス --debug
  7. /etc/httpd/conf.d/ssl.confの下記箇所を変更する。(Apache2.4.8より前のバージョン場合は微妙に違うので参考サイト参照。)
    SSLCertificateFile /etc/letsencrypt/live/ドメイン名/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
  8. httpdを再起動


証明書の自動更新
証明書の期限は90日なので、cronで定期更新させる。cronがメールを飛ばすように設定してあれば結果がメールで来る。

(例:月に1回更新する場合。日時は月初にすると混雑しそうなので、適当にずらした方がよいかも。)
45 3 12 * * ./certbot/certbot-auto renew && sudo service httpd reload

(2016/6/25 追記)
--debugも付けた方がよいかも?参考→Let's Encryptの cronによる実行が動かなくなった時の対策
(追記終わり)

期限まで30日以上ある場合は更新されない。それでも更新したい場合は--force-renewオプションを付ける。
上記例を試した時はまだ更新されなかったので、本当にこれでよいかはその日が来てから確認する。(--debug無しとか大丈夫か?タイミングによっては、月イチだと期限切れになるケースがあるかも?)


備考的な




さよなら自己署名!さよならオレオレ証明書!


参考



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

シマンテックのクロスルートなサーバ証明書が使えなくなる? 1 May 2016 1:06 AM (8 years ago)

2016年4月のマイクロソフト社のルート証明書情報更新の影響と対策に関するご案内(続報) | Symantec

意訳
Microsoftが2016年4月19~20日(日本時間)に配信するルート証明書情報の更新により、シマンテックのクロスルートを付けているサーバ証明書を使っている場合にWindows上の(Firefox以外の)ブラウザで警告が出るようになる。
回避するにはクロスルートを外す。


このMicrosoftの更新はWindows Updateとは別らしい。
なお、4/19~20となっているが4/20になってMicrosoftが更新を延期したらしい。(結局、4/26~27に実施。)


クロスルートを外すと、ガラケー等で使えなくなるのでは?

クロスルート設定用証明書の設定について、どのような対応が必要でしょうか? | Symantec のPDFによると、ガラケーへの影響は2機種のみ。スマホでもいくつか影響があるが、発売が2010年以前なので影響は少なそう。SHA-1を切り捨てたことにより、既に古いガラケーの多くはSSL/TLSの対象外になっていた。

ちなみに、 Windowsが遂にSymantecG1ルートを捨てるらしい - 情緒不安定。 によるとクロスルート証明書のIssuerが問題なので、中間CA証明書(クロスルートを含む)自体がG1でなくても影響がある。(シマンテックがクロスルート証明書として配布している VeriSign Class 3 Public Primary Certification Authority - G5 のIssuerがG1なので。)


クロスルートを付けている場合に問題が発生するクライアントPC(Windows)の条件を見ると、

条件3 : クライアント環境のルート証明書ストア(Windows Trusted Root Store)に、G5ルート証明書*2が含まれていない場合
*2「VeriSign Class 3 Public Primary Certification Authority - G5」
とある。

おのれSSL!謀ったな・・!! | ツチノコブログ によると、
最近のブラウザではPC/スマフォ問わずにG5証明書が予めインポートされています。ですがwindowsXPのSP2以前やフィーチャーフォンの一部端末はG5証明書がインポートされておらず、『VeriSign Class 3 Public Primary CA』(通称:G1証明書)がインポートされています。

【追記有(2016.04.22)】Windowsが遂にSymantecG1ルートを捨てるらしい - 情緒不安定。 でも、
SymantecG5ルート証明書が入っていないパソコン。
つまり、レガシーなパソコンです。(WindowsXP以前、WindowsUpdateなどを定期的に行ってないと怪しいです。)
とあるので、Windows Vista以降は大丈夫?

でも 2016年4月のマイクロソフト社のルート証明書情報更新の影響と対策に関するご案内(続報) | Symantec によると、XP以降はG5証明書が初期状態ではインストールされていなくて、必要になったらインストールされるらしい。インストールされていない状態でシマンテックのクロスルートに当たると、G1の方を読んでしまうのでエラーになってしまう。


HTTPS セキュリティ証明書における SHA-1 から SHA-256 へのハッシュアルゴリズムの変更について によると、クロスルート無しでクライアント(接続元)がJavaの場合、
1.4.2 より前 → 接続できない
1.4.2 ~ 1.6.0_18 → ごにょごにょしてG5をCAストアに追加すれば接続できる
1.6.0_19 以上 → 接続できる

Java SE 6 Update 19 Release Notes. から Bug ID: JDK-6904162 Add new VeriSign root CA certificates to JRE and remove some old/unused ones を見ても、「verisignclass3g5ca」とあるので6u19でG5が追加されたようだ。


シマンテックによるG5のテストサイトは Symantec SSL test (中間CAがクロスルート無しの「Symantec Class 3 EV SSL CA - G3 」で、そのIssuerがG5。)

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

EC2の MySQLを S3にバックアップする方法(世代管理付き) 8 Jan 2016 2:37 PM (9 years ago)


S3への送信はaws-cliが良さそう。
参考:aws-cli - AWS CLIでS3を操作する - Qiita


aws-cliはAmazon Linuxなら最初から入っているが、手元のインスタンスはconfigure等をするにはバージョンアップが必要だった。
yumでもバージョンアップできるが、今回は諸事情により依存関係のある諸々をそっとしておきたかったので、下記を参考にyumを使わずにaws-cliをバージョンアップ。

参考:AWSCLIで運用検討中の人必見! AWSCLIを使用したS3へのファイルコピー | クラウド工房 Powered by Amazon Web Services

sudo easy_install pip
sudo pip install awscli -U


IAMでS3のみに権限を絞り込んだユーザーを作り、その認証情報をconfigure。(もう少し権限を絞っても良いかも。)

aws configure

AWS Access Key ID [None]: (アクセスキーを入力)
AWS Secret Access Key [None]: (シークレットアクセスキーを入力)
Default region name [None]:
Default output format [None]:


世代管理はS3の機能であるバージョニングとライフサイクルを使う。
S3でバケットを作成し、バージョニングを有効化。
ライフサイクルでルールを追加。(例「以前のバージョン」を30日後に削除)


後は適当にダンプとS3へのコピーのスクリプトを作ってcronに登録する。
分かりやすいようにディレクトリを作成し、そこにスクリプトを作った。

バックアップ用スクリプト作成。
vi backup.sh

#!/bin/sh
echo "START " `date +'%Y/%m/%d %H:%M:%S'`
MYSQL_PWD='MySQLのパスワード' mysqldump -u MySQLのユーザー 対象DB > data.dump
aws s3 cp data.dump s3://バケット名/
echo "E N D " `date +'%Y/%m/%d %H:%M:%S'
(パスワード直書きにしたが、きちんとやるならMySQLのパスワードは隠したい。)

スクリプトのファイルに実行権限を付ける。
chmod 700 backup.sh

cronに登録。
crontab -e

0 1 * * * cd /スクリプトのディレクトリ; ./backup.sh >> history.log


aws-cliを使うと、AWSのサービス間の通信はSSL(TLS?)で暗号化されるようだ。
参考
aws — AWS CLI 1.9.17 Command Reference
By default, the AWS CLI uses SSL when communicating with AWS services.

Amazon Web Service aws cliはデフォルトで暗号化通信されるのか? - なぜか数学者にはワイン好きが多い



S3を使わずにサーバ上で世代管理するだけなら、下記が一番分かりやすかった。
mysqldumpをcronで1日1回取得し、バックアップ用ファイルを保存する - サイト制作の豆知識

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

jsDelivrから 最新の各種JavaScirpt / CSSフレームワークを読みこむ URL 5 Dec 2015 10:45 PM (9 years ago)

jsDelivrから最新のJavaScirpt/CSSフレームワークを読みこむURLのメモ。

下記の「短縮形」は本来は複数ファイルをまとめる機能だが1ファイルでも使える。(URLが短くなり、キャッシュ期間が長くなる。)


■ jQuery

https://cdn.jsdelivr.net/jquery/latest/jquery.min.js
短縮形 https://cdn.jsdelivr.net/g/jquery

v3.0.0-alpha1

https://cdn.jsdelivr.net/jquery/2/jquery.min.js
短縮形 https://cdn.jsdelivr.net/g/jquery@2

v2.1.4

https://cdn.jsdelivr.net/jquery/1/jquery.min.js
短縮形 https://cdn.jsdelivr.net/g/jquery@1

v1.11.3


■ jQuery UI

CSS
https://cdn.jsdelivr.net/jquery.ui/latest/jquery-ui.min.css

JS
https://cdn.jsdelivr.net/jquery.ui/latest/jquery-ui.min.js
短縮形 https://cdn.jsdelivr.net/g/jquery.ui

JSをjQuery(v2.X)と合わせて1ファイルにする
https://cdn.jsdelivr.net/g/jquery@2,jquery.ui

CSSでテーマを指定する場合
https://cdn.jsdelivr.net/jquery.ui/latest/themes/flick/jquery-ui.min.css
テーマを指定しないと"UI lightness"になる(参考:http://jqueryui.com/themeroller/#themeGallery


■ jQuery Mobile

CSS
https://cdn.jsdelivr.net/jquery.mobile/latest/jquery.mobile.min.css

JS
https://cdn.jsdelivr.net/jquery.mobile/latest/jquery.mobile.min.js
短縮形 https://cdn.jsdelivr.net/g/jquery.mobile

JSをjQuery(v2.X)と合わせて1ファイルにする
https://cdn.jsdelivr.net/g/jquery@2,jquery.mobile


■ Bootstrap

CSS
https://cdn.jsdelivr.net/bootstrap/latest/css/bootstrap.min.css

JS
https://cdn.jsdelivr.net/bootstrap/latest/js/bootstrap.min.js
短縮形 https://cdn.jsdelivr.net/g/bootstrap

JSをjQuery(v2.X)と合わせて1ファイルにする
https://cdn.jsdelivr.net/g/jquery@2,bootstrap


■ Bootswatch


https://cdn.jsdelivr.net/bootswatch/latest/cerulean/bootstrap.min.css
テーマもたくさん → https://www.jsdelivr.com/?query=bootswatch


■ Pure.css

https://cdn.jsdelivr.net/pure/latest/pure-min.css
短縮形 https://cdn.jsdelivr.net/g/pure


■ Normalize.css

https://cdn.jsdelivr.net/normalize/latest/normalize.min.css
短縮形 https://cdn.jsdelivr.net/g/normalize


■ Font Awesome

https://cdn.jsdelivr.net/fontawesome/latest/css/font-awesome.min.css
短縮形 https://cdn.jsdelivr.net/fontawesome/latest/css/mainfile

https://cdn.jsdelivr.net/g/fontawesome だとうまく表示されなかった。(フォントファイルへの相対パスがおかしくなる?)



ブラウザキャッシュ期間は1週間。
ただし、複数ファイルをまとめると max-age=15724800(約6ヶ月)になった。


【HTTP Response Header(抜粋)】

Server: nginx
Content-Type: application/x-javascript; charset=utf-8
Vary: Accept-Encoding
X-Version: 3.0.0-alpha1
Cache-Control: public, max-age=604800
access-control-allow-origin: *
X-Cache: HIT
x-edge-location: jptk
Content-Encoding: gzip
X-Firefox-Spdy: h2



ファイル名は"mainfile"でも代替可。minのJSまたはCSSになる。



参考:パブリックなCDNはjsdelivrかcdnjsでいいじゃん。 | Sorry for Team KILLing

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

2015年にもなったので font-familyを見直したら要らないものだらけだった 16 Oct 2015 10:59 PM (9 years ago)


前提として、Windowsにヒラギノを入れてたり、Macにメイリオを入れてたりする、「ごく少数の人」は無視したい。それから、かなり古い環境や日本語以外の環境も除いて考える。

で、よくあるこんな無難なfont-familyを見て。

font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", sans-serif;

まず、Macは全角のfont-familyを無視するので、"ヒラギノ角ゴ ProN W3"は不要。
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", sans-serif;

次に、Windowsでは全角のfont-familyを書いておけば良いので(両方、または全角のみを認識するブラウザはあるが、半角のみを認識するブラウザは無い。日本語環境なら)、Meiryoも要らない。
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", sans-serif;

そして、Windowsのデフォルトは"MS Pゴシック"、Macは"Hiragino Kaku Gothic ProN"なので、sans-serifさえ指定しておけばこれらもわざわざ指定する必要はない。(ブラウザの設定を変えている人もいるだろうけど、そういう人は自分が設定したfont-familyで見せてあげたほうが良いと思う。)
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", sans-serif;

游ゴシックは…好みかな?
Mac:YuGothicあり or なし(ヒラギノ)
Windows:"游ゴシック"あり or なし(メイリオ)

ということで、游ゴシックありなら、
font-family: "游ゴシック", YuGothic, "メイリオ", sans-serif;
游ゴシック無しなら、
font-family: "メイリオ", sans-serif;
でいいんじゃないかな?

ちなみにiOSはヒラギノ、(一般的な)Androidはsans-serifでデフォルトのfont-familyが適用される。

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

VALUE DOMAINで CNAMEを設定するときの注意 4 Sep 2015 5:45 PM (9 years ago)

参考:Easy Setup for VALUE DOMAIN Users

※最後のピリオドをわすれないように!

ピリオドを付けないとサブドメインと見なされて下記のようになってしまうので注意。


hoge.example.jpで、example2.comにアクセスできるようにしたい場合

cname hoge example2.com
と(最後にピリオドを付けずに)設定し、nslookupすると、
hoge.example.jp      canonical name = example2.com.example.jp.
Name:   example2.com.example.jp
となってしまう。

cname hoge example2.com.
のように最後にピリオドを付ければ、

hoge.example.jp      canonical name = example2.com.
Name:   example2.com
のように期待通りのCNAMEになる。

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

JavaScript, CSSライブラリの CDN 28 Jun 2015 6:18 PM (9 years ago)



たくさんのライブラリをホスティングしているところ

RawGit
・(cdn.rawgit.comの方は)by MaxCDN
・Github上のライブラリが対象

jsDelivr
・by MaxCDN and CloudFlare

cdnjs
・by CloudFlare

OSSCDN
・by MaxCDN



特定のライブラリのみホスティングしているところ(と言ってもGoogleとMicrosoftはそこそこ揃ってる)

Google Developers Hosted Libraries
・by Google
・AngularJSあり

Microsoft Ajax Content Delivery Network
・by Microsoft
・Bootstrap、Knockoutあり

jQuery CDN
・by MaxCDN
・jQeuryファミリーのみ

Bootstrap CDN
・by MaxCDN
・Bootstrap、Font AwesomeとBootswatchのみ

Yahoo! Developer Network
・by Yahoo
YUIPure.cssのみ
・HTTPS不可


MaxCDNがんばってる


参考
floatingdays: JavaScriptフレームワーク/ライブラリの CDNいろいろ


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

画像圧縮サービスの比較 2 May 2015 4:49 AM (9 years ago)

リンク集的メモ。


ファイルサイズが一番小さいのはTinyPNGのJPEGだった。
(JICは圧縮率を指定できるので除外。) ただ、Compressor.ioのPNGがファイルサイズの割に一番きれいだった。
(paint.netで同じようなPNGにしてみたが、Compressor.ioのPNGの方がなぜかきれいだった。)

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?