業務でさくらインターネットの共有サーバを使う。その際にDjango環境を構築した。
専用サーバなら訳ないのですが、共用サーバという罠なので記事にしとく。
環境
- 共用サーバ
- Python2.6.2が標準で入ってる!
site-packagesディレクトリを作成する。
Pythonの各種ライブラリをインストールする前にインストール先のsite-packagesディレクトリを作成する。
mkdir -p $HOME/local/src cd $HOME/local/src mkdir -p $HOME/local/lib/python2.6/site-packages ln -s ~/local/lib/python2.6 ~/local/lib/python
~/.cshrcに各種パスを設定。
setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages setenv PATH $HOME/local/bin:$PATH setenv LD_LIBRARY_PATH $HOME/local/lib
各種Pythonライブラリのインストール
setuptoolsのインストール
$HOME/local/srcでの作業。
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar -zxf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py install --prefix=$HOME/local
MySQL-pythonのインストール
$HOME/local/srcでの作業。
wget http://jaist.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz tar -zxf MySQL-python-1.2.3c1.tar.gz cd MySQL-python-1.2.3c1 python setup.py install --prefix=$HOME/local
Djangoのインストール
$HOME/local/srcでの作業。
wget http://www.djangoproject.com/download/1.1.1/tarball/ tar xzvf Django-1.1.1.tar.gz cd Django-1.1.1 python setup.py install --prefix=$HOME/local
Djangoプロジェクトを作成。
ひとまず通例のmysiteってプロジェクト名で作成。
django-admin.py startproject mysite
django.cgiのインストール。
djangoをCGIとして動かすのでdjango.cgiなるプログラムを導入する必要がある。
- http://code.djangoproject.com/ticket/2407より django.cgiをダウンロードする。設置場所はApacheのドキュメントルートとかに任意で。
django.cgiファイル上部で下記を設定する。
sys.path.append('/path/to/local/lib/python') sys.path.append('/path/to/local/lib/python/site-packages') import site site.addsitedir('/path/to/local/lib/python/site-packages')
パスはそれぞれの環境に置き換えて下さい。
django.cgiファイル下部で下記を設定する。
sys.path.append("/path/to/src") os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
パスは(ry
mysiteってプロジェクト名も適宜置き換えて下さい。
参考
- とりあえずsakuraでEmacsを動かす Emacsの設定時に助けて頂きました。ありがとうございます。
- さくらインターネット、CGIでDjangoを動かす こちらを参考にさせていただきました。
余談。Emacsで日本語入力できない。
さくらインターネットはEmacsが入ってるものの、日本語が入力できないので~/.emacsに下記を設定する。
(set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (set-default-coding-systems 'utf-8)