kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

apt-getでUbuntuにphp5.6のインストール

Ubuntuにphp5.6をインストールした時のメモppa追加して、apt-getするだけです。 sudo add-apt-repository ppa:ondrej/php5-5.6 sudo apt-get update sudo apt-get install php5参考 Upgrade to PHP 5.6 on Ubuntu 14.04 LTS - PHP Avenue

rubyからzbarを扱う on Ubuntu

rubyからZBar bar code readerを利用して、画像バーコードからISBNコードを取得するということがやりたかったのですが、 結果うまく行きませんでした。 Uubuntu14.04 ruby 2.1.2 zbar 0.10 zbarのインストール ubuntuでは、apt-getでインストールできます。 …

rubyでzipファイルの全てを解凍せず、先頭からいくつかのファイルを抽出する

rubyでzipを扱うには、いくつかgemがあるようですが、 rubyzipを使用しました。Gemfileに以下のように書いて、bundle installすれば使えました。 gem 'rubyzip' 今回用途として、zip内先頭の数ファイルと最後から数ファイルを 取り出して中身を判別したいと…

SublimeLinter-rubyが動かない

SublimeLinter-rubyが動かなかったのでメモです。 SublimeLinter-jshintが動かなかった時と同じようにパス設定を修正したら動きました。 Ubuntu 64bit 14.04 rbenvでインストールしたruby Sublime Text 3 Consoleにメッセージが出てました。 SublimeLinter: …

MariaDBを使ってmysql2をbundle installしたらエラー

RailsでMariaDBを使用したいと思ってbundle installしたときに出たエラーです。 MariaDBのバージョンは10系 OSはUbuntu14.04です。bundle installしたときのエラー $ bundle install --path vendor/bundle Fetching gem metadata from https://rubygems.org/…

Ubuntu 14.04にMariaDBをインストール

Ubuntu 14.04にapt-getを使用してMariaDBをインストールします。公式サイト Welcome to MariaDB! - MariaDB上記サイトへアクセス後、Downloads ページへ。 repository configuration tool.をクリック。 Ubuntu、14.04 "trusty"、10.0、山形大学をそれぞれク…

bundle command not foundとなったときの対処法

rbenv経由でrubyをインストールした後、bundleをインストールしたが、 bundleへのパスが通っていませんでした。rbenv rehashすればいいようです。症状下記を実行した後でbundleが見つからない gem install bundler mkdir foo cd foo bundle init 正しくは、…

rbenv経由でrubyを入れた時にopensslでBUILD FAILED

以下のようなメッセージが表示されました。 The Ruby openssl extension was not compiled. Missing the OpenSSL lib? BUILD FAILED Ubuntu14.04では下記をインストールすることで成功しました。 sudo apt-get install libssl-dev 参考 Home · sstephenson/r…

SublimeLinter-jshintが動かない

SublimeLinter、SublimeLinter-jshintをインストールしたが、インストール直後は動かなかったので 設定メモです。 Ubuntu 64bit 14.04 nodebrewでインストールしたnode、npm Sublime Text 3 jshintはnpmでグローバル環境(/home/foo/.nodebrew/current/bin)に…

Redmineのバージョンアップ0.8.0から2.5.1へ

Redmineを0.8系から2.5系へバージョンアップしました。

ec2でsudoできるユーザーを追加する。

aws

通常だと、sudoersに追加するはずですが、awsではちょっと違うようです。 sudoersに追加しても大丈夫なようですが、awsでのやり方に合わせました。 sudo visudo -f /etc/sudoers.d/cloud-init 下記を追加する。 foo ALL = NOPASSWD: ALL 参考 EC2編~sudo権…

gitのバージョンアップ

CentOS 5系にyumで入れると1.7.1が入ります。 最新が1.9.3だったのでそっちに切り替えました。 cd /usr/local/src/ wget https://www.kernel.org/pub/software/scm/git/git-1.9.3.tar.gz tar zxf git-1.9.3.tar.gz cd git-1.9.3 configure --prefix=/usr/loc…

svnのpost-commitでupdateできないときに確認すること

SVN

ハマったのでメモ。 実行権限 post-commitを実行するユーザーが誰か post-commitの中に下記を書いて確認 whoami > /tmp/postcommit.log 2バイト文字のファイルがないか svn up /foo/bar を実行したいとして、/foo/bar配下に2バイト文字のファイルがあると、p…

AWSのS3にてIP制限をかける

aws

S3の特定ディレクトリにIP制限をかけたいという場面があったのでその時のメモです。 Actionは全てを対象にしています。 通常のIP制限 特定のバケット、パスに対して複数のIPからの操作を許可をするやり方です。 { "Statement": [ { "Sid": "分かるような名前…

rsyncの差分をなくす方法

サーバAとサーバBで、rsyncで同期を取るプロジェクトにて、 サーバA側のファイルのタイムスタンプが更新されてしまい、 同期対象おかしくなってしまったので、その対応方法。今後もしかしてたら必要になるかもしれないのでメモ。気にせずrsyncをとればよいの…

MySQLでマスク

マスクかけてデータを扱いたいことがありました。 update文でマスクかけるやり方です。 ドメインだけ残して、後は固定文字列とかカラムだけ使う方法 idはtable_nameにある連番のカラムです。 update table_name set email = concat(id,'-foo-',SUBSTRING_IND…

ELBのSSL証明書の削除

aws

ELBに埋め込んだSSL証明書の削除方法です。 SSLの証明書はデフォルトでは10個までしか保持できないらしく 削除する必要が出てきました。 ※別途AWSに制限緩和の申請を出すと10個以上作れるらしいですが、未実施なので詳しいことは分かりません。ELBに埋め込ん…

mysqldump: Got error: 1146: Table 'foo.bar' doesn't exist when using LOCK

メモmysqldumpした時に fooデータベースのbarテーブルがないって怒られた時にこのエラーメッセージが出ました。。数日前にdropしたテーブルのはずでしたが。。 phpmyadminでみるとこのテーブルは、一覧に表示されませんでした。普通は、データ格納ディレクト…

phpMyAdminでhostの別名をつける

メモphpMyAdminを使用しているが、 実host名を指定すると、似たような名前が多くて混乱するので 別名を付けたいという要望です。config.inc.phpでのサーバー列挙部分で一手間foo_hostにfooという別名をつける場合verboseというキーを追加すれば良いようです…

Slave_SQL_Running: No

memo show slave status \G を実行した時に、 Slave_SQL_Running: No と出てきたときの対処法今回のケースは、誤ってslave側にinsertしてしまって、 master側でも同じinsertを流したので、重複エラーになってしまったのが原因でした SET GLOBAL SQL_SLAVE_SK…

ユーザーの作成から秘密鍵の作成まで

メモ #foo_groupに属する fooというユーザーを作成する adduser -g foo_group -d /home/foo -s /bin/bash foo #パスワード設定 passwd -f foo #追加したユーザーへ sudo su - foo #鍵の作成 ssh-keygen -t rsa #公開鍵を追加 cat ~/.ssh/id_rsa.pub >> ~/.ss…

viでコメントアウトされている行だけ削除

忘れるのでメモviでコメントアウトされている行だけ削除 vでビジュアル選択した後に :'g/^#/d ファイルすべてが対象なら :g/^#/d 部分一致なら :g/foo/d

EC2での高負荷の原因

aws

EC2上のロードアベレージが20を超えたことがあったので、 その時のメモ。EC2上で、アプリの管理画面を運用していました。 その管理画面で、とある機能を使用した時に、複数人が同時に 実行するロードが上がるという現象です。もともとは、オンプレミスで稼働…

MySQLで実行中のクエリ確認方法

MySQLにログインした後に、 実行中のプロセスを確認するコマンドに show processlist; がありますが、この結果に表示されるSQLの全文表示方法が分からなかったのでメモ。MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法fullをつければ良いらしい。 …

公開鍵の再作成

よく調べるのでメモ $ ssh-keygen -y -f id_rsa > id_rsa.pub

phpで拡張子なしのファイル名取得

PHP

毎回調べているのでメモ phpで拡張子なしのファイル名を取得したいとき やり方はいくつかあるけど、一番簡単なのは多分、これ。 echo basename(__FILE__,'.php'); バッチなどを作るときにログに自分のファイル名を 吐き出したりするので、よく使います。

リダイレクトされない標準出力

メモ仕様なのかやり方が悪いのか。 コマンドを打っていたときに通常のリダイレクトでは リダイレクトされないものがありました。標準出力とか、エラー出力とか その辺のものなのでしょうが、まだ理解が浅かった。下記を見て対応しました。標準出力とファイル…

mysqlのindex 追加と削除を1回で

毎回調べているのでメモMySQLでインデックスの追加や削除をする際に、 何度もalter table を投げたくはないので 1回で済ませたい。 alter table tbl_foo drop index idx_foo , drop index idx_bar , drop index idx_buz , add index idx_hoge(hoge) , add in…

queue-fix の使い方

忘れるのでメモ queue-fix -i /var/qmail/queue

spfのチェックツール

メモこちらのサイトで、spfが正しく設定できているかどうか確認出来ます。http://www.sendmail.co.jp/sa/spfcheck.html