2013年2月26日火曜日

移転しました

技術ログを移転しました。
よろしくお願いします。

http://ikeay.net/

2012年11月14日水曜日

Wordpress最後のエラー

ふうーこれでWordpressに関する設定おわったー
とおもってたら、

最後の最後にまたエラー。

wordpressに接続できて、登録フォームにいろいろ登録して、sendボタンおしたら、次の画面がエラーの嵐だった。

WordPress database error: [CREATE command denied to user 'chasdel_flffcwp'@'foxtrot3.whsecure.net' for table 'wp_terms'] CREATE TABLE wp_terms ( term_id bigint(20) NOT NULL auto_increment, name varchar(200) NOT NULL default '', slug varchar(200) NOT NULL default '', term_group bigint(10) NOT NULL default 0, PRIMARY KEY (term_id), UNIQUE KEY slug (slug), KEY name (name) ) DEFAULT CHARACTER SET utf8

みたいなエラーがずらずらっと。
(私のエラーログが残ってなかったので上のエラー文は人のを拝借)

ここのフォーラムを読んでみると、
http://wordpress.org/support/topic/newbe-install-errors

どうやらmysqlのユーザに特権がなかった模様。
特権がないからデータベースつくれないっぽい。

mysqlに接続して、
mysql> GRANT ALL ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード';
というコマンドで一発解決です。

コマンドうった後は、とりあえずさきほどエラーが出た画面をリロード。
ついにいろいろもろもろめんどくさい設定がおわったぞ!!!!!


phpmyadminの設定でつまづいた

phpmyadminの設定だけどうしてもうまくいかなかったのですが、

phpmyadmin/config.inc.phpの中を
$cfg['Servers'][$i]['host'] の部分がまちがっていたみたい。
置いているサーバー自体のIPアドレスを書いていたんだけど、

これでいいみたい。
$cfg['Servers'][$i]['host'] = '127.0.0.1';

ふうーよかったー。

しかしwordpress置くだけでこんなにもたくさんの問題がおこるとは…

mysqlなんて大嫌いだ!って思ってしまった

Amazon ec2でWordpress動かそうと思ったら、mysqlのところでおおはまりしたのでメモ。
そもそもmysqlなんてあんま使った事ないよう…

基本的にはここを参考に設定↓
http://www.applelife100.com/2012/06/18/amazon-ec2-wordpress-install/

超絶注意したいのは、mysqlのhostは同じサーバーにwordpress置いている場合はlocalhostのままでいいんだよ!!!これですごくひっかかっていた。

あともしかしたらとおもってパスワードも英語&数字混じったのにした。
参考→http://rinpana.com/blog/2012/01/11891/

my.cnfの設定はここを参考にした。
参考→http://omopro4u.com/?p=311



(おまけ)
よく使ったコマンドめも。

  • mysqlログイン
    $ mysql -uユーザー名 -p
    Enter password: <パスワード入力>
  • ユーザー一覧を表示
    mysql> select Host, User, Password from mysql.user;
  • データベース一覧を表示
    mysql> show databases;
  • データベース作成
    create database データベース名
  • データベースをいじる権限をとあるユーザに付与
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE
    -> ON データベース名.*
    -> TO ユーザ名@localhost
    -> IDENTIFIED BY 'パスワード';
    mysql> FLUSH PRIVILEGES;
  • パスワード変更
    mysql> set password for ユーザー名@ホストネーム=PASSWORD('新たなパス');
  • ホスト変更
    mysql> update mysql.user set host="変更後" where host="変更前";





2012年11月8日木曜日

またAmazon EC2に挑戦

注意したところだけまとめる。


2012年10月11日木曜日

改行コードでこける


Rubyで


f = open('test.txt')
puts f.readlines
f.close

しても全行表示されなくて困っていたのだが、
どうやらtest.txtの改行コードがCRになっていたのが問題だったよう…

なにこれ気づかないよ!!!!!!!!
わあああああ

2012年8月15日水曜日

crontab -eと/etc/crontabは違う。

cronの設定についての記事。

でもcrontab -eと/etc/crontabは違うということに注意しないとつまづきそうなので注意。

2012年8月13日月曜日

Google Native Clientに関してのメモ

Googleのインターンがはじまった。

単なる技術的なメモ。
多分だんだん増えていく。


  • 「vi ~/.bash_profile」したら「source ~/.bash_profile」して変更を適用する。
  • オリジナルの説明では「cd pepper_20/examples」「make」だけでいいように見えたけど、cd pepper_20/examples/hello_world_interacctive」「make」みたいに1つずつmakeしないと動かない。(前者だけだと、ずっとloading)
  • ↑の参考 http://ni3shi9p.hatenablog.jp/entry/2012/07/29/222429

2012年7月13日金曜日

sinatra × shotgun が超絶に便利

sinatraでアプリをつくっているとき、
ローカルで確認をしたいとき、shotgunっていうgemを使うとべんり!

gemインストールして、
開発中のアプリのディレクトリに移動し、
ターミナルで
shotgun -O app.rb
ってやると、

http://127.0.0.1:9393/
でみれるようになる。

簡単過ぎわろんぬ。

MAMP、PHP に関してのメモ

PHPでNoticeエラーを表示させたくない場合は、php.ini で
error_reporting  =  E_ALL & ~E_NOTICE 
とする。

本番はエラー表示をさせるけど、テスト中はこれでおkらしい。

2012年6月25日月曜日

アイデアを生む天才と凡人の紙一重な差



っていう画像がfacebookで流れてきた。
天才になりたいのでメモ。

(「天才になりたいのでメモ」とか言ってる時点で凡人)

EC2インスタンスに関してのメモ

メモ。amazon web servicesの資料より。

EC2インスタンスの停止と終了。

Terminate(終了)

  • EC2インスタンスは終了
  • (デフォルトでは)EBSも消滅


Stop(停止)

  • EC2インスタンスは消滅する(ハイバネーション)
  • EBSは残る(課金もされる)


2012年6月20日水曜日

AmazonEC2に関するメモ

(何かあったらその度足していこうと思います)
  • インスタンスの置き場所は東京が一番高く、アメリカ西海岸が一番安い。
  • インスタンスは使わない時はとりあえずstopする。課金されない。

MongoDBをAmazonEC2で(2)

var/www/htmlないからhtmlとか置けないじゃん!
どうすんの!

と思ってたら、そもそもhttpdがインストールされていないらしい。

$ sudo yum install httpd

このコマンドを打てば、var/www/html が現れるよ。
ここにhtmlだとかもろもろおけばおk!

URLはここにかいてあるよー!!
赤い四角のとこ。ここにアクセスすればみれる。



ついでにphpもダウンロードしておく。
$ sudo yum install php

【メモ】
sudo打つのめんどくさかったら以下のコマンドを。
$ sudo su -

【関連記事】
MongoDBをAmazonEC2で【前準備】

2012年6月18日月曜日

MongoDBをAmazonEC2で(1)

MongoDBの本家サイトの方に導入のやり方が書いてあったんだけど、
古いバージョンの説明しかなかったせいか、できなかった。

MongoDBの本家サイトのやり方がかいてあるページ
http://www.mongodb.org/display/DOCS/Amazon+EC2

このページを参考に進めてみる
http://ryooo321.blogspot.jp/2011/11/amazon-ec2mongodb.html

でもこれもちょっと古い。

$ curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.6.tgz
urlはバージョンあがってる可能性があるので、
ここのページからチェックする。
http://www.mongodb.org/downloads
$ tar xvfz mongodb-linux-x86_64-2.0.6.tgz


実行ファイルを移動する。
$ sudo cp mongodb-linux-x86_64-2.0.6/bin/* /usr/local/bin/


データ保存先を作成。

$ sudo mkdir /var/mongo
$ sudo chgrp -R (ユーザー名を入れる※1) /var/mongo
$ sudo chmod -R g+w /var/mongo

※1
ユーザー名は以下のコマンドで確認できる。
$ who

 起動。
$ mongod --dbpath /var/mongo/ --logpath /var/mongo/db.log --fork
$ forked process: 1348
all output going to: /var/mongo/db.log
(この画面で止まるので、enterキーを押す)

これで起動します。

mongo使えるかな?
$ mongo
MongoDB shell version: 2.0.6
connecting to: test

使えるみたいだ。


【関連記事】
MongoDBをAmazonEC2で【前準備】

MongoDBをAmazonEC2で【前準備】

インスタンスのAmazon Machine ImageはAmazon Linux AMIが一番カスタマイズが楽らしいので、これを選択しました。

インスタンス作成に関しては、このサイトを参考にさせていただきました。
http://fm575.net/?p=803

秘密鍵(なんちゃら.pem)は自分の好きなところに保存しておけばok。これから使います。
私は.sshの中に保存しました。

次、このインスタンスにsshでアクセスできるようにします。
アクセスしたいインスタンスを選択して、
InstanceAction > Connect を選択。



そして、以下のモザイクのところに書かれているコマンドを、
Macのターミナルに打ち込む。




すると、


っておこられた。

秘密鍵のパーミッション権限がゆりすぎるみたいです。
ゆるくて危険だからはいれないですよって。

600にしたら入れるみたいなので、以下のコマンドを打って書き換えましょう。
chmod 0600 (pemファイルのあるところ、pemファイルまでのパス)

これでMacのターミナルから入れるようになります。
次はこれにMongoDBいれたいです。



今日のメモ




【次の関連記事】



2012年6月12日火曜日

CentOSにRubyをいれる(2)

前回の記事↓
http://ikezawa-ayaka.blogspot.jp/2012/06/centosruby1.html

今回はRVMにRubyをいれていきまそ!!!

最新のにアップデートしてるかな?いちおアップデートのコマンドを。
# rvm reload

ついでにバージョンも確認

# rvm --version
rvm 1.14.1 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

#rvm list known
使えるものリストがだーっとでてくる。

#rvm install 1.9.3
1.9.3をダウンロードする。

#rvm list
インストールしたrubyのリストがでてくる。

# rvm use 1.9.3
1.9.3を使うよ。

# rvm use 1.9.3 --default
1.9.3をデフォルトで使うよ。

私はこれにSinatra入れた。
# gem install sinatra

Rails使う人は、gemsetを使うと、さらにRailsのバージョン管理ができるよ。

【前の記事】

2012年6月11日月曜日

CentOSにRubyをいれる(1)

CentOS5.8(32bit)にRubyをrvmで入れた記録。

CentOSの64bitだと若干やりかた違うみたい。
それは以下参照で。
http://d.hatena.ne.jp/tetsuyai/20110716/1310778295

sudoがけっこうでてくるので、root権限になる。
$ su -

でね、こうコマンドを打つ。
# yum install curl*
ここは64bitだとやりかたでてきたんだけど、32bitだとやり方がでてこなくって、正直適当(笑)

でもバージョン確認してみると一応入っている(笑)
# curl --version
curl 7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 


次、gitを入れる。
参考にしたのは以下のサイト。
http://d.hatena.ne.jp/tututen/20120216/1329357541
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo
# yum --enablerepo=rpmforge list | grep git
# yum -y --enablerepo=rpmforge install git

gitちゃんとはいっているかしら?

# git --version
git version 1.7.10.4
入っているね。

お次!RVM!
RVMはすぐダウンロードのURLが変わるから嫌いだ!
参考にしたサイト

# bash -s stable < <(curl -s # bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

これ打ったら、だあああっと文章がでてくるよ。

でもね。多分何もエラー出てこないでちゃんとできたと思うんだけど、rvmのコマンドが動かない。なんでだろ。

ま、いちお、CentOS再起動してみっか、と再起動してみたら
うごいたァァァアアアア

ちょっといらついた。
なんなんですか。

まあいいや、次回RVMにRubyをインストールしていこ。

【次の記事】





phpでMongoDBを使えるようにするには(2)

 ではではphp書いていこう!

ファイル置く場所は
/var/www/html
の下だよ。
そこにindex.phpなんてファイルを作っておいておくと、
http://(IPアドレス名)
でファイル確認できるようになります。

このアドレスでMacからも確認できるようになる。
(これできるようにするのに、httpdの設定を少し直したような気もするけど、昔に設定したのであんまり覚えてない…)

前の記事で書いたように、Macからファイルを編集できるように設定しておけば、ほとんど Macから編集したり確認したりできるようになります。

ではでは、お待ちかねのPHPです。ようやく登場だーー!!

適当にindex.phpを作ります。
で、ベース。
<html>
  <body>
  </body>
</html>

まずは情報を登録してみよう。
<html>
  <body>
    <?php
      //MongoDBを起動?
      $mongo = new Mongo();
      //hogeっていうDBをつくる
      $db = $mongo->selectDB("hoge");
      //hoge_col_1というコレクションを作る
      $col = $db->selectCollection("hoge_col_1");
      //情報を登録する
      $doc = array("name"=>"MongoDB", "type"=>"databese","count"=>1);
      $col->insert($doc);
      //webにhogeと表示する
      //(ちゃんとphpが動いているか確認するという意味を込めて)
      echo "hoge";
      ?>
   </body>
</html>

これで登録できました。
お次に、データベースにちゃんと登録できているか確認するという意味も込めて、
確認のためDBの中身を表示してみましょう。

<html>
  <body>
    <?php
      $mongo = new Mongo();
      //hogeというDBのhoge_col_1というコレクションの中身をみる。
      $db = $mongo->hoge->hoge_col_1->find();
      foreach ($db as $doc) {
        //$usernameという変数の中に、
        //hoge_col_1の"name"のタグがついたものの中身を代入
        $username=$doc["name"];
        //で、表示してみる。
        echo $username;
      }
    ?>
  </body>
</html>

MongoDBと表示されればokです。


【MongoDB関連記事】


phpでMongoDBを使えるようにするには(1)

環境:
Mac OS X SnowLeopardにCentOS入れて、CentOSでやってます。
CentOS5.8です。

--


毎回のことですが、"sudo"打つのめんどくさいので、最初からroot権限で〜!
$ su -

で、おつぎ!PHPがmongo使えるようにします。
# pecl install mongo

CentOSにpeclなんてコマンドねえよーて言われたら、
# sudo yum install php-pear
でpeclコマンド使えるようにします。

phpの設定ファイルで、モジュール(?)を有効にするらしいです。なんのことだか。
とりあえず、とあるファイルを書き換えますぜ!というかもともとこんなファイルはないようなので、作ったってことになりますね。
# vi /etc/php.d/mongo.ini


で、以下のような文言を書き加える。
; Enable mongo extension module
extension=mongo.so

一応、これでokらしいのですが、念には念を入れて確認。
# php -i
をするとなにやら文字がばああああっと出てくるので、
以下のようなmongoに関しての記述があるかチェック。
mongo
lll
lll
MongoDB Support => enabled
Version => 1.0.8
lll
Directive => Local
Value => Master Value
mongo.allow_persistent => On => On
mongo.auto_reconnect => On => On
mongo.chunk_size => 262144 => 262144
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.utf8 => 1 => 1

あればok。

その後、一応httpdを再起動。
# /etc/init.d/httpd restart 

「phpでMongoDBを使えるようにするには(2)」に続きます。


【参考文献】