2019年9月18日
  • Just another WordPress site

秀和システムの「Python入門」はオススメです。

日本ではまだまだマイナーなPythonですが、3.3で日本語環境が充実し、そろそろブレイク・スルーしそうな気配です。Ubuntuはいたるところで、Pythonを使っていますが、やはり、世界標準のスクリプト言語はPythonです。PHPも良いのですが、Webに特化し過ぎている点でどうも納得が行きません。Rubyは悪く言えば、ローカル言語。Pythonなら、サーバー管理ツール、デスクトップアプリケーション、科学技術計算、ウェブサイト構築、アンドロイドアプリ開発、クラウドシステムの構築と、守備範囲がとても広く、大変気に入りました。そんな中で、上記の内容をコンパクトに収めた修補システムの「Python入門 2&3対応」はオススメです。

ただし、気を付けないと行けないのが二点在りました。

python

 

第一点は、サーバーがRPM系のRedhat/CentOSを対象にしていることです。Ubuntuでも問題ありませんが、Pythonを使ってCGIをやるには、/etc/apache2/sites-available/defaultを次のように変更する必要があります(本書334頁以下参照)。

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www/html

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory “/var/www/cgi-bin”>
AllowOverride All
Options ExecCGI Includes -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .py
Order allow,deny
Allow from all
</Directory>

# AddHandler cgi-script .cgi .py

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

取り敢えず、CGIは/var/www/cgi-binに置く設定です。ここにPythonのCGIスクリプトを置かないと、実行時にパーミッションエラーもしくはインターナル・サーバーエラーが出ます。ただし、もうCGIは使わないでしょう。

第二は、本書掲載のスクリプトを圧縮したZIPファイルが、何故かUbuntu上のブラウザではダウンロードできないことです。ただし、Windowsでダウンロードできます。VirtualBoxのWindows XP/7でダウンロードした後、Ubuntuで解凍すれば問題はありません。スクリプトはブラウザで見るようになっています。なので、ChromeとKomodoEdit(コード補完機能や文法間違い指摘機能、スクリプト実行機能があって、とても使いやすいツールです)との間でコピー&ペーストをすれば、Ubuntuでも実行できます。

コメントを残す

CAPTCHA