mysqlに外からアクセスする

mysql入のサーバーへ外からmysqlにつないでみました
mysqlにログインしてユーザーを見てみます

$ mysql -u root -p
とかではいってまずは確認

mysql> select user, host from mysql.user;

+------------------+--------------------------+
| user             | host                     |
+------------------+--------------------------+
| root             | 127.0.0.1                |
| root             | ::1                      |
| root             | localhost                |
+------------------+--------------------------+

hostがつなぐとことができるものです
そとからつなげるユーザーを増やしてみます

mysql> grant all privileges on . to user@”%” identified by ‘password’ with grant option;

確認

mysql> select user, host from mysql.user;

+------------------+--------------------------+
| user             | host                     |
+------------------+--------------------------+
| user             | %                        |
| root             | 127.0.0.1                |
| root             | ::1                      |
| root             | localhost                |
+------------------+--------------------------+

これでuserというユーザーが外からつなげます

192.168.0.2のサーバーにつなぐとしたら
$ mysql -h 192.168.0.2 -u user -p
とコマンドをたたいてつながるか確認できます

Cakephpのコントローラーでpaginateをトップページに飛ばす

ページ制御 — CakePHP Cookbook 2.x ドキュメント
であるように存在しないページにアクセスされた時の処理を書いてみました

試行錯誤した結果、これで..

$this->Paginator->settings = $paginate;
try {
    $companies =  $this->Paginator->paginate($mainModel);
} catch (NotFoundException $e) {
    $whiteList = $this->Paginator->whitelist;
    $key = array_search('page', $whiteList);
    if ($key !== false) {
        unset($whiteList[$key]);
    }
    $this->Paginator->whitelist = $whiteList;
    $companies =  $this->Paginator->paginate();
}

whiteListからpageを外してpageの指定を無視させてます
アドレスが
http://sample.net/page:2
とか残ったままですが、最初のページ(page:1)が表示されます

うーん、もっといいやりかたがあるような気がします

Ubuntuでwifiの速度をあげる

自宅以外の場所でなんだかWifiが遅い気がして調べました

ネット回線の速度をはかるサービスをつかって調べたりしながら
設定を一つ変更

$ iwconfig

eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"sample"  
          Mode:Managed  Frequency:2.447 GHz  Access Point: 74:03:BD:40:9E:90   
          Bit Rate=144.4 Mb/s   Tx-Power=22 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=66/70  Signal level=-44 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1076   Missed beacon:0

無線LANはwlan0なので

$ sudo iwconfig wlan0 power off

とPower ManagementをOFFにしたら、1.5倍くらい早くなりました
再起動したらとぶので、

$ sudo vim vim /etc/pm/power.d/wireless

#!/bin/sh
/sbin/iwconfig wlan0 power off

で実行権限つけて
$ sudo chmod a+x /etc/pm/power.d/wireless

できあがり

Ubuntuにphpenvで複数バージョンのphpをいれる

諸事情で古めのphpが必要になったので、phpenvを試してみました
エラーでまくりでかなり時間かかりましたが、手順をまとめておきます

必要なものをいれます
$ sudo aptitude install -y libxml2 re2c autoconf bison libxml2-dev libcurl4-dev libjpeg62 libjpeg62-dev libreadline6-dev libpng12-0 libpng12-dev libtidy-dev libxslt-dev libltdl-dev libltdl7 libltdl7-dev libmcrypt-dev openssl libcurl4-openssl-dev

phpenv、php-buildを落としてきます

$ curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash
$ git clone git://github.com/CHH/php-build.git ~/.phpenv/plugins/php-build
$ echo ‘export PATH=”$HOME/.phpenv/bin:$PATH”‘ >> ~/.bashrc
$ echo ‘eval “$(phpenv init -)”‘ >> ~/.bashrc
$ exec $SHELL -l

configureのオプションを修正
$ vim ~/.phpenv/plugins/php-build/share/php-build/default_configure_options

enable-fpm
を消して
–with-apxs2=/usr/sbin/apxs
を追記

$ phpenv install -l
でバージョンを確認

$ phpenv install 5.3.29
でだめだったので

rootになって試しました(phpenvを入れなおしたかも)
$ sudo -s
$ phpenv install 5.3.29
で入りました

php.iniが
~/.phpenv/versions/5.3.29/etc/php.ini
にあります

date.timezone = Asia/Tokyo
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock

を追記

phpenv-apache-versionをいれます
$ git clone https://github.com/garamon/phpenv-apache-version ~/.phpenv/plugins/phpenv-apache-version

バージョンセット
$ phpenv apache-version 5.3.29

apache再起動して完了

苦労しました..

(参考)
ubuntuにphp-buildでphp5.5を入れるためにシェルスクリプトと格闘した記録 | hirobanex.net
phpenvの導入して複数バージョンのPHPを管理する – Qiita
Hunting Field: もう一度php-5.3.8を入れる
ubuntuにphp-buildでphp5.5を入れるためにシェルスクリプトと格闘した記録 | hirobanex.net