mb_strlenでハマった
「判断」をmb_strlenすると6と出ていました。
PHP TIPS - 21. mb_strlen()関数の落とし穴:ITpro
上記の記事を読むと、php内部のエンコードと文字列のエンコードと異なってる場合に起きるらしいです。
今回は「判断」の文字列はutf8、php.iniの
mbstring.internal_encodingはEUCJPだったのでこんなことになったようです。
ついでに言うとphp.iniも作ってませんでした。
なのでmacの
/etc/php.ini.defaultからコピーしてきて
/etc/php.iniを作成し、internal_encodingと、defaultcharasetをコメントアウトを外して保存し、ちゃんと2と出ることを確認しました。
ubuntuにmysqlインストール
conohaのVPNにmysqlサーバをインストールします。
mysqlは既に入っていたのですが、
rootのパスワードが失念しており
ログイン出来なかったため
MySQLの調べ物:rootパスワードの再設定 - 美味しいもの - Yahoo!ブログ
を参考にしてrootパスワードを再設定し直しました。
mysqlをstopします。
sudo service mysql stop
mysqld_safeでパスワード確認をskipしてログインします。
sudo /usr/bin/mysqld_safe --skip-grant-tables
この状態で
sudo -u mysql /usr/bin/mysqladmin -u root password 'パスワード'
と入れると、
/usr/bin/mysqladmin:
You cannot use 'password' command as mysqld runs
with grant tables disabled (was started with --skip-grant-tables).
Use: "mysqladmin flush-privileges password '*'" instead
とエラーが
bind続き
ubuntuにbind9をインストールします。 - awm_kaerukoの日記
の続きです。
無事新サーバでネームサーバが立てられたら
ファイルを旧からコピーしてきます。
この時、ファイルのオーナーが変わってしまうと
実行出来ないスクリプトなどが出てくる可能性があるので
ファイルを一度tarで固めてオプションにpをつけると
オーナーが引き継がれます。
旧サーバで
tar -cvfpz ~~~.tar.gz virtualhostのdocrootのディレクトリ
この時、旧サーバのオーナーが新サーバにいない場合はユーザのIDが割り振られるようです。
ファイルをtarで固めたら、scpやsshでコピーし、新サーバで解凍します。
scp -p ~~~.tar.gz 新サーバのホスト:/作業ディレクトリ
新サーバで
tar xvfzp ~~~.tar.gz
展開が終わったらテストです。
まだドメイン管理サイトでのip変更は行わずテストをしたいので
telnetを使って新サーバのレスポンスを取得、確認します。
Escape character is '^]'.
入力待ちになったら
GET / HTTP/1.1
と入力します。
GETの次の/はindexファイルということです。
好きなホスト名から先のuriを入力します。
これでレスポンスがhtmlで返ってくるので、
正しいhtmlが出ることを確認したらドメイン管理サイトからIPアドレスの変更と、
bind9のzoneファイルを新サーバのホスト名に変えてログを見ながら動作確認を行います。
DNSが旧から新に切り替わるにはだいたい1日~2,3日ほどかかる場合があるようです。
なお、bind9以降では名前解決を要求するクライアントを限定するかしないかといった設定が必須になったようです。
強いBIND DNSサーバを構築する 第四回 - マスターサーバのゾーン設定 — Eurotec Information Systems K.K. Web Site
これを設定しないとクライアントからサーバにhttpやメールのアクセスが出来なくなりました。
screenコマンド
ターミナルでサーバ作業中にネット切断して困ったことはありませんか?
screenコマンドを使うと便利です。
たとえばローカルマシンからサーバにsshクライアントで接続して
その画面をサーバ上に生成します。
ローカルからその画面上でコマンドを打てるし、
サーバ上で生まれた画面はネット切断される心配がないので
ちょびっと安心して作業出来ます。
screenコマンドを使う - インテグレイテッドシステムズ