投稿

Redmine 2.4.3に日本語用テーマとメールを設定

イメージ
前回 Alminiumから素のRedmineに移行したときの続き。 環境: CentOS 5.9, Redmine 2.4.3 日本語の環境でも見やすいテーマを導入する 下記を参考に。 日本語環境で読みやすいRedmine用テーマ「farend basic」公開 | Redmine.JP Blog 「 farend fancy 」を導入してみる。 # cd /opt/redmine/ # git clone git://github.com/farend/redmine_theme_farend_fancy.git public/themes/farend_fancy redmineにログイン後、管理 → 設定 → 表示 → テーマで「Farend fancy」を選択する。   GmailのSMTPサーバー経由でメール送信する設定 下記を参考に。 メール通知のためのconfiguration.ymlの設定 | Redmine.JP # vi config/configuration.yml default:   email_delivery:     delivery_method: :smtp     smtp_settings:       enable_starttls_auto: true       address: "smtp.gmail.com"       port: 587       domain: "smtp.gmail.com"       authentication: :plain       user_name: "info@hoge.jp"       password: "pass" 再起動 # /etc/rc.d/init.d/redmine restart redmineに...

Ruby + Redmine + UnicornをInstallしてALMiniumから移行

イメージ
AWSの無料期間が終わるので、 ALMinium でインストールしたRedmineを別のサーバーに素のRedmineとして移行したときの覚書。 環境(移行元): Amazon Linux AMI release 2013.09, Redmine 2.2.3, ruby 1.9.3, apache 2.2.26 環境(移行先): CentOS 5.10 x86_64, Redmine 2.4.3, ruby 2.1.1, nginx 1.4.4   目次 バックアップ 移行先に最新のRubyをインストール Redmine用のデータベース作成 Redmineのインストール Redmineの初期設定 unicornのインストール nginxの設定 移行元からデータを移行   参考 Redmine 2.4をCentOS 6.4にインストールする手順 | Redmine.JP Blog   1.バックアップ # mysqldump -u alminium -p alminium > alminium.sql パスワードはデフォルトの場合「alminium」 圧縮してダウンロードする # tar czvf alminium_20140226.tgz alminium.sql   2.移行先に最新のRubyをインストール 既にインストール済みの古いRubyを削除 # yum list installed | grep ruby # yum remove ruby ruby-devel ruby-libs ruby-mode コンパイルに必要なパッケージは既にインストール済みだったので省略。 # wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz # tar xzvf ruby-2.1.1.tar.gz # cd ruby-2.1.1 # ./configure --disable-install-doc # make # make install bundlerのインストール # gem install bundler --no-rdoc --no-ri   3.Redmine用のデータベー...

Parallels Pleskがインストールされている環境でYUMを使う

イメージ
サーバーの管理を任されたときに、今までPleskを使って管理されていた環境でYUMを実行しても大丈夫かどうか調査。 環境: CentOS 5.5, Parallels Plesk Panel 10.4.4 公式では大丈夫といっている。 KB Parallels: OSのパッケージマネージャを用いてシステムパッケージのアップデートを行なうことは安全か   ただし、yum.confの設定で競合するかもしれないパッケージを更新しないように設定する。 # vi /etc/yum.conf # Avoid conflict for Parallels Plesk # @see http://kb.parallels.com/jp/234 exclude=kernel* sendmail bind-chroot caching-nameserver   # yum clean all # yum update 大量にソフトウェアが更新されるので、どこかで競合が起きないかドキドキする。。。   無事終わった様子。   ちなみにPleskの設定の影響でPHPが実行できないので、apacheの設定をするときは下記のようにしないと動かない。 <Directory "/var/www/vhosts/hoge.jp/httpdocs">   php_admin_flag engine on </Directory>   このサーバーで事務の人がメールアカウントを管理しているので、Pleskは削除できない。 使用料を取られているPleskを削除して Postfix Admin を入れたい。

猫が数日お留守番出来るように自動給餌器と自動給水器を買う

イメージ
ニャンコたちに1日お留守番してもらう必要があったので、指定した時間になったらフードが出てくる自動給餌器と自動給水器を探してみた。 環境:生後10ヶ月の オスとメス2匹 買ったのはこれ。 Amazon.co.jp: 山佐時計計器 わんにゃんぐるめCD-600: ペット用品 声を録音できるが品質が悪く違和感がある。 1匹1台がベストだけど、普段は使わないのでコストパフォーマンスは悪い。 ペットシッターを使うならいらないと思う。 Amazon.co.jp: ジェックス ピュアクリスタル全猫用: ペット用品 水の交換が5日~1週間に一度で済むようになった。普通に飲んでくれる。 正月1週間実家へ帰っている間はペットシッターの人にトイレの掃除をしてもらってた。 1週間後帰ってみると、黒猫(♂)がガリガリで三毛猫(♀)がプックリしてた。どうやら黒猫はペットシッターの人が怖くて隠れてたみたい。 三毛猫は物怖じしないので、自動給餌器から出てきた餌を全部食べてたみたい。 今度はちゃんと仲良く分け合いながら食べるかチェックしなきゃ。     < Related Posts > 猫のトイレ臭い対策でデオトイレを買ってみる 猫を向かい入れるために猫用品を揃える

SubversionからGitへ移行。Bitbucketを利用する

イメージ
自前サーバーのSubversionで管理しているソースコードをBitbucketへ移行しようかと迷ったときの覚書。 環境:CentOS 5.9 i386 BitbucketはGitHubのようなバージョン管理ホスティングサービス。Private Repository(非公開のリポジトリ)を無制限に作れる。下記記事が詳しい。 GitHubとBitbucketの比較:Webデザイナーの業務にはBitbucketが向いている | Internet | ウェビンブログ   SubversionのリポジトリをGit用に変換するのは下記記事を参考にした。 Latest topics > SubversionからGitに移行した - outsider reflex   まずはsvn-gitを使えるように外部レポジトリEPELを追加。 # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/5/i386/epel-release-5-4.noarch.rpm # rpm -ivh epel-release-5-4.noarch.rpm git-svnをInstall # yum update # yum install git-svn   結局Subversionで困ってないので、まだ移行していない。。。   < Related Posts > MacをMavericksにしたらTortoiseSVNのコミットが失敗する GitHubのWindows Client "Git for Windows"をInstall。TortoiseGitも設定。 Mac ServerにSubversionを設定してVersion管理 SubversionをCompileしてsvnコマンドを使用(RPMとYUMを使う方法を追記)

[Node.js] Server SideでGoogle Analytics (Universal Analytics)を使ったアクセス解析

イメージ
アプリのアクセスをGoogle Analyticsでトラッキングするための覚書。 環境:nodejs v0.10.24, express 3.4.8 2013年からGoogle Analyticsの新バージョン「Universal Analytics」が使用可能になり、APIも刷新されて、より使いやすくなった。 An Easy Way to Upgrade to Universal Analytics - Analytics Blog Analytics Collection - Google Analytics - Google Developers 既にNPMからUniversal Analyticsに対応したモジュールを利用できる。 peaksandpies/universal-analytics - GitHub   このモジュールはクライアントのユーザーエージェントを設定したり、ログインしたユーザーを識別する仕組みを提供してくれているので使いやすい。 サンプルコード var ua = require('universal-analytics'); app.all('/1/*', function(req, res, next) {   var visitor;   var uuid, userAgent;   // User-Agent of app client   userAgent = (req.headers) ? req.headers['user-agent'] : null;   // UUID for detecting app login user   uuid = (req.session) ? req.session.uuid : null;   visitor = ua('UA-XXXX-XX', uuid, {     headers: {       'user-agent': userAgent     }   });   // Send to Google Analytics ...

ニュース記事を取得するのにBing Search APIを試してみた

イメージ
Google Web Search APIが「Deprecated」になっていつ使えなくなるか分からないので、代替となるサービスを探したときの覚書。 参考サイト ニュース取得APIいろいろ | DrunkBoarder | yuki_B's web site   Google Custom Search API を調べてみても「ニュース」だけにカテゴリを絞る方法が分からない。 そこでサムネイル画像が取得出来ないけど、安心感のある Bing Search API を試してみた。 参考サイト Bing Search API を使いたいと思ったのでPythonでラッパーを作ってみた - [[ともっくす alloc] init] Bing Search API プログラミング解説   だけど。。。 実際に使ってみて困ったのが、キーワードを指定するときに「OR」「AND」などのSyntaxが使えない。 公式のBing Query Language にあるオペレーターは効かなかった。 結局、使えなくなるまではGoogle先生にお世話になることにした。   < Related Posts > 【PHP】Google AJAX Search APIを使ってニュース記事を取得 Google ニュースのAPIを商用利用できるかとYahooとの比較

MacをMavericksにしたらTortoiseSVNのコミットが失敗する

イメージ
TitaniumもMavericksをサポートするようになったので、開発サーバーになっているMac miniをMavericksにアップグレードしてみたときの覚書。 環境: OS X Mavericks 10.9.1, Windows 8.1, TortoiseSVN 10.8.4 WindowsからMacの共有フォルダにあるソースをTortoiseSVNでコミットしようとすると下記エラー Error: Commit failed (details follow):  Error: Can't move  Error:  '\\hoge\hogehoge\.svn\tmp\svn-CF8BDE60'  Error:  to  Error:  '\\hoge\hogehoge\.svn\pristine\3a\3abd0eabfa1e58f83cfcce2403a3dc22dcb7ad79.svn-base':  Error:  パラメーターが間違っています。    Macのログには下記エラー $ less /var/log/system.log Dec 25 11:21:11 local smbd[184]: File system does not support 0X0, size attrs Dec 25 11:21:11 local smbd[184]: File system does not support 0X40000, file attrs Dec 25 11:21:11 local smbd[184]: File system does not support 0X0 time attrs   フォーラムにも上がっていてまだ直ってないらしい。 Server File Sharing unstable on mac and...: Apple Support Communities SMB1のみに切り替えると出来るという情報があるが私の環境では成功しなかった。 しょうがないので、しばらくはSSH経由でsvn commitすることにした(一度別フォルダに退避して、svn checkoutしてから上書きする...

Node.js + Expressの環境でファイルをアップロードする処理

イメージ
Titaniumで開発しているアプリからファイルをアップロードして保存する処理を開発していたときの覚書。 環境:node.js v0.10.22, express v3.4.6, busboy v0.0.12 よく見かけるのは app.use(express.bodyParser()); としてreq.filesを参照する方法。しかし、これを記述すると下記エラーをnodejsが出力する。 connect.multipart() will be removed in connect 3.0 visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives connect.limit() will be removed in connect 3.0 リンク先を見ると、ディスクにファイルを保存するのはセキュリティ上の問題から非推奨となり、他のパーサーを使えとある。 multiparty と busboy を試した結果、難易度は上がるけど busboy を使ってストリーム形式で処理することにした。 理由は busboyはアップロードするファイルサイズを制限できる から。 ちなみにmultipartyはTitaniumからアップロードしたcontent-typeに対応してない(multiparty3.1.0で確認)。 こちらのissue#29 にあるように正規表現を直せば対応可能。 サンプルコードは GitHubのReadme と test を見れば何となく分かると思う。   実際に使ってみた注意点をいくつか(※v0.0.12) アップロードしたファイル名が日本語だとfilenameが化ける。 issue#20 に上がってる → filenameを使わない実装を推奨 → ちなみにmultipartyは大丈夫 → v0.0.13で修正されたらしい。試してない。  busboy.on('file')の中でfileに対して操作をしないとbusboy.on('end')が発生しない。 このissue#16 で説明してる。 ファイルサイズの制限に引っかかったら「limit」イベントが発生するので、書き込み中のファイルは自前で削除...

node.jsでImageMagick + gmをインストールして画像処理

イメージ
Node.jsで画像処理(Resize, Crop)をする方法を調べたときの覚書。 環境: CentOS 5.10, node.js v0.10.21 GraphicsMagick もしくは ImageMagick をnode.jsから利用できるモジュール「gm」が良さそうなのでインストールしてみた。   < 2014/08/21 Modified > CentOS6.5の環境ではYUM経由でImageMagick 6.5.4-7がインストールされて問題なかったので、こっちを推奨。   まずはImageMagickでJPEGとPNGをサポートするようにライブラリをインストール # yum install libjpeg libjpeg-devel libpng libpng-devel 何となく JPEG 2000 にも対応しておく # yum install jasper-devel ImageMagickをソースからコンパイル(yum経由は古いから) # cd /opt/software/ # wget http://www.imagemagick.org/download/ImageMagick.tar.gz # tar xzvf ImageMagick.tar.gz # cd ImageMagick-6.8.6-4/ # ./configure # make # make install バージョンの確認 # convert --version 対応しているフォーマット一覧 # convert -list format   今度はgmのインストール # cd /home/project/hoge/ # npm install gm   ImageMagickを使う場合は次のようになる。 var gm = require('gm').subClass({ imageMagick: true }); gm("img.png").resize(150, 150).write('/path', callback); USING IMAGEMAGICK | gm : GraphicsMagick for node.js     < Related Po...