yum コマンド
今回のCentOSへのLAMP環境構築中、多くのライブラリが入ってなくて、yumさんに色々入れてもらった。
便利だったので、主なコマンドを記録しとく。
check-update
アップデート可能なパッケージの一覧を表示
clean
ダウンロードしたパッケージと古いヘッダを削除する。clean allと同じ
clean oldheaders
古いヘッダを削除
clean packages
ダウンロードしたパッケージを削除
info
利用可能なパッケージの情報を表示
info パッケージ名
指定したパッケージの情報を表示
install パッケージ名
指定したパッケージをインストール
list
利用可能なパッケージの一覧を表示
list installed
インストール済みのパッケージ一覧を表示
list updates
アップデート可能なパッケージの一覧を表示
provides パッケージ名
パッケージに含まれるファイルの一覧を表示
remove パッケージ名
指定したパッケージをアンインストールする。
指定したパッケージと依存関係があるパッケージは、削除するかどうか確認を求める
search キーワード
キーワードでパッケージを検索する。
検索の対象は、RPMファイルのName、Packager、Dummary、Descriptionの
各フィールド
update
アップデート可能な全パッケージをアップデート
update パッケージ名
指定したパッケージをアップデート
便利だったので、主なコマンドを記録しとく。
check-update
アップデート可能なパッケージの一覧を表示
clean
ダウンロードしたパッケージと古いヘッダを削除する。clean allと同じ
clean oldheaders
古いヘッダを削除
clean packages
ダウンロードしたパッケージを削除
info
利用可能なパッケージの情報を表示
info パッケージ名
指定したパッケージの情報を表示
install パッケージ名
指定したパッケージをインストール
list
利用可能なパッケージの一覧を表示
list installed
インストール済みのパッケージ一覧を表示
list updates
アップデート可能なパッケージの一覧を表示
provides パッケージ名
パッケージに含まれるファイルの一覧を表示
remove パッケージ名
指定したパッケージをアンインストールする。
指定したパッケージと依存関係があるパッケージは、削除するかどうか確認を求める
search キーワード
キーワードでパッケージを検索する。
検索の対象は、RPMファイルのName、Packager、Dummary、Descriptionの
各フィールド
update
アップデート可能な全パッケージをアップデート
update パッケージ名
指定したパッケージをアップデート
2008年08月29日 Posted by のぶ at 14:25 │Comments(0) │TrackBack(0) │ ┣Linux
CentOS5 + MySQL5 でconfigureエラー
CentOS5にMySQL5を入れようとしたら、configureで
checking for termcap functions library... configure: error: No curses/termcap library found
とエラーが出てとまった。
cursesっていうライブラリがたりない?
ってことでyumでインストール
# yum install ncurses
# yum install ncurses-devel
で、configure再度したらとおった。ktkr
いじょ
checking for termcap functions library... configure: error: No curses/termcap library found
とエラーが出てとまった。
cursesっていうライブラリがたりない?
ってことでyumでインストール
# yum install ncurses
# yum install ncurses-devel
で、configure再度したらとおった。ktkr
いじょ
2008年08月29日 Posted by のぶ at 12:38 │Comments(0) │TrackBack(0) │MySQL
CentOS5 に vsftpd インストール
某SAKU○で鯖かりたら入ってなかったので。。
yumで簡単インストール♪
以下のコマンドを打つだけ!
# yum install vsftpd
確認や自動起動するようの設定は以下で。
http://nobuo.osakazine.net/e90433.html
いじょ
yumで簡単インストール♪
以下のコマンドを打つだけ!
# yum install vsftpd
確認や自動起動するようの設定は以下で。
http://nobuo.osakazine.net/e90433.html
いじょ
2008年08月29日 Posted by のぶ at 11:07 │Comments(0) │TrackBack(0) │ ┣Linux
EXPLAIN でMySQLのパフォーマンスチューニング
IRCで聞いた事無い単語がでてきたんで調べたらパフォーマンスチューニングに使うものらしい。
↓ひとまずよさげなサイトみつけたんで忘れんようにメモ。勉強して後でまとめよう。
http://634.ayumu-baby.com/pukiwiki/index.php?MySQL%2F%A5%D1%A5%D5%A5%A9%A1%BC%A5%DE%A5%F3%A5%B9%A5%C1%A5%E5%A1%BC%A5%CB%A5%F3%A5%B0%2FEXPLAIN
↓ひとまずよさげなサイトみつけたんで忘れんようにメモ。勉強して後でまとめよう。
http://634.ayumu-baby.com/pukiwiki/index.php?MySQL%2F%A5%D1%A5%D5%A5%A9%A1%BC%A5%DE%A5%F3%A5%B9%A5%C1%A5%E5%A1%BC%A5%CB%A5%F3%A5%B0%2FEXPLAIN
2008年07月02日 Posted by のぶ at 17:58 │Comments(0) │TrackBack(0) │MySQL
vim の 文字コード 自動判別
vimで色んな文字コードのファイルを編集しようとすると、デフォルトだと文字コードが違うと化けてしまうので、以下の設定をして、化けないようにする。
$ vi ~/.vimrc
set encoding=utf-8
set fileencodings=iso-2022-jp,sjis,euc-jp
いじょ。
$ vi ~/.vimrc
set encoding=utf-8
set fileencodings=iso-2022-jp,sjis,euc-jp
いじょ。
2008年07月01日 Posted by のぶ at 12:42 │Comments(0) │TrackBack(0) │ ┗vim
四則演算変数名
四則演算の答えいれるようの変数名。こんな感じでいいのかな。
加算:$sum
減算:$sub
乗算:$mul
除算:$div
剰余:$mod
変だったら教えてください(><
加算:$sum
減算:$sub
乗算:$mul
除算:$div
剰余:$mod
変だったら教えてください(><
2008年05月26日 Posted by のぶ at 16:28 │Comments(0) │TrackBack(0) │PHP
empty と is_null の違い
すんごく初歩的なことだけどよく忘れてしまって困るので、書いとこうかと。。。
…と思ってたらまとめられてるサイトがあったので、これでw
http://d.hatena.ne.jp/sngmr/20080209/1202520832
…と思ってたらまとめられてるサイトがあったので、これでw
http://d.hatena.ne.jp/sngmr/20080209/1202520832
| 値 | if($var) | isset | empty | is_null |
|---|---|---|---|---|
| $var=1 | TRUE | TRUE | FALSE | FALSE |
| $var=""; | FALSE | TRUE | TRUE | FALSE |
| $var="0"; | FALSE | TRUE | TRUE | FALSE |
| $var=0; | FALSE | TRUE | TRUE | FALSE |
| $var=NULL; | FALSE | FALSE | TRUE | TRUE |
| $var | NULL | FALSE | TRUE | TRUE |
| $var=array() | FALSE | TRUE | TRUE | FALSE |
2008年05月20日 Posted by のぶ at 15:44 │Comments(0) │TrackBack(0) │PHP
vim で 折りたたみ
プログラミングしてると長い関数とか、書き終わって修正がなさそうな関数とか、邪魔になるときがある。
そんなときはvimの機能で折りたたみ。
public function hogeAction()
{
echo 'hogehoge';
}
とかを
public function hogeAction()
+-- 3 行:{-------------------------------------------------------------
って感じで見た目的にさっぱりとできる。
今回は3行だけだけど、行数増えてくと便利。
■コマンド
zf[n] n行分の折り畳みを作成する(ヴィジュアルモードで行数選択してzfでも可)
zfaB 関数とか{}でくくられている中で打つとその{}でくくられている部分を折りたたみ
za 折り畳みの開け閉め
zR 全ての折り畳みを開く
zM 全ての折り畳みを閉じる
zD 折り畳みを削除する
zE 全ての折り畳みを削除
んで、これファイルを破棄(保存して終了とか)してしまうと、折りたたみ情報も一緒に破棄されるので、コメントアウトとして残しておく
.vimrc に以下追加
set foldmethod=marker
いじょ
そんなときはvimの機能で折りたたみ。
public function hogeAction()
{
echo 'hogehoge';
}
とかを
public function hogeAction()
+-- 3 行:{-------------------------------------------------------------
って感じで見た目的にさっぱりとできる。
今回は3行だけだけど、行数増えてくと便利。
■コマンド
zf[n] n行分の折り畳みを作成する(ヴィジュアルモードで行数選択してzfでも可)
zfaB 関数とか{}でくくられている中で打つとその{}でくくられている部分を折りたたみ
za 折り畳みの開け閉め
zR 全ての折り畳みを開く
zM 全ての折り畳みを閉じる
zD 折り畳みを削除する
zE 全ての折り畳みを削除
んで、これファイルを破棄(保存して終了とか)してしまうと、折りたたみ情報も一緒に破棄されるので、コメントアウトとして残しておく
.vimrc に以下追加
set foldmethod=marker
いじょ
2008年05月19日 Posted by のぶ at 16:02 │Comments(0) │TrackBack(0) │ ┗vim
vim の PHP辞書&補完機能
ついさっき羊さんに教えてもらったのでメモメモ。
vimでPHPプログラミングを書いてるときに、長い関数名とかを打つときなんかに便利。
$ mkdir -p ~/.vim/dict/
$ php -r '$f=get_defined_functions();echo join("\n",$f["internal"]);' \
| sort > ~/.vim/dict/php_functions.dict
と打って、PHP関数の辞書を作成。
あとは.vimrcに登録と設定。下の2行を追加。
autocmd FileType php :set dictionary+=~/.vim/dict/php_functions.dict
set complete+=k
こうすると、たとえばhtmlspecialcharsとか長いのを打つときにhtmlまで打ってCtrl+n or Ctrl+p を打つと候補が出現。複数ある場合はCtrl+n(Ctrl+p)を打てばNext,Prevで選択。
便利そうです。
羊さんありがとう。
vimでPHPプログラミングを書いてるときに、長い関数名とかを打つときなんかに便利。
$ mkdir -p ~/.vim/dict/
$ php -r '$f=get_defined_functions();echo join("\n",$f["internal"]);' \
| sort > ~/.vim/dict/php_functions.dict
と打って、PHP関数の辞書を作成。
あとは.vimrcに登録と設定。下の2行を追加。
autocmd FileType php :set dictionary+=~/.vim/dict/php_functions.dict
set complete+=k
こうすると、たとえばhtmlspecialcharsとか長いのを打つときにhtmlまで打ってCtrl+n or Ctrl+p を打つと候補が出現。複数ある場合はCtrl+n(Ctrl+p)を打てばNext,Prevで選択。
便利そうです。
羊さんありがとう。
2008年04月17日 Posted by のぶ at 18:06 │Comments(0) │TrackBack(0) │ ┗vim
MySQL クライアントで文字化け
MySQLクライアントで日本語が文字化けをする場合、MySQL鯖とクライアントで文字コードが異なってる可能性がある。
その対処方法は以下の一行をmy.cnfの[mysqld]の項目に追加。
[mysqld]
skip-character-set-client-handshake
これは鯖の文字コードをそのままクライアントでも使う、って感じの設定。
再起動してこれでOK。
その対処方法は以下の一行をmy.cnfの[mysqld]の項目に追加。
[mysqld]
skip-character-set-client-handshake
これは鯖の文字コードをそのままクライアントでも使う、って感じの設定。
再起動してこれでOK。
2008年04月17日 Posted by のぶ at 15:56 │Comments(0) │TrackBack(0) │MySQL
よく使(いそうな)う vim コマンド
よく使いそうなvimコマンドのまとめ。
覚えたのや使えそうなの見つけたら追記していく。
調べたら使ってないカーソル移動系がたくさんあってビツクリした。
文字列操作系は意外と使ってる(知ってる)の多いんで常識的なのは省略。
■カーソル移動系
0 カーソル行の行頭に飛ぶ。
^ カーソル行の行頭に飛ぶ。ただし、行頭が空白であれば空白部分の右へ。
$ カーソル行の行末に飛ぶ。
- カーソル行より1行上の行頭に飛ぶ。
return カーソル行より1行下の行頭に飛ぶ。
b 左隣の単語の先頭へ飛ぶ(back-word)。
B スペースで区切られた左隣の単語の先頭へ飛ぶ。
w 右隣の単語の先頭へ飛ぶ(word)。
W スペースで区切られた右隣の単語の先頭へ飛ぶ。
H 画面最上行の左端へ飛ぶ。
M 画面中央行の左端へ飛ぶ。
L 画面最下行の左端へ飛ぶ。
G ファイルの末尾へ飛ぶ。
nG n行目へ飛ぶ。
gg ファイルの先頭へ飛ぶ。
f[str] カーソル位置から行末へ向かって[str](1文字)を検索し、その文字の上に移動する。
F[str] カーソル位置から行頭へ向かって[str](1文字)を検索し、その文字の上に移動する。
; 最後に使ったf、F、t、Tコマンドを繰り返す。
, 最後に使ったf、F、t、Tコマンドを向きを変えて(fならFとして)繰り返す。
% カーソルのある括弧の対括弧に移動する。
■文字列操作系
R カーソル位置から複数の文字を置き換え。
s カーソルのある1文字を消してインサートモードに移る。
S カーソルのある行全体を消してインサートモードに移る。ccも同様。
■画面の操作
^f 1ページ分下に画面を移動。
^b 1ページ分上に画面を移動。
z[return] 現在行が画面の上端になるようスクロール。
z- 現在行が画面の下端になるようスクロール。カーソルは現在行の行頭へ移動。
:vp 縦割り
:sp 横割り
■その他
u 直前の動作を取り消し(undo)。
^r やり直し(redo)。
:pwd カレントディレクトリを表示する。
:e ++enc=UTF-8 // 開いてるファイルのエンコード変更
参考サイトはココ。すごい勉強なりますた。
http://www.7key.jp/software/vi.html
覚えたのや使えそうなの見つけたら追記していく。
調べたら使ってないカーソル移動系がたくさんあってビツクリした。
文字列操作系は意外と使ってる(知ってる)の多いんで常識的なのは省略。
■カーソル移動系
0 カーソル行の行頭に飛ぶ。
^ カーソル行の行頭に飛ぶ。ただし、行頭が空白であれば空白部分の右へ。
$ カーソル行の行末に飛ぶ。
- カーソル行より1行上の行頭に飛ぶ。
return カーソル行より1行下の行頭に飛ぶ。
b 左隣の単語の先頭へ飛ぶ(back-word)。
B スペースで区切られた左隣の単語の先頭へ飛ぶ。
w 右隣の単語の先頭へ飛ぶ(word)。
W スペースで区切られた右隣の単語の先頭へ飛ぶ。
H 画面最上行の左端へ飛ぶ。
M 画面中央行の左端へ飛ぶ。
L 画面最下行の左端へ飛ぶ。
G ファイルの末尾へ飛ぶ。
nG n行目へ飛ぶ。
gg ファイルの先頭へ飛ぶ。
f[str] カーソル位置から行末へ向かって[str](1文字)を検索し、その文字の上に移動する。
F[str] カーソル位置から行頭へ向かって[str](1文字)を検索し、その文字の上に移動する。
; 最後に使ったf、F、t、Tコマンドを繰り返す。
, 最後に使ったf、F、t、Tコマンドを向きを変えて(fならFとして)繰り返す。
% カーソルのある括弧の対括弧に移動する。
■文字列操作系
R カーソル位置から複数の文字を置き換え。
s カーソルのある1文字を消してインサートモードに移る。
S カーソルのある行全体を消してインサートモードに移る。ccも同様。
■画面の操作
^f 1ページ分下に画面を移動。
^b 1ページ分上に画面を移動。
z[return] 現在行が画面の上端になるようスクロール。
z- 現在行が画面の下端になるようスクロール。カーソルは現在行の行頭へ移動。
:vp 縦割り
:sp 横割り
■その他
u 直前の動作を取り消し(undo)。
^r やり直し(redo)。
:pwd カレントディレクトリを表示する。
:e ++enc=UTF-8 // 開いてるファイルのエンコード変更
参考サイトはココ。すごい勉強なりますた。
http://www.7key.jp/software/vi.html
2008年04月04日 Posted by のぶ at 11:44 │Comments(0) │TrackBack(0) │ ┗vim
MySQLのレプリケーション
MySQLのレプリケーション(マスター、スレーブ)の設定メモ
まず2台のサーバを準備する。
ひとまずこんなかんじ。
マスター:192.168.11.2
スレーブ:192.168.11.3
で、通常通りの方法でMySQLを両方にインストールしておく。
■まず、マスターの設定
vi /etc/my.cnf
↓追加
---
server-id=1
log-bin=/usr/local/mysql/data/replitest
sync_binlog = 1
---
server-idはレプリケーションするサーバ間でかぶらないようにする。
my.cnfにすでに書かれてる場合は気をつけるのだ。
log-binはレプリケーションに使うバイナリログ。
場所はMySQLが書き込みできるところならどこでもいい。名前も何でもいい。
sync_binlogはドランザクションに必要(らしい。詳しくは知らない)
以上の設定を追記したらMySQLを起動する。
そしてスレーブから接続できるようにユーザーを作る
ユーザーの作成は通常のGRANT文でつくる。権限にREPLICATION SLAVEってのを付けてあげればOK
mysql > GRANT REPLICATION SLAVE ON *.* TO replication@192.168.11.3 IDENTIFIED BY 'replipass';
■スレーブの設定
次にスレーブの設定。マスターと同じくmy.cnfを編集
vi /etc/my.cnf
---
server-id = 2
read_only
---
server-idはマスターと別のIDにしておく
read_onlyを付けてスレーブだから読み込みのみにしておく。
設定が終われば通常通り起動し、以下のコマンドを実行しマスターへの接続設定をする。
mysql > CHANGE MASTER TO MASTER_HOST='192.168.11.2',
MASTER_PORT=3306, MASTER_USER='replication',
MASTER_PASSWORD='replipass',
MASTER_LOG_FILE='replitest.000001';
内容は読んだまんま。
CHANGE MASTER TO MASTER_HOSTでマスターのIP指定
MASTER_PORTでポート指定。いじってないなら3306
MASTER_USERでユーザー指定。マスターで作ったユーザー名を設定
MASTER_PASSWORDでパスワード指定。同じくマスターで作ったユーザーのパスワードを設定
MASTER_LOG_FILEはマスターで作られたバイナリファイルを指定。(ここはさらに細かい指定が出来るけどひとまずこれで)
で、上のコマンドが問題なく通れば以下のコマンドでレプリケーションスタート
> START SLAVE;
マスターで更新系のクエリを実行してそれがスレーブにも反映されてれば成功。
出来てない場合はエラーログとか色々見るニダ。
いじょ
まず2台のサーバを準備する。
ひとまずこんなかんじ。
マスター:192.168.11.2
スレーブ:192.168.11.3
で、通常通りの方法でMySQLを両方にインストールしておく。
■まず、マスターの設定
vi /etc/my.cnf
↓追加
---
server-id=1
log-bin=/usr/local/mysql/data/replitest
sync_binlog = 1
---
server-idはレプリケーションするサーバ間でかぶらないようにする。
my.cnfにすでに書かれてる場合は気をつけるのだ。
log-binはレプリケーションに使うバイナリログ。
場所はMySQLが書き込みできるところならどこでもいい。名前も何でもいい。
sync_binlogはドランザクションに必要(らしい。詳しくは知らない)
以上の設定を追記したらMySQLを起動する。
そしてスレーブから接続できるようにユーザーを作る
ユーザーの作成は通常のGRANT文でつくる。権限にREPLICATION SLAVEってのを付けてあげればOK
mysql > GRANT REPLICATION SLAVE ON *.* TO replication@192.168.11.3 IDENTIFIED BY 'replipass';
■スレーブの設定
次にスレーブの設定。マスターと同じくmy.cnfを編集
vi /etc/my.cnf
---
server-id = 2
read_only
---
server-idはマスターと別のIDにしておく
read_onlyを付けてスレーブだから読み込みのみにしておく。
設定が終われば通常通り起動し、以下のコマンドを実行しマスターへの接続設定をする。
mysql > CHANGE MASTER TO MASTER_HOST='192.168.11.2',
MASTER_PORT=3306, MASTER_USER='replication',
MASTER_PASSWORD='replipass',
MASTER_LOG_FILE='replitest.000001';
内容は読んだまんま。
CHANGE MASTER TO MASTER_HOSTでマスターのIP指定
MASTER_PORTでポート指定。いじってないなら3306
MASTER_USERでユーザー指定。マスターで作ったユーザー名を設定
MASTER_PASSWORDでパスワード指定。同じくマスターで作ったユーザーのパスワードを設定
MASTER_LOG_FILEはマスターで作られたバイナリファイルを指定。(ここはさらに細かい指定が出来るけどひとまずこれで)
で、上のコマンドが問題なく通れば以下のコマンドでレプリケーションスタート
> START SLAVE;
マスターで更新系のクエリを実行してそれがスレーブにも反映されてれば成功。
出来てない場合はエラーログとか色々見るニダ。
いじょ
2008年03月19日 Posted by のぶ at 15:22 │Comments(0) │TrackBack(0) │MySQL
ランダムソート
IRCで会話中にMySQLのソートをランダムに、とかってのがあったので調べてみた。
(いや、俺も知らんかったのよ。てかランダムにソートなんて中々使わないし)
意外と簡単、ってか超簡単ORDER BY にRAND()を指定するだけ
いじょ。
(いや、俺も知らんかったのよ。てかランダムにソートなんて中々使わないし)
意外と簡単、ってか超簡単ORDER BY にRAND()を指定するだけ
mysql > select id from hoge;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 rows in set (0.00 sec)
mysql> select id from hoge order by rand();
+----+
| id |
+----+
| 2 |
| 8 |
| 9 |
| 7 |
| 10 |
| 1 |
| 3 |
| 5 |
| 6 |
| 4 |
+----+
10 rows in set (0.00 sec)
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 rows in set (0.00 sec)
mysql> select id from hoge order by rand();
+----+
| id |
+----+
| 2 |
| 8 |
| 9 |
| 7 |
| 10 |
| 1 |
| 3 |
| 5 |
| 6 |
| 4 |
+----+
10 rows in set (0.00 sec)
いじょ。
2008年03月11日 Posted by のぶ at 12:19 │Comments(0) │TrackBack(0) │MySQL
setup とiptables
OSの再インスト。
ここ数日で何回やってんだか…。
ひとまずOSのインストが終わってSELinux無効化して、Apacheインスト。
そして起動…。あ、あれ?アクセスできない。
アクセスログにもなにも残ってない。
ためしにlynx localhostしてみるとつながった。
…って事はファイアーウォール?インストールのときの設定で80番ポートは許可したはずだけど…。
調べてみると設定簡単そう。
# setup
このコマンド打つの。そしたらなんかCUIとGUIの中間のような中途半端な設定画面出現。
「あ、これ昔見たことある。」
って事でサクッっと設定。たしかにHTTPが許可されてなかった。
HTTPの設定も終わり、閉じようとしたその瞬間!!そこで目にしたものは!!!
「SELinux 無効▼」
!!!!!!!!!!!!!!!!!!!!!!!!!
ま、まさかここで無効にできたのか!!!
それを先にしっていればカーネルパニックなんかおこさずに・・・orz
もう全て遅すぎたよ。。。
ここ数日で何回やってんだか…。
ひとまずOSのインストが終わってSELinux無効化して、Apacheインスト。
そして起動…。あ、あれ?アクセスできない。
アクセスログにもなにも残ってない。
ためしにlynx localhostしてみるとつながった。
…って事はファイアーウォール?インストールのときの設定で80番ポートは許可したはずだけど…。
調べてみると設定簡単そう。
# setup
このコマンド打つの。そしたらなんかCUIとGUIの中間のような中途半端な設定画面出現。
「あ、これ昔見たことある。」
って事でサクッっと設定。たしかにHTTPが許可されてなかった。
HTTPの設定も終わり、閉じようとしたその瞬間!!そこで目にしたものは!!!
「SELinux 無効▼」
!!!!!!!!!!!!!!!!!!!!!!!!!
ま、まさかここで無効にできたのか!!!
それを先にしっていればカーネルパニックなんかおこさずに・・・orz
もう全て遅すぎたよ。。。
2008年03月04日 Posted by のぶ at 02:58 │Comments(0) │TrackBack(0)
カーネルパニック
SELinuxがイミフすぎるので停止する事に。
とあるサイトで調べたとおり /etc/selinux/config 内の記述を変更して再起動。。。カーネルパニックorz
イミフ卓。。。CDからレスキューをこころみるも俺の知識がムリポorz
諦めて再インストする事に。。。俺のここ1週間の仕事が全部ぱー…。
とあるサイトで調べたとおり /etc/selinux/config 内の記述を変更して再起動。。。カーネルパニックorz
イミフ卓。。。CDからレスキューをこころみるも俺の知識がムリポorz
諦めて再インストする事に。。。俺のここ1週間の仕事が全部ぱー…。
2008年03月04日 Posted by のぶ at 02:50 │Comments(0) │TrackBack(0)
.vimrc
Linuxで使っているエディタvim。その設定。
細かい事はわからないけどこんな感じ。
set expandtab
がタブを空白に置き換えますよって奴。
tabstop
がすでにあるタブの文字数を指定。
softtabstop
tabを打ったときに挿入される空白数。
shiftwidth
「>>」とかを打ったときに挿入される空白数。
autoindent
改行したときに自動でインデント入れてくれる。
number
行番号を横に出してくれる。
その他よく使う便利コマンド
:vp // 縦割り
:sp // 横割り
:e ++enc=UTF-8 // 開いてるファイルのエンコード変更
って感じ。もっと細かく設定したほうが便利なんだろうけどまだ調べてない><
細かい事はわからないけどこんな感じ。
set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
set autoindent
set number
set tabstop=2
set softtabstop=2
set shiftwidth=2
set autoindent
set number
set expandtab
がタブを空白に置き換えますよって奴。
tabstop
がすでにあるタブの文字数を指定。
softtabstop
tabを打ったときに挿入される空白数。
shiftwidth
「>>」とかを打ったときに挿入される空白数。
autoindent
改行したときに自動でインデント入れてくれる。
number
行番号を横に出してくれる。
その他よく使う便利コマンド
:vp // 縦割り
:sp // 横割り
:e ++enc=UTF-8 // 開いてるファイルのエンコード変更
って感じ。もっと細かく設定したほうが便利なんだろうけどまだ調べてない><
2008年03月03日 Posted by のぶ at 11:48 │Comments(0) │TrackBack(0) │ ┗vim
ZendFrameworkのインストール
今度の案件でZendFrameworkを使うことなったんでインストール。
ひとまず現在の最新版をダウンロードして展開
展開した中身はこんなかんじ
重要なのはlibrary内のZendディレクトリ。
こいつをインクルードディレクトリにコピー。
コピーしたライブラリへのパスをphp.iniのinclude_pathに追加。
ZendFrameworkではmod_rewriteを使うのでApacheのhttpd.confにmod_rewriteを追加。
ここはApacheインストール後のモジュール追加ですでに完了済みなので省略。
ZendFrameworkでは.htaccessを使うので、使えるようにhttpd.confを編集。
Apacheを再起動して完了!
追記:
どうやらバリデータでiconvを使ってるようなので、php.iniに忘れず書く↓
iconv.internal_encoding = UTF-8
ひとまず現在の最新版をダウンロードして展開
$ cd /usr/local/src
$ wget http://framework.zend.com/releases/ZendFramework-1.0.4/ZendFramework-1.0.4.tar.gz
$ tar xvfz ZendFramework-1.0.4.tar.gz
$ cd ZendFramework-1.0.4
$ wget http://framework.zend.com/releases/ZendFramework-1.0.4/ZendFramework-1.0.4.tar.gz
$ tar xvfz ZendFramework-1.0.4.tar.gz
$ cd ZendFramework-1.0.4
展開した中身はこんなかんじ
INSTALL.txt
LICENSE.txt
NEWS.txt
README.txt
VERSION.txt
demos
library
tests
LICENSE.txt
NEWS.txt
README.txt
VERSION.txt
demos
library
tests
重要なのはlibrary内のZendディレクトリ。
こいつをインクルードディレクトリにコピー。
# cp -R ./library/Zend /usr/local/lib/php/
コピーしたライブラリへのパスをphp.iniのinclude_pathに追加。
ZendFrameworkではmod_rewriteを使うのでApacheのhttpd.confにmod_rewriteを追加。
ここはApacheインストール後のモジュール追加ですでに完了済みなので省略。
ZendFrameworkでは.htaccessを使うので、使えるようにhttpd.confを編集。
Apacheを再起動して完了!
追記:
どうやらバリデータでiconvを使ってるようなので、php.iniに忘れず書く↓
iconv.internal_encoding = UTF-8
2008年02月29日 Posted by のぶ at 21:32 │Comments(0) │TrackBack(0) │ ┣ZendFramework
PHPのインストール
PHPのインストール。バージョンはphp-5.2.5
まずはダウンロードそして展開
configureしてインストール。
configureオプションはまぁこんな感じで(正直このconfigureオプションなるもの苦手…)
・・・っと、ここでエラー。
今までこんなとこでエラーなんて出た事ないんだが…。
英語読めないのはきつい><
調べてみるとhttpd.confにphpのモジュールをロードする設定が書かれてないから。と。
んなヴァカなと思いつつも先に
を書いてもっかいmake install。。。とおったorz
一応通ったのでhttpd.confにPHP用の設定を追記
と、そこにはphp5_moduleが2つに。。
「やっぱおかしい」と思いつつも1つ削除しとく。
続いて、php.iniをコピー
php.iniの設定はここでは省略。また今度~。
いよいよApacheを再起動して完了!
またエラーorz
調べてみると、またまた出て来たSELinux...orzコイツァ・・・
だけど、解決方法もあったのでOK。↓のコマンド打つだけ。
そしてApache再起動。。。
よし。動いた!
あとはお決まりのinfo.phpをDocmentRootに作って確認して完了!
SELinuxにはやられまくりだな最近。。。
まずはダウンロードそして展開
$ cd /usr/local/src
$ wget http://jp.php.net/get/php-5.2.5.tar.gz/from/jp2.php.net/mirror
$ tar xvfz php-5.2.5.tar.gz
$ cd php-5.2.5
$ wget http://jp.php.net/get/php-5.2.5.tar.gz/from/jp2.php.net/mirror
$ tar xvfz php-5.2.5.tar.gz
$ cd php-5.2.5
configureしてインストール。
configureオプションはまぁこんな感じで(正直このconfigureオプションなるもの苦手…)
$ ./configure \
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-track-vars \
--enable-mbstring \
--enable-mbregex \
--enable-cli \
--with-zlib \
--with-pdo-mysql=/usr/local/mysql
$ make
# make install
・・・(略)・・・
apxs:Error: Activation failed for custom /usr/local/apache2/conf/httpd.conf file..
apxs:Error: At least one `LoadModule' directive already has to exist..
make: *** [install-sapi] エラー 1
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-track-vars \
--enable-mbstring \
--enable-mbregex \
--enable-cli \
--with-zlib \
--with-pdo-mysql=/usr/local/mysql
$ make
# make install
・・・(略)・・・
apxs:Error: Activation failed for custom /usr/local/apache2/conf/httpd.conf file..
apxs:Error: At least one `LoadModule' directive already has to exist..
make: *** [install-sapi] エラー 1
・・・っと、ここでエラー。
今までこんなとこでエラーなんて出た事ないんだが…。
英語読めないのはきつい><
調べてみるとhttpd.confにphpのモジュールをロードする設定が書かれてないから。と。
んなヴァカなと思いつつも先に
LoadModule php5_module modules/libphp5.so
を書いてもっかいmake install。。。とおったorz
一応通ったのでhttpd.confにPHP用の設定を追記
# vi /usr/local/apache2/conf/httpd.conf
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
と、そこにはphp5_moduleが2つに。。
LoadModule php5_module modules/libphp5.so
LoadModule php5_module modules/libphp5.so
LoadModule php5_module modules/libphp5.so
「やっぱおかしい」と思いつつも1つ削除しとく。
続いて、php.iniをコピー
# cp /usr/local/src/php-5.2.5/php.ini-dist /usr/local/lib/php.ini
php.iniの設定はここでは省略。また今度~。
いよいよApacheを再起動して完了!
# /usr/local/apache2/bin/apachectl restart
httpd: Syntax error on line 84 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after relc: Permission denied
httpd: Syntax error on line 84 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after relc: Permission denied
またエラーorz
調べてみると、またまた出て来たSELinux...orzコイツァ・・・
だけど、解決方法もあったのでOK。↓のコマンド打つだけ。
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t libphp5.so
そしてApache再起動。。。
よし。動いた!
あとはお決まりのinfo.phpをDocmentRootに作って確認して完了!
SELinuxにはやられまくりだな最近。。。
2008年02月29日 Posted by のぶ at 20:54 │Comments(0) │TrackBack(0) │PHP
MySQLインストール
MySQLのインストール。バージョンは5.0.51a
ダウンロードは色々登録とかめんどくさいんで説明はぶく!
まずはMySQL用のユーザーを作成
ファイル展開
コンパイルしてインストール
※コンパイルオプションに --without-server とか付けるとクライアントだけインストールできる。
データベースのデータ用ディレクトリを作る。
--datadirを指定してあげればどこでもいい。
mysql_install_dbでディレクトリ内をMySQLで使えるように初期化
そしてパーミッションを変更。
設定ファイルをコピー。
my-medium.cnf以外にも色々あるのでサイトの規模によって調整。
今回は特にこだわらないのでmy-medium.cnf。
設定ファイルを修正
変更するのはこのあたり。大抵起動時のオプションとしても設定できたりするのは内緒。
こだわりたい人はもっとどうぞ。
起動
& は重要。ないと泣ける。(そうでもないけどw)
ログインできればOK。パスワードは設定されてないので設定する。
my.cnfの設定が有効かどうか確認するには↓のコマンドで見れる。
以上!
ダウンロードは色々登録とかめんどくさいんで説明はぶく!
まずはMySQL用のユーザーを作成
# groupadd mysql
# useradd -g mysql -d /dev/null -s /dev/null -c 'MySQL Server' mysql
# useradd -g mysql -d /dev/null -s /dev/null -c 'MySQL Server' mysql
ファイル展開
$ tar xvfz mysql-5.0.51a.tar.gz
$ cd mysql-5.0.51a
$ cd mysql-5.0.51a
コンパイルしてインストール
※コンパイルオプションに --without-server とか付けるとクライアントだけインストールできる。
$ ./configure \
--prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-mysql-user=mysql
$ make
# make install
--prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-mysql-user=mysql
$ make
# make install
データベースのデータ用ディレクトリを作る。
--datadirを指定してあげればどこでもいい。
mysql_install_dbでディレクトリ内をMySQLで使えるように初期化
そしてパーミッションを変更。
# cd /usr/local/mysql
# mkdir ./data
# ./bin/mysql_install_db --datadir=./data
# chown -R mysql:mysql ./data
# mkdir ./data
# ./bin/mysql_install_db --datadir=./data
# chown -R mysql:mysql ./data
設定ファイルをコピー。
my-medium.cnf以外にも色々あるのでサイトの規模によって調整。
今回は特にこだわらないのでmy-medium.cnf。
# cp /usr/local/src/mysql-5.0.51a/support-files/my-medium.cnf /etc/my.cnf
設定ファイルを修正
変更するのはこのあたり。大抵起動時のオプションとしても設定できたりするのは内緒。
こだわりたい人はもっとどうぞ。
# vi /etc/my.cnf
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
default-table-type = InnoDB
default-character-set = utf8
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
default-table-type = InnoDB
default-character-set = utf8
起動
& は重要。ないと泣ける。(そうでもないけどw)
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
// ちなみに停止するときは↓
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
// ちなみに停止するときは↓
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
ログインできればOK。パスワードは設定されてないので設定する。
$ /usr/local/mysql/bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql> set password=password('任意のパスワード');
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql> set password=password('任意のパスワード');
my.cnfの設定が有効かどうか確認するには↓のコマンドで見れる。
# mysqladmin variable
以上!
2008年02月29日 Posted by のぶ at 20:14 │Comments(0) │TrackBack(0) │MySQL
Apacheのモジュール追加 mod_rewrite
Apacheにモジュールの追加。
今回はあとあと必要になるmod_rewriteをDSOを使って追加します。
Apacheは2.2系
まずはDSOが有効か確認。下記のコマンドでmod_so.cが表示されればOK。
まぁ、前回のApacheインストールでDSOはインストールしてるんで問題なし。
いよいよモジュールの追加。
以下のコマンドでOK。簡単。
あとはhttpd.confに以下を追加して再起動して完了!!
以上!!
今回はあとあと必要になるmod_rewriteをDSOを使って追加します。
Apacheは2.2系
まずはDSOが有効か確認。下記のコマンドでmod_so.cが表示されればOK。
$ /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
・・・(略)・・・
mod_so.c
Compiled in modules:
core.c
・・・(略)・・・
mod_so.c
まぁ、前回のApacheインストールでDSOはインストールしてるんで問題なし。
いよいよモジュールの追加。
以下のコマンドでOK。簡単。
# cd /usr/local/src/httpd-2.2.8/modules/mappers/
# /usr/local/apache2/bin/apxs -ic mod_rewrite.c
# /usr/local/apache2/bin/apxs -ic mod_rewrite.c
あとはhttpd.confに以下を追加して再起動して完了!!
LoadModule rewrite_module modules/mod_rewrite.so
以上!!



