<< 2024.4 >>
[D]
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

検索サイトから来られた方でキーワードが見つからない場合は検索を試してみてください。

2014/4/23 (水)

プリンタで出そうブランク五線譜

作曲する時、編曲する時、耳コピする時。みなさんも譜面を書くときには五線譜を使いますね。私も便利に使っています。

市販の五線譜は便利ですが、しかし大抵の五線譜は小節線が入っていません。リードシートを書く時は等間隔で小節線が入っていた方が便利ですよね。私の場合はコピー時の裏写りが怖いため、せっかく市販品は両面印刷されているのですが結局片面しか使わないのでややもったいなくも感じていました。

コピー配布して使うなら立派な紙でなくても良い、そう気付きプリンターで手軽に五線譜が出せないかとブランク五線譜を作ってみました。この五線譜の特徴は...

  • 自宅のプリンターで簡単に出せる!
  • 最初から小節線が入っている!
  • ト音記号が最初から入っている!

A4用紙で出した時に綺麗に出るように調整しました。PDFをダウンロードしてプリントアウトすれば今すぐに使うことができます。


2013/9/19 (木)

qmail + smtp-auth + SSL

qmailとsmtp-authとSSLの自分用メモ。stunnelをインストールし、SMTP-AUTHしてみように従って設定、ただしvmailmgrdは使わずにvpopmailの認証を使います。

  • 起動コマンド
    tcpserver -R -u qmaild -g nofiles -x /var/qmail/tcpserver/local.smtp.cdb 0 465 \
    /usr/sbin/stunnel /usr/local/etc/stunnel/smtp.conf &
  • /usr/local/etc/stunnel/smtp.conf
    cert = /usr/local/etc/stunnel/hutcraft.pem
    exec = /var/qmail/bin/qmail-smtpd-auth
    execargs = /var/qmail/bin/qmail-smtpd-auth hutcraft.jp /home/vpopmail/bin/vchkpw /bin/true

PemファイルはSSLのKeyファイルとCRTファイルを連結するとよいようです。

cat keyfile > /usr/local/etc/stunnel/hutcraft.pem
cat crtfile >> /usr/local/etc/stunnel/hutcraft.pem
chmod 600 /usr/local/etc/stunnel/hutcraft.pem
cat /usr/local/etc/stunnel/hutcraft.pem
-----BEGIN RSA PRIVATE KEY-----
..
... 略
..
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
..
... 略
..
-----END CERTIFICATE-----

qmailはコンパクトすぎて、POP-Before-SMTPやバーチャルドメインやSMTP-AUTH、SSLなどをやろうとすると外部プログラムやらパッチやらでぐっちゃぐちゃになりがち。qmailである必要があって移行はできてませんが、ゼロから構築するならpostfixの方がいいですね。


2013/9/13 (金)

All of me のスキャットライン

機会があり、All of meのスキャットライン考えてみました。よろしければセッションとかで歌ってみてくださいませ。

Aフラットなので女性キーとしては少し高いかもです。特にライン2はHi-Fはでるだろうか。


2013/9/6 (金)

コメントスパム対策経過

WordPressのコメントスパム対策をしてから1週間がたちました。

スパム投稿は今まで2〜5通/日だったところ、この1週間では0通でした。効果覿面です。^p^


2013/9/3 (火)

Tomcatセッションレプリケーションメモ

ローリングアップグレードの手段としてセッションレプリケーションを試してみます。レプリケーションができていればWARの更新時にワーカーを順番に再起動してもサービスは無停止でアップグレードできるはずです。

  • Apache 2.2.25
  • Tomcat 6.0.35

ローカルに2台のTomcatを立ち上げ、1台のApacheから割り振る方法をやってみます。

Apacheの設定

  • httpd.conf
    ProxyPass /scone/ balancer://workergroup/
    <Proxy balancer://workergroup>
            BalancerMember ajp://localhost:8009/scone/ ping=500ms retry=10
            BalancerMember ajp://localhost:18009/scone/ ping=500ms retry=10
            ProxySet lbmethod=bybusyness
    </Proxy>

Tomcatの設定

  • 2台のTomcatのアプリケーションのContextにdistributableを追加します。
    <Context path="/scone" reloadable="false" distributable="true">
  • server.xmlのHost要素に以下を追加しました。
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
      <Manager className="org.apache.catalina.ha.session.DeltaManager"
            expireSessionsOnShutdown="false"
            notifyListenersOnReplication="true"
            mapSendOptions="6"/>
       <Channel className="org.apache.catalina.tribes.group.GroupChannel">
         <Membership className="org.apache.catalina.tribes.membership.McastService"
                           address="228.0.0.4"
                           port="45564"
                           frequency="500"
                           dropTime="3000"/>
         <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                         address="localhost"
                         port="5000"
                         selectorTimeout="100"
                         maxThreads="6"/>
         <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
           <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
         </Sender>
         <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
         <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
         <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
       </Channel>
       <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
       <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
       <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
       <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                       tempDir="/tmp/war-temp/"
                       deployDir="/tmp/war-deploy/"
                       watchDir="/tmp/war-listen/"
                       watchEnabled="false"/>
    </Cluster>

Managerで設定したDeltaManagerはAll-to-Allのレプリケーションになるそうです。他にBackupManagerという1台に複製を送信するマネージャーがあるそうです。

今回はレプリケーションするTomcat2台ともローカルホストなので、Receiverで使うポートが2台で競合しないようにします。

    <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                    address="localhost"
                    port="5001"
                    selectorTimeout="100"
                    maxThreads="6"/>

テスト

Apache、Tomcat2台を立ち上げ、ブラウザで接続してみます。ワーカーを1台止めても、即座に切り替わる様子が実験できました。再び落としたワーカーを立ち上げ、別の方を止めても大丈夫。これはすごい!これならジオンはあと10年は戦える。


2013/8/29 (木)

Wordpressのコメントスパム対策

最近Wordpressをちょっとずつ使っているのですが、コメントスパムが大盛況!なのでボットの投稿を弾いてみます。

やり方は簡単。投稿フォームにJavascriptでHiddenフィールドを書き出し、POST先でそのHiddenフィールドが含まれているかを判断する。Javascript実行環境のみ投稿可能な仕組み。Javascript実行不能ブラウザからは投稿できないけど切り捨てていいかなという判断。

効果の程や如何に。

#gist(6378921);


2013/8/5 (月)

発進シーンとか変身シーンのようなかっこいいBGM作りました。聞いてねヾ( ゚д゚)ノ゛


2013/8/3 (土)

Apache2でSNI

1台のサーバーと1つのIPアドレスで複数のドメインをSSLで運用するにはSNIを使うと実現できます。Apache2+OpenSSLでSNIメモ

CentOSのyumはApache2.2.3までしか対応していないようなので自力インストールが必要でしたのでhttpd-2.2.25をインストール。

# apachectl configtest
Syntax error on line 437 of /usr/local/apache2/conf/httpd.conf:
SSLStrictSNIVHostCheck failed; OpenSSL is not built with support for TLS extensions and SNI
indication. Refer to the documentation, and build a compatible version of OpenSSL.

OpenSSLもYumでは0.9.8eまでしか入らない。SNIには0.9.8f以上が必要らしいのでこれも最新を自力インストールしました。

openssl-1.0.1e
# ./config shared

apache2を再コンパイル

./configure --prefix=/usr/local/apache2 --enable-dav --enable-proxy
 --enable-ssl --enable-suexec --enable-rewrite --with-included-apr
 --enable-so --with-ssl=/usr/local/ssl

起動してみると今度はこんなエラーが。

/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/httpd: error while loading shared libraries:
 libssl.so.1.0.0: cannot open shared object file: No such file or directory

仮対処としてリンクだけ貼って逃げました。

# cd /usr/local/apache2/lib
# ln -s /usr/local/ssl/lib/libssl.so.1.0.0 
# ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 

apache2起動、失敗。まだエラー

error_log
Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)

SNIを使う場合、SSLのデフォルト値は効かない模様。これが出たら全てのバーチャルホストにSSLEngine行が入っているかチェックしましょう。

最終的にこんな風になって、無事に証明書の切替が実現できました。

Include conf/extra/httpd-ssl.conf
SSLStrictSNIVHostCheck off
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
     ServerAdmin webmaster@localhost
     DocumentRoot <path>
     ServerName <domain A>
     SSLEngine on
     SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
     SSLCertificateFile      <crt A>
     SSLCertificateKeyFile   <key A>
     SSLCACertificateFile  <intermediate.crt>
</VirtualHost>
<VirtualHost *:443>
     ServerAdmin webmaster@localhost
     DocumentRoot <path>
     ServerName <domain B>
     SSLEngine on
     SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
     SSLCertificateFile      <crt B>
     SSLCertificateKeyFile   <key B>
     SSLCACertificateFile  <intermediate.crt>
</VirtualHost>

2013/6/18 (火)

七つの子

七つの子をアレンジして弾きました^0^


2013/6/12 (水)

テクノっぽいサンプル用BGM2つ作ったよ。ミキシングがんばりました。こういう曲も作ります。聞いてねヾ( ゚д゚)ノ゛



[ 編集 | 凍結 | 差分 | 添付 | 複製 | 名前変更 | リロード ]   [ 新規 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]
Last-modified: 2011-06-15 (水) 04:12:52 (4693d)