Corredor

ウェブ、プログラミングの勉強メモ。

CGI

簡易パスワード認証で HTML ファイルを表示する Ruby 製 CGI

Apache や nginx に配置して使える、Ruby 製の CGI を作った。 通常その CGI にアクセスすると何も表示されないが、GET パラメータでパスワードを指定すると HTML ファイルが表示される。 パスワード認証の堅牢性は弱いが、簡易的にパスワード認証をかけたい…

CentOS7 に Python3 をインストールして Apache 上で CGI として動かす

タイトルのとおり。CentOS 7 系のサーバに、とりあえず何らかの Python 3 系をインストールして、Apache 上で CGI として動かせるようにした。 Python3 をインストールする Apache で CGI として使えるようにする Python スクリプトを書いてみる 以上 Python…

Python MeCab CGI : MeCab パース処理を提供する Python CGI を作ってみた

Python を CGI として動作させ、MeCab によるパース結果をレスポンスするスクリプトを作った。 XREA のように MeCab がプリインストールされていて、Python を CGI として実行可能なサーバに配置すれば、MeCab を Web API 的に利用できるようになる。 ソース…

Python CGI でリクエストパラメータを受け取る方法

Python を CGI として使用する時に、リクエストパラメータを受け取る方法。 import cgi params = cgi.FieldStorage() if 'my_param' in params: value = params['my_param'].value print('パラメータあり : ' + value) else: print('パラメータなし') このよ…

XREA で Python・MeCab を触ってみる・ついでに Python CGI で動かしてみる

s15 サーバの頃からお世話になり続けている XREA。Perl・PHP・Ruby・Python などの言語で実装した CGI の他、MySQL・PostgreSQL が使える。さらに、ひっそりと形態素解析ツールの MeCab までプリインストールされている。 コレは使うっきゃない、ということ…

nginx で CGI (Perl・Ruby・PHP) を動かす

Apache みたいな感じでサクッと動かせるのかと思ったら、nginx ではすんなり CGI が動かせないらしい。やり方を調べて、nginx 上で Perl・Ruby・PHP スクリプトが動かせるようになったので、手順を紹介する。 前提条件として、nginx はインストール済で、$ s…

CentOS に Ruby をインストールして Apache で CGI として実行できるようにする

以前、GCE (Google Compute Engine) に Apache をインストールして、Web サーバを公開した。 neos21.hatenablog.com 今回はこの環境をベースに、Apache インストール済の CentOS 7 に Ruby をインストールし、Apache 上で Ruby を CGI として動作させられる…

PHP で GET・POST リクエストを判別・処理する

Apache サーバ上に PHP ファイルを置いて、CGI みたく動かしてみたい。 通常の GET リクエスト時はページを表示し、URL パラメータによってちょっとした表示切り分けをしたりしたい 表示したページに、自ファイルに向けて POST 送信するフォームを用意してあ…

Perl で簡易チャット CGI を作った

以前、Perl を改めて勉強し直した時に、1ファイルで動く簡易チャット CGI を作った。 Perl Chat · GitHub 投稿をファイルに書き込むようにしているのだが、ファイル書き込み時のロック機構を実装していないお粗末仕様。面倒臭くて飽きたのでココで終わり。 C…

CentOS の Apache で Perl CGI がファイル生成できないのは SELinux のせいだった

CentOS Linux 上の Apache に Perl CGI を置いたのだが、上手くファイル生成やファイル書き込みができなかった。CGI 自体は動いていて、ファイルの読み込みまではできるのに、書き込みだけがどうにもできない、という状態だった。 Apache デフォルトの cgi-b…

Perl CGI でリクエスト文字列をファイル書き出ししたら文字化けしたのを直した

POST 送信されたリクエスト文字列を取得し、それをファイルに書き出すという Perl CGI を書いていた。よくある掲示板システムみたいなモノだ。 昔の Shift-JIS を使っていた頃とは違って、今は表示する Web ページも UTF-8、Perl スクリプトファイルも UTF-8…

Perl CGI でクエリ文字列を取得する

Perl CGI でクエリ文字列を取得する方法。GET リクエストの場合は URL のクエリパラメータ (?hoge=fuga&foo=bar みたいなヤツ)、POST リクエストの場合はリクエストボディからデータを取得し、整形する。 # 最終的にリクエスト情報をまとめる連想配列 my %fo…

Perl 再入門 : ファイルの存在チェック、読み込み、新規生成、追記

Perl でファイルの操作アレコレ。コレをマスターすれば、昔ながらの掲示板的な CGI が作れるようになる。 ファイルの存在チェック ファイルの読み取り ファイルの新規生成 ファイルにテキストを書き込む・追記する 今日はココまで ファイルの存在チェック Pe…

Perl 再入門 : サブルーチンの基礎まとめ

Perl における関数は、サブルーチンと表現され、sub で宣言する。今回はこのサブルーチンに関しての仕様を押さえておく。 Perl におけるサブルーチンの引数の処理 サブルーチンの入れ子はできる? Perl におけるサブルーチンの引数の処理 引数が1つの場合 配…

Perl 再入門 : 配列・連想配列 (ハッシュ)・関数呼び出し・例外処理

Perl 再入門、第2弾。 配列を扱う 連想配列 (ハッシュ) を扱う ハッシュから値を取り出す 連想配列からキーや値を全部取り出す 環境変数を引っこ抜くサンプル カレントディレクトリ配下のファイル名を取得するコードを元に、関数の呼び出し方について 例外処…

Perl CGI 再入門 : 開発環境・変数・use strict・コメント・文字列結合・ヒアドキュメント

大昔にいじっていた Perl CGI スクリプトを発掘した。当時はプログラミングの知識がないまま、色々な CGI スクリプトをコピペして適当に改造していたので、今更ながら Perl の復習をしようかと思う。 開発環境 まずはとりあえず動かしつつ、変数を使ってみる…

Mac 内蔵の Apache で Perl CGI を動かせるようにするまで

MacOS には Apache が最初から含まれており、Perl や PHP を CGI としてすぐに動かせる。 今回は、Perl スクリプトを CGI として動かせるようにするため、この Apache の設定をいじってみようと思う。 (昔ワケも分からず色んなところからコードをコピペして…