2013年11月2日土曜日

Raspberry Pi :Apache、CGI、root

root権限を使うことで、より自由に色々なことができます。
ここではroot権限で色々なことをやってみようと思います。

・sudo
これはあるroot権限の操作をターミナルで実行するときに使います。一回だけ使うイメージです。
ではsudoを使ってApacheというサーバーソフトを入れてみましょう。(PHPも後で使うかもしれないので一応入れました)

ターミナルを開いて
sudo apt-get update

sudo apt-get upgrade

sudo apt-get install apache2 php5

sudo chown pi -R /var/www

sudo update-rc.d apatche2 default

とコマンドを打ちます。途中で続行するか聞かれるのでYを押してください。

これですでにサーバーとして機能しているので

ターミナルで

ifcofig

を押して、割り当てられたIPアドレスを調べます。
同じルーターにつながったPCからhttp://192.168.***.***/
と入れるとIt's work!と表示されると思います。
このHTMLファイルは/var/www/に存在しますので書き換えれば色々なページが作れます。


次にCGIを使えるようにしようと思います。
まず、Apacheを止めます。
apachectl -k graceful-stop

ちなみに再開する時は
sudo /etc/init.d/apache2 start
とします。


CGIを使えるようにする前にroot権限でファイルを扱えるようにしたいと思います。

sudo passwd root

と入れるとパスワードを入れてくれと出てきます。忘れないようなパスワードを入れます。
忘れるとRaspberry Piを再インストールする必要があります。

次に
su
 と入れるとパスワードを聞かれます。
先ほど入れたパスワードを入れるとroot権限でターミナルが使えるようになります。
suをやめたいときはexitと入れると元に戻ります。

vi /etc/apache2/mods-available/mime.conf

で設定ファイルを開きます。
vi エディタはコマンドモードと文章書き込みモードがあります。
左下に「挿入」とあれば書き込みモードです。[esc]キーでモードを変えられます。
左下に「挿入」と無ければコマンドモードです。[i]を押すとモードを変えられます。

mine.config の219行目の#マークを削除します。
AddHandler cgi-script .cgi
コマンドモードにして:wqで上書き保存して終了します。(失敗した時は:qとすると保存しないで終了できます。)

次に

vi /etc/apache2/sites-available/default

を入力し、ファイルを開きます。
今度は<Directory /var/www/>という項目に
 +ExecCGIを追記します。

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Order allow,deny
allow from all
</Directory>

同様にviエディタのコマンドモードにして:wqで上書き保存して終了します。(失敗した時は:qとすると保存しないで終了できます。)

次にテスト用のCGIを書きます。

vi /usr/lib/cgi-bin/mycgi.cgi

として、

#!/bin/bash

echo “Content-type:text/html”
echo “”


echo Hello!

として:wqで保存します。

最後にCGIの権限を変更します。

sudo chmod 755 /usr/lib/cgi-bin/

sudo chmod 755 /usr/lib/cgi-bin/mycgi.cgi

最後にApacheを再開します。

sudo /etc/init.d/apache2 start


これでブラウザから

http://192.168.***.***/cgi-bin/mycgi.cgi

とすると

Hello!

と表示されます。


0 件のコメント:

コメントを投稿