Python環境構築

November 07 [Mon], 2011, 22:06
今日からpythonの勉強をしていこうかなと思い、
備忘録も兼ね、blogを始めることにしました。

今日行う事は、
■サーバの設定
以上です。

環境としては、
OS:CentOS6.0
Web:apache2.2(mod_wsgi)
DB:mysql5.5
言語:python2.7

って感じで行こうかなと思っています。

一応全部ソースからビルドしてからインストールしていきます。


■Apacheのインストール
# yum install -y httpd httpd-devel

■Mysqlのインストール
$ sudo rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL
$ sudo rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
$ sudo rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
$ rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
$ sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/5/remi/i386/remi-release-5-8.el5.remi.noarch.rpm
$ yum --enablerepo=remi -y install mysql-server mysql-devel mysql-lib

■Pythonのインストール
$ sudo yum install -y gcc
$ sudo yum install -y make

まずはライブラリを入れておく
$ sudo yum install -y zlib zlib-devel

Pythonのソースをダウンロード
$ cd /usr/local/src
$ wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
$ tar zxvf Python-2.7.2.tgz
$ cd Python-2.7.2
$ ./configure --with-threads --enable-shared

Modules/Setup を修正(コメントを一カ所外す)
$ cat Modules/Setup | grep zlib
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
△△△△△△△△△△△△△△△△△△△△△△△△△

後は make して make install
$ make
$ sudo make install

ライブラリの設定して(/etc/ld.so.conf.d/python2.7.conf を作って登録)
etc/ld.so.conf.d/python2.7.conf を作ってそこにライブラリへのパスを書いて、ldconfig で登録。
$ vim /etc/ld.so.conf.d/python2.7.conf
$ cat /etc/ld.so.conf.d/python2.7.conf
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
/usr/local/lib
△△△△△△△△△△△△△△△△△△△△△△△△△
$ sudo /sbin/ldconfig

動作確認
$ python2.7
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
Python 2.7.2 (default, Nov 9 2011, 00:56:16)
[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
△△△△△△△△△△△△△△△△△△△△△△△△△

pythonコマンドで最新のpythonが起動するように設定
$ vim .bash_profile
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
PATH=$PATH:$HOME/bin
△△△△△△△△△△△△△△△△△△△△△△△△△
を下記に変更
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
PATH=$PATH:$HOME/bin:/usr/local/bin
△△△△△△△△△△△△△△△△△△△△△△△△△


alias で python を python2.7 にする。
これは .bashrc で追記
$ vim .bashrc
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
# User specific aliases and functions
alias python='python2.6'
△△△△△△△△△△△△△△△△△△△△△△△△△

PCを再起動すればOK


■mod_wsgiのインストール
$ cd /usr/local/src/
$ wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
$ tar zxvf mod_wsgi-3.3.tar.gz
$ cd mod_wsgi-3.3

configure して
$ ./configure
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
checking for apxs2... no
checking for apxs... /usr/sbin/apxs
checking Apache version... 2.2.3
checking for python... /usr/local/bin/python
configure: creating ./config.status
config.status: creating Makefile
△△△△△△△△△△△△△△△△△△△△△△△△△

後は make して
make install
この時、Python を --enable-shared 付けてビルドしておかないと -fPIC 云々のエラーになる。
$ make
$ sudo make install

動作確認
/etc/httpd/conf.d/ に mod_wsgi 用の設定ファイル mod_wsgi.conf を置く。
$ cd /etc/httpd/conf.d/
$ vim mod_wsgi.conf
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / /var/www/cgi-bin/hello.py
△△△△△△△△△△△△△△△△△△△△△△△△△

この例では / にアクセスしたら /var/www/cgi-bin/hello.py が呼び出されるので、
/var/www/cgi-bin/hello.py を用意する。
$ cd /var/www/cgi-bin/
$ vim hello.py
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
def application(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ["Hello world!"]
△△△△△△△△△△△△△△△△△△△△△△△△△

apache に設定を読み込ませる。
$ sudo /etc/init.d/httpd reload




編集中
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:アヤカシ
読者になる
2011年11月
« 前の月  |  次の月 »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
最新記事
最新コメント
Yapme!一覧
読者になる
P R
カテゴリアーカイブ
月別アーカイブ
http://yaplog.jp/ayakashin/index1_0.rdf