Hatena::ブログ(Diary)

yoshiringの日記

2010年06月09日 [Linux][Ubuntu] Ubuntu8.04 で Django1.2.1 を使う為に色々と(3) このエントリーを含むブックマーク

PostgreSQL初期化

Ubuntu で PostgreSQL を使ってみよう(続編)

PostgreSQL Ubuntuにインストール

//Ubuntuでは自動的に初期化されている?

PostgreSQLデータベーステンプレートを作成

$ su - postgres
$ createdb -E UTF8 template_postgis
$ createlang -d template_postgis plpgsql
$ psql -d template_postgis -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
$ psql -d template_postgis -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql
$ psql -d template_postgis
template_postgis=# GRANT ALL ON geometry_columns TO PUBLIC;
template_postgis=# GRANT ALL ON spatial_ref_sys TO PUBLIC;

Djangoアプリケーションで利用するデータベースの作成

$ createuser djangobook
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
$ createdb -U postgres -O djangobook -T template_postgis manoush

Djangoでsyncdb

Postgresql pg_hba.conf設定

$ cd /path/to/project
$ python manage.py syncdb
 _cursor
    self.connection = Database.connect(**conn_params)
psycopg2.OperationalError: FATAL:  Ident authentication failed for user "djangobook"
//エラー発生

//PostgreSQLの設定ファイルを編集
# vi /etc/postgresql/8.3/main/postgresql.conf
---#listen_addresses = ‘localhost’
+++listen_addresses = ‘*'
# vi pg_hba.conf
記述要調査
# /etc/init.d/postgresql-8.3 restart

2010年05月06日

[][] Subversion on Ubuntu

Subversionインストール

sudo apt-get install subversion subversion-tools libapache2-svn

Subversion の設定

sudo vi /etc/apache2/mods-enabled/dav_svn.conf
以下のように編集
<Location /svn>
  DAV svn
  SVNParentPath /home/username/svn
</Location>

Apache再起動

sudo /etc/init.d/apache2 restart

ローカルでバージョン管理のテスト

mkdir ~/svn

//レポジトリの作成
svnadmin create ~/svn/test

//一時作業フォルダの作成
mkdir ~/work
mkdir ~/work/source
echo "Hello World" > ~/work/source/test.txt

//インポート
svn import ~/work/source/ file:///home/username/svn/test/ -m "import test"
※インターネット経由でバージョン管理する場合
:| ps aux | grep apache2
:| sudo chown -R www-data.www-data ~/svn/test
:| svn import ~/work/source/ http://localhost/svn/test/ -m "import test"

//チェックアウト
mkdir ~/work/checkout
svn checkout file:///home/username/svn/test ~/work/checkout

//編集してコミット
$ echo "Goodby World" > ~/work/checkout/test.txt
$ svn diff
Index: test.txt
===================================================================
--- test.txt    (revision 1)
+++ test.txt    (working copy)
@@ -1 +1 @@
-Hello World
+Goodby World

$ svn add ~/work/checkout/test.txt
$ svn commit -m "Change test.txt"
Sending        test.txt
Transmitting file data .
Committed revision 2.

//新しいファイルを追加

$ svn add ~/work/checkout/hoge.txt
$ svn commit -m "Add hoge.txt"
References
  1. UbuntuにApache2でSubversionサーバーを構築する
  2. UbuntuにSubversionを入れてバージョン管理でもしてみる
  3. SVNコマンド一覧

2010年05月01日

[] Django のデプロイ on Ubuntu

apache2-dev のインストール

sudo apt-get install apache2-thread-dev

mod_python のインストール

Synaptic から libapache2-mod-python をインストール

apache2.conf に以下の行を追記

<Location "/mysite/">  //←環境に合わせて変更
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite  //←環境に合わせて変更
    PythonDebug On
    PythonPath "['/path/to/project'] + sys.path"  //←環境に合わせて変更
</Location>

ソースの配置 (to be continued ...)

データベースの親ディレクトリのアクセス権を変更

apache2 の再起動

sudo /etc/init.d/apache2 restart

ブラウザで表示確認

http://localhost/mysite/admin/
References
  1. can’t install apache2-dev
  2. Ubuntu 8.10 にソースから Python 2.6 いれて mod_python もうごかした
  3. Apache と mod_python で Django を動かす
  4. WD-WD.org 公開しました

[] CentOS インストール & 初期設定 & Python 開発環境構築メモ

Win7 のゲスト OS として、CentOS5 を VirtualBoxにインストールし、PythonDjango 開発環境を作成するまでのメモ。


CentOS を VirtualBox にインストール

ディスプレイ設定を ACER ASPIRE 1410 に合わせる

# system-config-display
ディスプレイ設定 > ハードウェアタブ > モニタータイプの設定 > Generic LCD Display > LCD Panel 1360x768 > OK > モニター設定タブ > 解像度1024x768 > OK
# shutdown -r now
※横は 1366 まで拡げたい、縦はもう少し縮めたいが…

サーバのホスト名を変更(←要調査)

# vi /etc/hosts
192.168.56.101 myhost.domain.jp myhost
127.0.0.1 localhost.localdomain localhost

# vi /etc/sysconfig/network
HOSTNAME=myhost.domain.jp

# vi /etc/hosts.allow
ALL : 127.0.0.1
sshd : ALL

# /etc/rc.d/init.d/network restart

SSH の設定

Apache の起動と自動起動設定

# httpd -v
Server version: Apache/2.2.3
# /etc/rc.d/init.d/httpd start
# chkconfig httpd on

httpd-devel のインストール

# yum -y install httpd-devel

Python のバージョン確認

$ python -V
Python 2.4.3

GCC のインストール

# yum -y install gcc

mod_python のインストール

http://httpd.apache.org/modules/python-download.cgi から mod_python-3.3.1.tgz をダウンロード
$ cd /tmp
$ tar xfz mod_python-3.3.1.tgz
$ cd /tmp/mod_python-3.3.1
$ ./configure --with-apxs=/usr/sbin/apxs
$ make // ここでエラーが発生(←要調査)

Djangoインストール

http://www.djangoproject.com/download/ から Django-1.1.1.tar.gz. をダウンロード
/tmp 配下に展開
cd /tmp/Django-1.1.1
# python setup.py install

eclipse のインストール

http://www.eclipse.org/downloads/ から Eclipse Classic 3.5.2 (163 MB) をダウンロード
eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz を /home/yoshiring 配下に展開
~/eclipse -clean で eclipse の起動
References
  1. VirtualBox+CentOS+解像度設定
  2. 「Apache」の設定
  3. ■WebDAV設定
  4. Linux Tips - configure: error: no acceptable C compiler found in $PATH -
  5. mod_python のインストール
  6. Mod_python Manual
  7. Django のインストール
  8. サーバのホスト名を変更する

2010年04月27日 [linux] Apache2 でユーザー認証 (Digest 認証) このエントリーを含むブックマーク

環境

# apache2 -v
Server version: Apache/2.2.8 (Ubuntu)
Server built:   Mar  9 2010 20:42:14

認証エリアの作成

mkdir -p /var/www/member
cp /var/www/index.html /var/www/member/

Apache の設定ファイルを編集

# vi /etc/apache2/apache2.conf(↓を追記)
<Directory "/var/www/member">
  AuthType Digest
  AuthName "Secret Zone"
  AuthDigestDomain /member/
  AuthUserFile /etc/apache2/.htdigest
  Require user secret
</Directory>

認証ユーザーの作成

# htdigest -c /etc/apache2/.htdigest 'Secret Zone' secret
Adding password for secret in realm Secret Zone.
New password:
Re-type new password:

auth_digest_module のインストール

# a2enmod
Which module would you like to enable?
...
Module name? auth_digest
Module auth_digest installed; run /etc/init.d/apache2 force-reload to enable.

Apache再起動

/etc/init.d/apache2 restart

Web ブラウザで http://localhost/member/ にアクセスすると、

ユーザー認証用のダイアログボックスが表示される!


References
  1. @IT:Apacheでユーザー認証を行うには(Digest認証編)を見ながら遊んでみる。
  2. Apacheでユーザー認証を行うには(Digest認証編)

2010年03月27日 [python] CGI on Ubuntu このエントリーを含むブックマーク

http://d.hatena.ne.jp/yanma_4/20080321/1206027678

http://tobysoft.net/wiki/index.php?Ubuntu/apache2

http://www.gesource.jp/programming/python/cgi/0101.html

$ sudo apt-get install apache2

$ ps ax|grep apache

5362 ? Ss 0:00 /usr/sbin/apache2 -k start

5363 ? S 0:00 /usr/sbin/apache2 -k start

5366 ? Sl 0:00 /usr/sbin/apache2 -k start

5371 ? Sl 0:00 /usr/sbin/apache2 -k start

$ cd /usr/lib/cgi-bin

$ sudo vi test01.cgi

#!/usr/bin/python

print "Content-Type: text/plain"

print

print "hello world."

$ sudo chmod 755 test01.cgi

Ubuntu.Chrome> CGI の実行確認

http://localhost/cgi-bin/test01.cgi

Win.Chrome> CGI の実行確認

http://ADDRESS/cgi-bin/test01.cgi

http://www.itmedia.co.jp/enterprise/articles/0806/07/news003_2.html

$ cd /usr/lib/cgi-bin

$ sudo emacs example2.py

記述内容はリンク先を参照

$ sudo chmod 755 example2.py

$ sudo vi example2.py

[ブラウザ上に Python のエラーメッセージを表示させる設定]

ファイルの先頭部 import cgi という文の直下に以下2行を追加

import cgitb

cgitb.enable()