Web System

nginxの各アプリケーション設定(symfony1.4, phpmyadmin)

phpmyadmin: location /phpmyadmin { alias /usr/share/phpmyadmin/; index index.php; } location ~ ^/phpmyadmin/.+\.php$ { root /usr/share/phpmyadmin/; rewrite /phpmyadmin/(.*\.php?) /$1 break; include /etc/nginx/fastcgi_params; fastcgi_pass 1…

linux上でdropboxを利用する方法 クラウドバックアップに活用可能!

サイトのデータやデータベースのバックアップをどのようにとるか困っている方もいるのではないかと(^^) Dropboxを使う方法を紹介します。 1.Dropboxアカウントを取得 http://db.tt/sQqt33i よりDropboxに登録!(すいません!私の紹介にさしてください!) …

sendmailで送るメールを迷惑メールとならないようにするための2つの施策

しっかりとドメインを取得して、サーバを立ててsendmailでメールを送信、自前のsmtpでメールを送信しても迷惑メールになる。メールが届かない(>人<;) しっかりとしたサービスで迷惑がられていないサービスであれば下記対策をすることで迷惑メールになる可…

使っているDebian5.0.10が徐々に古くなってきたのでaptも通らなくなってきた。

http://forums.debian.net/viewtopic.php?f=30&t=76253そろそろ6.x squeezeにしないとなぁ。 という訳ですがとりあえず5.xでも使えるように色々と更新しました。 ただ、apt-get upgradeで多くのソフトを更新するとおそらくトラブルが出るので注意してくださ…

nginx + rapid-ssl導入 - わかりやすいよ

nginx + rapid-sslの導入方法を書きます。SSLって何かとめんどくさいイメージありますが、ファイルがどれがどれかわからなくなるから問題なのです。仕組みがわかっていてもファイルがどれがどれかわからなくなります。この時点でめんどくさいですね。でも簡…

Debian6でnginx1.xをaptから入れる

/etc/nginx/nginx.confをバックアップしておいたほうが良いです。 私は下記作業で上書きされ多少書き直しました。GPG署名を入れる # wget http://nginx.org/packages/keys/nginx_signing.key # cat nginx_signing.key | apt-key add -/etc/apt/sources.list …

symfony1.4でとにかく初期化するためのコマンド

symfony-all などというコマンドで下記で一括初期化。早くて便利です。 #! /bin/bash symfony doctrine:build --all --no-confirmation -t symfony doctrine:clean; symfony doctrine:build-model; symfony doctrine:build-form; symfony doctrine:data-load…

postfixで快適smtpサーバ構築

設定が非常にややこしいsendmailからqmail, postfix, exim4など多くの便利なMTAなどが登場しています。しかしながら、Google Appsでのメール利用など単純にMXレコードを書くだけで近年は安定したメール環境が手に入るようになり、自前でSMTPを立てることも無…

nginx,fastcgiをmonitで落ちないサーバにする

nginxはhttpサーバ本体でありCGIを動かすのはすべてfastcgiです。fastcgiのエンジンをデーモンで構えているとそれぞれのfastcgiサーバが落ちた時にwebサーバが生きていてもサービス提供不能となります。死活問題です。そのためにmonitで落ちないfastcgiサー…

movabletypeでカテゴリアーカイブ、月間アーカイブのリストのテンプレ

movabletypeでカテゴリアーカイブ、月間アーカイブのリストのテンプレです。自分でまとめてなくてまた作ってしもうたのでメモしときます。月間アーカイブ: <mt:IfArchiveTypeEnabled archive_type="Monthly"> <div class="list-wrap"> <mt:ArchiveList archive_type="Monthly"> <mt:ArchiveListHeader> <h2>月別アーカイブ</h2> <div class="list"> <ul> </mt:ArchiveListHeader> <li></li></mt:archivelist></div></mt:ifarchivetypeenabled>

nginxでperl/CGIを利用する方法 on debian6

下記環境はdebian6です。debian5ではaptでspawn-fcgi, fcgiwrapパッケージは提供されていないのでソースなどからインストール必要があります。nginxでperl/CGIを動かしました。nginxではcgiを動かす構造そのものは持っていません。phpもphp-fastcgi使います…

nginxでphp5を利用する方法です。apache2からようやく乗り換えました。

fastcgiが一番ややこしかったのでメモしておきます。下記環境はdebian5です。環境はさくらVPS上のdebianです。 1.nginx, php5関係のインストール # apt-get update # apt-get upgrade # apt-get install nginx php5-cli php5-cgi php5-gd spawn-fcgidebian…

symfonyで行うたった一行で行うフォームvalidation

symfonyで行うたった一行で行うフォームvalidation。validationで必要なので結構使う一行のはずなのですが長いね。 $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));下記のように使います。 public function …

sfDoctrinePagerの実装

sfDoctrinePagerを使ってPagerを実装する方法です。Doctrine Queryの参考にもなるかな。 $q = Doctrine_Core::getTable('Article')->createQuery('a')->where('a.url like ?', '%comment%'); $this->pager = new sfDoctrinePager('Article', 5); $this->page…

SwiftMailerでメール送信(gmail)

添付ファイルのメールを送信しています。 $message = $this->getMailer()->compose( 'from@example.com', 'to@example.com', 'Subject is here.', 'Body is here.' )->attach( Swift_Attachment::fromPath('/var/www/tmp/image.jpg') ); $this->getMailer()-…

Symfony1.4でRSS Feedを取得 and SwiftMailerでメール送信(gmail)

sfFeed2Pluginをインストールします。 # symfony plugin:install sfFeed2Plugin # symfony ccあとは簡単。RSSフィードをsfFeed2を使って取得します。 $feed = sfFeedPeer::createFromWeb('http://feed/rss.xml'); foreach( $feed->getItems() as $item) { /*…

Symfony1.4で認証機能をつける

Doctrineを利用している場合。 # symfony generate:project frontend # symfony generate:app myApp # symfony plugin:install sfDoctrineGuardPlugin # symfony doctrine:build --all --and-load --no-confirmation # symfony ccapps/myApp/config/security…

jackd経由でarecordを使ってmp3ファイルで録音する方法

.asoundrcには下記のようにjackd with alsaデバイスを設定しておきます。 pcm.jackplug { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1…

Imagemagick(convert)でコマンドラインからまとめてサムネイルを作る方法

for image in `ls *.jpg`; do convert -sample 10%x10% $image thumbs/$image; done;例えばこれで縦横10%に縮小します。元画像をサムネイルしてthumbsフォルダにサムネイルを作成します。convertオプション一覧(日本語) http://www5a.biglobe.ne.jp/~nkgwtty…

phpでショートでユニークなIDを作る方法。youtubeのIDのようなIDを作る方法。

function gen_uuid($len=8) { $hex = md5("your_random_salt_here_31415" . uniqid("", true)); $pack = pack('H*', $hex); $uid = base64_encode($pack); // max 22 chars $uid = ereg_replace("[^A-Za-z0-9]", "", $uid); // mixed case //$uid = ereg_rep…

alsaドライバ + jackd + icecast2 + darkiceでネットラジオ配信

ustreamやyoutubeなどでラジオの配信などは本当に楽ちんになりましたが、独自に広告をとったりしてネットラジオ局を公開することもできます。smoothjazzやsomefmと同じような仕組みを作る方法です。サーバはlinuxサーバ。事情によりdebianではなくubuntu(Lin…

bind9の基本的なセキュリティを備えた設定

ネームサーバのセキュリティ、DNSリフレクション、DNS ampなどを使って悪用されたりすることが多いと言われています。 http://web-tan.forum.impressrd.jp/e/2009/01/15/4414 http://www.atmarkit.co.jp/fwin2k/win2ktips/781dnsamp/dnsamp.html基本的な設定…

フォルダー内のzipファイルを綺麗にunzipで解凍する方法

ls *.zip | sed 's/\.zip//' | xargs -I{} unzip {}.zip -d unzip/{}xargsとsedをうまく使って一行で特定のディレクトリに任意のファイル名で解答できます。

カレンダー前後の月の切れ端を今月のカレンダーとして表示する処理方法

今月のカレンダーを表示する際に、例えば1日が水曜日だったとしたら、前月の日曜〜火曜までがその月のカレンダーに表示させなければなりません。その逆もあります。31日が火曜日だったら次の月の水曜〜土曜までをその月のカレンダーに表示しなければなりませ…

PHPでmecabを利用する方法 php_mecabをインストール

phpからmecabを利用する方法です。 pageさんのphp_mecab( http://d.hatena.ne.jp/rsky/20071228/1198841049 )を利用します。※php5.3.xでは動作しません。上記からphp_mecab-0.3.0.tgzをダウンロードします。あとは流れの通り。 # apt-get install make # mak…

jquery.snshare: ソーシャルネットワークで簡単に自前で共有ボタンをつける方法 with jQuery

簡単にブログやニュースなどを共有するサービスが沢山ありますが自前でとりあえず使いたかったので厚かましくjquery.snshare.js作りました。非常に単純。簡単なものです。あくまで自分用として。使い方は簡単。 HTMLヘッダーに下記を <script language="javascript" src="http://kmusiclife.net/social/javascripts/jquery.snshare.js"></script> <script language="javascript"> $(function(){ $('#sn…

linux上でmp3をjoinする方法

linuxコマンドライン上でmp3をくっるける方法を探して色々と見つかったけれども。mp3wrap Mp3Wrap Project Homepage使い方は下記の通り Mp3Wrap Version 0.5 (2003/Jan/16). See README and COPYING for more! Written and copyrights by Matteo Trotta - <matteo.trotta@lib.unimib.it> T</matteo.trotta@lib.unimib.it>…

実用レベルに耐えられるMovabletypeテンプレート

Movabletypeのテンプレートは慣れてくると初期設定として頭にsetvarsを書くこと多いです。 いつも使っているMT5のテンプレートをメモっておきます。 を書くことで下層の多くのブログサイトでも簡単にブログテンプレートを複製できます。インデックステンプレ…

実用レベルに耐えられるMTのサイトマップテンプレート

MovabletypeでサイトマップをFoldersなどで作ろうと思ってもFolders sort_byなどのモディファイが無いのでしっかりとしたサイトマップはつくることができません。MT4のプラグインがあればしっかりと作れるかなと思いますが。編集は必要になりますが下記のテ…

MT5で親となるウェブサイトのURLを取得する方法

MT5でウェブサイトを幾つか作り、その下に作ったブログのURLを取得したいことがあります。blogURLブロックでも取得はできるのではないかと思われがちですが、このblogURLは子であるブログのURLしか取得できません。そこで下記のコードで親となるウェブサイト…