という事で、今回は「たった1行でWebサーバを作ろう!」です。
そんなの出来るわけねーだろ!。と、お思いの方、出来るんです!。出来てしまうんです超簡単に。但し、Pythonがあればね!
本格的なサーバではないけど、テスト用途とか、ちょっとしたファイル公開や共有なんかに十分使えると思います。しかも、ポート番号を変えて起動できるので複数のサーバを立ち上げることが出来ますし、コマンドを起動した配下のディレクトリが公開対象になるのも手軽で便利です。
前に作ったCGIを使ってローカルのPCでCGIの動作確認をしてみます。が、
色々と可能性を感じるので、少し用途を考えてみます。
家庭?用途
①このフォルダのテキストファイルをスマートフォンやタブレットで見たいな=>そのフォルダのファイル見れちゃいます
②このフォルダにある写真を別のPC又は、TVのブラウザから見たいな=>そのフォルダの写真見れちゃいます
仕事用途
①各種マニュアル等の最新資料の参照場所として公開
②報告書や資料の雛形を公開する場所として
③チーム内とか少人数でのファイル公開など
④成果物の格納先など
開発用途
①あるフォルダ「A」と、あるフォルダ「B」を同時に実行して確認したい=>ポート番号変えて2つとも起動してしまおう
②あるフォルダ「A」→「B」→「C」とバックアップをしながら開発してたけど、やっぱり「A」のバックアップで動きを見たい=>「A」フォルダで起動すればいいじゃん
③CGIスクリプトが入ったフォルダごと渡すだけでWebアプリケーションとして実行可能なソフトを配布することが出来る(このページの下でやってみます)
UbuntuにはPythonがデフォルトでインストールされているので、何も設定せずに使えます。
下記からは実際の起動方法です。
————————-
WEBサーバ起動(CGI使わないとき)
————————-
python -m SimpleHTTPServer
これだけでWebサーバーとして起動するんです!!。恐るべしPython
ポート:8000でブラウザでアクセス。
http://xxx.xxx.xxx.xxx:8000
コマンドを実行したカレント配下がドキュメントルートになってブラウザーから見ることができます。
index.htmlを置いておけばそれを見に行き、なければファイル、ディレクトリを表示します。
ポートは何も指定しなければ8000となり、「python -m SimpleHTTPServer 8080」のように指定すればポート番号は8080になります。
ポートを変えればいくつでも起動できるので超便利ですね!
python -m SimpleHTTPServer 8888
python -m SimpleHTTPServer 8889
しかし、この「SimpleHTTPServer」ではCGIが使えません。
でも、さすがPythonです。用意されてますね。
お気軽にCGIを使いたいなら下記↓
————————-
WEBサーバ起動(CGI使うとき)
————————-
python -m CGIHTTPServer
ポート:8000でブラウザでアクセス。
http://xxx.xxx.xxx.xxx:8000
ポートは何も指定しなければ8000となり、「python -m CGIHTTPServer 8080」のように指定すればポート番号は8080になります。
CGIの格納場所はドキュメントルート(カレントディレクトリ)の直下にcgi-binというディレクトリを作り「test.py」等のCGIを置いておく
で、「http://xxx.xxx.xxx.xxx:8000/cgi-bin/test.py」
本気でCGIを使いたいならApacheを動かしたほうがいいけど、
ちょっとした用途でなら「CGIHTTPServer」でいいんじゃないかと思います。
————————————————-
では、実際に動くもので、その実力とやらを見せてもらおう!
使用するCGI
「picasa-CGIHTTPServer」
「picasa-CGIHTTPServer」とはGoogleのPicasaウエブアルバム上の写真の一覧表示、写真情報の表示をするためのアプリケーションです。
前に、ここ「https://brokendish.org/debian/3187/」でやってたのを本格的なサーバがなくても簡単にPCで実行できるようになります。
ダウンロード先:Github
https://github.com/brokendish/picasa-CGIHTTPServer
「Download ZIP」からダウンロード
実行方法は下記
——動作確認環境——
Ubuntu 13.04
Python 2.7.4
Firefox
多分、MacでもWindowsでも「Python」がインストールされてれば動くと思う (Mac、Windowsは試してないので・・・)
——環境設定——
上記のGithubからZIPをダウンロードして、
「picasa-CGIHTTPServer」フォルダをまるごと自身のPCの何処か適当な場所に配置する
——実行方法(Mac、Windows、Linux共通)——
・解凍したフォルダに移動
cd picasa-CGIHTTPServer
・コマンドプロンプトで下記を実行
python -m CGIHTTPServer
・Webブラウザでポート:8000にアクセス。 http://xxx.xxx.xxx.xxx:8000
——実行方法(Linuxの場合は以下の方法でも実行可能)——
「Firefox_execute_Linux.bash」を起動すると、Webサーバの起動、Firefoxを起動して表示します。
※Firefoxがインストールされている必要があります