Apache(2.2系)でSSL接続(なんちゃって、個人認証編)
ApacheでSSL接続をするために、SSL個人認証を入れる。 cd /etc/apache2 sudo mkdir ssl cd ssl opensslで秘密鍵(server.key)を作成 sudo openssl genrsa -out server.key 1024 サーバー用公開鍵(server.csr)作成 openssl req -new -key server.key -out server.csr このコマンドを実行すると、いくつか設定する項目が表示されます。 設定の内容 Co ...
rspecでコントローラのテストを書くときのTips
モジュールがインクルードされているか it "should include AuthenticatedSystem" do controller.class.included_modules.should include(AuthenticatedSystem) end 隠したいパラメータがフィルターされているか it "should filter credit_cards" do controller.send(:filter_parameters, 'credit_card' = ...
特定のアカウントのsudo時のパスワードを聞かれないように設定する
特定のアカウントでsudoする時に、パスワードを聞かれないように設定する。 sudo visudo コマンドでsudoerファイルを開き、以下の行を追加(修正)する hoge ALL=(ALL) NOPASSWD: ALL とすると、パスワードを聞かれなくなる。
Ubuntuのホスト名を確認・設定する
Ubuntuのホスト名を確認する > hostname ホスト名を変更する vi /etc/hostname で、ホスト名を変更 > hostname を実行
has_manyで関連するテーブルのidの一覧を簡単に得るには
usersテーブル hobbysテーブル があり、 usersテーブルの方に has_many :hobbys hobbysテーブルの方に belongs_to :user が指定されているときに user.hobbys.collect{|c| c.id} とすれば、hobbysのID一覧が得られる が、 user.hobby_ids とすれば、idの一覧を簡単に得られる
MySQLのselectで任意の順番にソートする
MySQLで任意の順番にソートをするにはfieldを使う id name 1 一郎 2 二郎 3 三郎 4 四郎 5 五郎 6 六郎 7 七郎 8 八郎 9 九郎 というテーブルがあるとする。 select * from users; とすれば、 id 1 2 3 4 5 6 7 8 9 という一覧が返ってくる select * from users order by field(id, 4,5,6); とすると id 1 2 3 7 8 9 4 5 6 という結果が返ってくる。 なぜか、fie ...
Linuxのコンソール上で定期的な処理を簡単に書く
Linuxのコンソール上で、たとえば、特定のプロセスのメモリ使用量を観察したい場合 毎回手でpsコマンドを打つのは面倒になる そんな時は、whileでコマンドを回そう while true do clear;ps aux | ruby;sleep 1 done これをコンソール上で入力すると、処理が繰り返される。 参考までに、繰り返す処理は、 clear コンソール上を掃除 ps aux 起動中のプロセスを一覧 sleep 1 1秒間待機
mysqlコマンドで検索結果のカラムを縦に表示する
select * from users \G;
VMware Player 4.0登場
先日、VMware Workstation 8.0がリリースされました。 そのVMware Workstation 8.0には、VMware Player 4.0が同梱されていましたが VMware Player 4.0単体でのインストーラはまだでした。 ですが、やっとリリースされたようです。 ダウンロードはこちらから VMware Player 4.0で新しくなった部分は インストールの変更と拡張キーボード このバージョンの Workstation では、インストールするためのハードウェア要件 ...
Ubuntuのsudoersを編集するときはvisudoで!
Ubuntuで、一般ユーザにsudo権限をつけるときに /etc/sudoersに設定を追加する必要があるが、 viでは開けない。 なぜなら、パーミッションがリードオンリーに設定されているため。 このパーミッションを変えると、sudoが使えなくなる。 sudoが使えないとchmodも出来ない。 chmodが出来ないとなると、sudoが一生使えない。 というループに陥る。 では、どうするかというと、visudoというコマンドで編集する。 これで編集すれば、パーミッションの問題はクリアされる。 もし ...
mysqldumpする時にLOCK TABLEを無視するには
mysqldumpをする時に when using LOCK TABLES と言われたりしてダンプ出来ない時がある。 こんな場合は --skip-lock-tablesオプションをつける
VMware PlayerでBIOSを出す
VMware PlayerでBIOS画面を出すには F2を押す だが、タイミングを間違えるな。 準備はVMware Playerをまず起動する 次に仮想マシンを開くで、該当のVMを選ぶ 仮想マシンの再生ボタンを押して VMwareのスプラッシュが消えたらF2を連打 これでBIOSに入れる
Ubuntuの起動時にGUIのログイン画面を表示させない(CUIモードにする)
UbuntuをVMwareで実行していると、結構メモリが大変なことになったりする。 そこで、普段使わないGUIを起動時には起き上がってこないように設定してみる。 CentOSだと、inittabのランモードを変更すればすぐなんですが Ubuntuだと、それでは駄目らしく /etc/default/grub というファイルを編集します。 このファイルに GRUB_CMDLINE_LINUX_DEFAULT という行がありますが、変更前は GRUB_CMDLINE_LINUX_DEFAULT="qu ...
Ubuntuのコマンドラインでユーザを作成
Ubuntuのコマンドでユーザを作成する場合 UbuntuのGUIでユーザを作成した場合、/home/にユーザのディレクトリが作成されるが コマンド「useradd」をした場合、作成されない。 作成するには、sudo出来るアカウントでログインし useradd cd /home sudo cp /etc/skel chown -R :
SSL received a record that exceeded the maximum permissible length エラーの原因と解決方法【Apache設定】
Apache や mod_ssl の設定で「SSL received a record that exceeded the maximum permissible length」エラーが発生した場合、VirtualHost の IP アドレス設定ミスが原因です。このエラーの原因と修正方法を解説します。 このエラーは、VirtualHostでSSL参照させる設定のIPが間違えているときに出る <VirtualHost 192.168.1.2:443> </VirtualHost ...
openssl 0.9.8oで、携帯からSSL接続が出来ない?
先日、携帯の一部機種からSSL接続が出来ないという障害があり 未だ解決していないのだが、 Ubuntu11.04(デフォルトで0.9.8oが入る)に古いリポジトリ読ませて0.9.8kを入れた所、それでもSSL接続出来なかった。関連するライブラリまでダウングレード出来てたかどうかは不明ですが。 どうやらopensslのバージョンで挙動が変わるみたいだ。 手元にある検証環境で実験したところ 0.9.8kは接続可能だった 0.9.8oでは接続が出来なかった。 もちろん、PCから接続した場合は両方とも接 ...
apacheのアクセスログからユーザエージェントのみを抽出して一覧にするコマンド
sed -e "s/.*\"\(*\)\"$/\1/"
ワーニング「warning: peer certificate won’t be verified in this SSL session」が出る
このワーニング 「warning: peer certificate won’t be verified in this SSL session」 は、Net::HTTPライブラリを使用してSSLなページを取得したときに出力される これを止めるには Net::HTTPを使用するときに「verify_mode」を設定する require 'net/https' https = Net::HTTP.new("gendosu.jp", 443) https.use_ssl = true https.v ...
cronの設定
設定方法 cron編集用コマンドを実行 crontab -e 以下のような書式で実行するタスクを登録 2 5 * * * root /var/batch/run.sh フィールド 指定可能な値 各行の最初の数値5つは左から順に以下の意味があります。 分 0-59 時 0-23 月内日 1-31 月 1-12 (もしくは名前) 曜日 0-7 (0 と 7 は日曜日) リストと範囲 各フィールドには、リスト形式で複数指定したり、範囲を指定したり出来ます。 リスト 分のエリアに「0,15,30,45」 ...
Ubuntuに入れたMySQLに外部から接続する
UbuntuはパッケージでMySQLを入れるとすぐに起動しますが 外部からの接続が出来ないように設定されています。 /etc/mysql/my.cnf このファイルの中に bind-address = 127.0.0.1 という行があります。 これは、IPが127.0.0.1からの接続しか受け付けないですよ、という設定で 127.0.0.1は自分自身のことなので、そのマシンの中からしかつなぐことが出来ません。 この設定行をコメントアウトすることで、その制限を外すことが出来ます ...
