ええ、Linuxだとパスの通し方さえ知りませんでしたよ。
※当エントリは以下を参考に書きました
http://pocketstudio.jp/linux/?%A5%D1%A5%B9%28PATH%29%A4%CE%B3%CE%C7%A7%A4%C8%C0%DF%C4%EA%CA%FD%CB%A1%A4%CF%A1%A9
さて、今回はLinuxでのパス(PATH)の確認と設定方法について書いておきます。
プログラムを実行する場合、基本的にはプログラムがある場所に移動して実行します。これをどこからでも実行できるようにすることを「パス(PATH)を通す」といいます。Windowsでは各種プログラムのインストール時にパスを通してくれたり、ショートカットの中にプログラムの位置を示すフォルダ構成を記述してあるのがほとんどなので意識することはありませんが、Linuxの世界ではそんな親切なものばかりではないため、これを自分で設定したりします。
・・・なんて初心者向けの文章を書きつつ。何のことはなく、apache再起動時にパスが通って無くて気づかなかっただけなんですけどね。Windowsでは当たり前の作業がLinuxじゃできない&ってのが自分の置かれている状況を思い出させてくれました。Windowsサーバをどれだけいじってても、知らないことは知らないのです。とほほ。
sudo service httpd start
と打ち込んのですが動きませんでした。この原因がパスが通ってなかったことになります。そこで私の権限でもパスを通すことにします。
まず、パスの設定状況を確認します。確認には以下のコマンドを実行するようです。
echo $PATH
(もしくは、env | grep PATH)
実行したらこんな風に表示されました。
[XXXX@www13024u /]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/XXXX/bin
パスは「:」(コロン)で区切られているようなので、ここでは5つのパスが通っていることになります。
今の開発環境では、apacheを起動させる「service」のある「/sbin」にパスが通ってないので、ここにパスを通しましょう。通し方は、以下のコマンドを打ち込むだけです。
PATH=$PATH:/sbin
と入力、実行します。
もう一度パスの設定状況を確認すると
[XXXX@www13024u /]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/XXXX/bin:/sbin
と、このように無事追加されました。この状態でもう一度apache起動にチャレンジです。
[XXXX@www13024u /]$ sudo service httpd start
[sudo] password for XXXX:
httpd を起動中:
[XXXX@www13024u /]$
今度こそ起動できました。やれやれ。
他にもパスの設定を知りたい方は、先のリンクを参照してみてください。