スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    解決!XREAでCGI版Pythonを使ってdjangoを動かす(人柱?)

    0
      えーと、3エントリ目^^;;

      無事解決しましたので、解決法をメモ。

      まず私は、djangoの開発版(svnでcoしてくるもの)とMySQLdbをインストールしたつもりでした。
      が、結局原因はMySQLdbがきちんと入っていなかったことかも??

      まだ見ぬXREA愛用者のために♪

      解決した手順:
      1.XREAでSSHに入ります。鯖:myaccount.sXXX.xrea.com ユーザ:myaccount パスワード:FTPパスワードと同じ
      ちなみに、私はputty愛用者。

      2.ログインすると/virtual/myaccountに居る状態になります。
      ****************
      私はまずここで、MySQLDBをsourceforgeからwgetしてきました。
      ※Linux初心者の方へ
      「wget http://〜」と入力してエンターキーを押すとhttp://〜で指定したファイルをダウンロードします♪

      tar -zxvf MySQL-python-1.2.2.tar.gz
      cd MySQL-python-1.2.2
      python setup.py install --prefix=/virtual/myaccount/python/lib

      とやってみたんですが、インストールできませんでした(汗

      --helpしてみたり、prefixのディレクトリを変更してみたり色々したんですが、だめでした。

      ふと、エラーメッセージを見ると、親切にも「pythonのライブラリディレクトリへの権限がありません!権限が無くてインストールで困ってるね!http://peak.telecommunity.com/EasyInstall.htmlというリンクを見てね♪」(大意)と英語で書いてありましたf^^;

      まぁ週末で時間はあるんで行ってみました。

      すると、Virtual Pythonという便利なシロモノが紹介されています。
      曰く、「root権限を持たないユーザがPythonのライブラリを自前でインスコしたい場合に使えるツールだよ♪使い方かんたーん♪」(超意訳)ということなので、とりあえず物は試し。

      wget http://peak.telecommunity.com/dist/virtual-python.py
      python virtual-python.py

      でバーチャルPythonのできあがり。
      よくよく動作中のメッセージを見ていると、/usr/local/bin/python(XREAのPythonはココにあります)から、pythonのバイナリを/virtual/myaccount/bin/pythonにコピーしてきて、かつ、/virtual/myaccount/lib/python2.4を、コピって来たPython専用のライブラリDIRに設定している様子。

      バーチャルPython配布元サイトの説明によると、更にeazy_setup.pyをインストールすると、MySQLdbが自前でインストールできるみたい。


      wget http://peak.telecommunity.com/dist/ez_setup.py
      /virtual/myaccount/bin/python ez_setup.py
      #↑さっきグローバルなPythonからパクってコピーしてきたpythonバイナリを使います

      完了メッセージが出て正常に完了。

      #sh1.2 pyblosxomさんも書いておられる通り、日本の借鯖事情としてPython環境が劣悪です。CGI版で使えるだけでもありがたく思え!な世界です。
      #これはひょっとして日本のdjangoユーザの救いの神になるかも?
      #諸先輩方、とっくにご存知でしたらすみません。
      *****************
      で、ようやくMySQLdbをインスコできる状態になったのでインスコ。

      /virtual/myaccount/bin/python setup.py install
      #↑しつこいですがバーチャルのほうのpythonを使います

      今度は無事MySQLdbのインストールが完了!

      で、mysite.cgiをちょい修正。
      1行目
      #!/virtual/myaccount/bin/python
      #自前のバーチャルなpythonを使うように指示
      32行目
      #sys.path.append('/virtual/myaccount/〜')
      #コメントアウト又は削除(mysite.cgiのデフォルトに戻す)

      他はさっきの通りです。

      3.とりあえず現状でテスト。
      http://myaccount.sXXX.xrea.com/index.html (urls.pyで設定したトップページのURLconf)
      …CGIスクリプトエラー

      4.仕方ないので.htaccess1行目に↓を追加してデバッグ

      AddHandler cgi-script-debug .cgi

      見てみると、PATH_INFOがない!と怒られてました^^;
      さっき解決策を求めて本家のdjango.cgiのticketにあるコメントを漁っていたとき、「PATH_INFOを追加しないと動かなかったYO!」とjedieさんが書いてたのを思い出したので、jedieさんのコメント後半より

      environ['PATH_INFO'] = environ.get('PATH_INFO',"/")

      をコピーしてきて、mysite.cgiに貼り付け。再度アップロード。

      5.キターーーーーーーーーー
      動きました!ちゃんとindexビューが見えました。感動。
      心配していた速度も、それほど遅くないです。
      XREAはもともと鯖設定がイイので♪そのせいかもしれません。

      私の長ーーーーい一日がようやく終わりました♪ちゃんちゃん。
      #これを機会にXREAユーザにもdjangoが広まるといいなぁ。
      #そのうちXREAにdjango+FastCGIが標準装備になることを願って(-ι-З)


      スポンサーサイト

      0

        • 2014.12.23 Tuesday
        • -
        • 00:11
        • -
        • -
        • -
        • -
        • by スポンサードリンク

        コメント
        おめでとうございます。
        Djangoはcgiでもそれなりに動いているのが良いですよねー。
        つまり気軽にその辺のレンタルサーバーで試せると言うことでこれからじわじわ広まりそうな予感?
        nmasatomoさん

        コメントありがとうございます^^

        SSHアクセスが許可されている鯖なら、ほぼどこでも使えるということになるのではないでしょうか。
        もっと広まって、標準装備になる日が待ち遠しいですね♪
        xreaでDjangoを使えるのかなと考えていたので、非常に参考になりました。ありがとうございます!
        • junt
        • 2007/11/30 9:30 AM
        コメントする








           
        この記事のトラックバックURL
        トラックバック
        先ほどの全ページ404エラーの件、解決しました。 結論から言うと、XREAでCGI版pythonを経由してdjangoを使うにTIPS(必須!)を追加です。 urls.pyの各設定の頭にdjango呼び出しCGIのファイル名を書く × r'^hoge/hoge/$' ○ r'^index.cgi/hoge/hoge/$'
        • LinuxなWEBデザイナーの覚書き。
        • 2007/04/23 3:19 PM

        PR

        calendar

        S M T W T F S
            123
        45678910
        11121314151617
        18192021222324
        252627282930 
        << June 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM