[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

Pythonをビルド

[caty-depl] というタグで、Catyの配備に関するメモを書くことにした。時間順(今日は、上から下に向かう順でエントリーを書く)が前後してしまうことになるが、とりあえずPythonのビルドから。

さくらサーバー(さくらの専用サーバSempron)を使っているが、/usr/bin/python は、2.3.4だった。


[hiyama@microapplications ~]$ which python
/usr/bin/python
[hiyama@microapplications ~]$ python -V
Python 2.3.4
[hiyama@microapplications ~]$ ls -lFi /usr/bin/py*
1103933 -rwxr-xr-x 2 root root 5396 Jul 26 2008 /usr/bin/python*
1103853 lrwxrwxrwx 1 root root 6 Oct 7 2008 /usr/bin/python2 -> python*
1103933 -rwxr-xr-x 2 root root 5396 Jul 26 2008 /usr/bin/python2.3*
[hiyama@microapplications ~]$ python
Python 2.3.4 (#1, Jul 25 2008, 14:24:21)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path (以下、折り返した)
['',
'/usr/lib/python2.3/site-packages/setuptools-0.6c7-py2.3.egg',
'/usr/lib/python2.3/site-packages/TracXMLRPC-0.1-py2.3.egg',
'/usr/lib/python2.3/site-packages/Genshi-0.4.4-py2.3.egg',
'/usr/lib/python23.zip',
'/usr/lib/python2.3',
'/usr/lib/python2.3/plat-linux2',
'/usr/lib/python2.3/lib-tk',
'/usr/lib/python2.3/lib-dynload',
'/usr/lib/python2.3/site-packages',
'/usr/lib/python2.3/site-packages/PIL',
'/usr/lib/python2.3/site-packages/gtk-2.0']

suして、なんやかんや。


# wget http://www.python.org/ftp/python/2.6.4/Python-2.6.4.tgz
# tar zxvf Python-2.6.4.tgz
# cd Python-2.6.4
# ./configure --prefix=/usr/local/python
# make
# make install

これで、


[hiyama@microapplications ~]$ /usr/local/python/bin/python -V
Python 2.6.4

prefixを、/usr/local/python じゃなくて /usr にすると、以下にインストールされる。

  1. /usr/bin/python
  2. /usr/lib/python2.6/
  3. /usr/include/python2.6/

標準的な利用では、/usr直下におくべきだろうが、とりあえずはこのままにして、パスを追加しておこう。


# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=/usr/local/python/bin:$PATH:$HOME/bin

export PATH
unset USERNAME


[hiyama@microapplications ~]$ . ~/.bash_profile
[hiyama@microapplications ~]$ which python
/usr/local/python/bin/python
[hiyama@microapplications ~]$ python -V
Python 2.6.4
[hiyama@microapplications ~]$ python
Python 2.6.4 (r264:75706, Jan 21 2010, 23:22:41)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['',
'/usr/local/python/lib/python26.zip',
'/usr/local/python/lib/python2.6',
'/usr/local/python/lib/python2.6/plat-linux2',
'/usr/local/python/lib/python2.6/lib-tk',
'/usr/local/python/lib/python2.6/lib-old',
'/usr/local/python/lib/python2.6/lib-dynload',
'/usr/local/python/lib/python2.6/site-packages']

使っているシステムは


[hiyama@microapplications ~]$ uname -a
Linux microapplications.net 2.6.9-78.0.5.plus.c4 #1 Wed Oct 8 13:39:28 EDT 2008 i686 athlon i386 GNU/Linux
[hiyama@microapplications ~]$ cat /proc/version
Linux version 2.6.9-78.0.5.plus.c4 (mockbuild@builder16.centos.org) (ここで折り返した)
(gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)) #1 Wed Oct 8 13:39:28 EDT 2008
[hiyama@microapplications ~]$ cat /etc/redhat-release
CentOS release 4.7 (Final)
[hiyama@microapplications ~]$ gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[hiyama@microapplications ~]$

ユーザーの追加

sudo useradd -g member m-hiyama がうまくいかない。


[hiyama@microapplications ~]$ sudo useradd -g member m-hiyama
hiyama@microapplications Password:
sudo: useradd: command not found
[hiyama@microapplications ~]$

hiyamaからsuしてみると:


# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/python/bin:/usr/bin:/bin:/usr/local/bin:/home/hiyama/bin

なんかパスが足りないみたいな。


[hiyama@microapplications ~]$ su -
Password:
Script started, file is /root/log/root_20100122-10:37:54.log

[root@microapplications ~ 10:37:54]
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin

[root@microapplications ~ 10:38:01]
# which useradd
/usr/sbin/useradd

[root@microapplications ~ 10:38:04]
# useradd -g member m-hiyama

[root@microapplications ~ 10:39:07]
# passwd m-hiyama
Changing password for user m-hiyama.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

[root@microapplications ~ 10:39:24]
#

これで、hiyama以外にm-hiyamaもできた。


hiyama@microapplications ~]$ su - m-hiyama
Password:
[m-hiyama@microapplications ~]$ ls -al
total 40
drwx------ 3 m-hiyama member 4096 Jan 22 10:40 .
drwxr-xr-x 18 root root 4096 Jan 22 10:40 ..
-w-r--r-- 1 m-hiyama member 24 Jan 22 10:40 .bash_logout
-w-r--r-- 1 m-hiyama member 191 Jan 22 10:40 .bash_profile
-w-r--r-- 1 m-hiyama member 124 Jan 22 10:40 .bashrc
-w-r--r-- 1 m-hiyama member 383 Jan 22 10:40 .emacs
-w-r--r-- 1 m-hiyama member 120 Jan 22 10:40 .gtkrc
drwxr-xr-x 2 m-hiyama member 4096 Jan 22 10:40 .xemacs
-w-r--r-- 1 m-hiyama member 658 Jan 22 10:40 .zshrc
[m-hiyama@microapplications ~]$

普通のユーザーのパスに/usr/sbinがないのね。PATH=/usr/sbin:$PATH; sudo ... とすればいいのか。どうもそうらしい。

次は、、、

Mercurialをインストールしたほうがよさそう。だが、easy_installを使うのがよさそう。easy_install自体はyumでインストールできるらしいが、rpmを直接使ってみようか。

  • # rpm -qa インストール済みのパッケージを列挙
  • # rpm -qi pkg 特定パッケージの情報
  • # rpm -ql pkg 特定パッケージがインストールされているディレクトリ情報

インストール作業は

  • # rpm -i rpm 新規インストール
  • # rpm -ivh rpm 進捗を'#'で表示(1個で2%)
  • # rpm -U rpmアップグレード
  • # rpm -Uvh rpm 進捗表示
  • # rpm -e pkgfull アンインストール

yumに関してもメモしておく。

  • $ yum info パッケージ情報、けっこうな量の出力
  • $ yum check-update アップデート可能なパッケージの一覧を表示
  • $ yum list 利用可能なパッケージの一覧を表示
  • $ yum list installed インストール済みパッケージの一覧を表示
  • $ yum list updates アップデート可能なパッケージの一覧を表示
  • $ yum search keyword キーワードでパッケージを検索する。

必要なソフトウェアスタックを自分で構成するって作業がなー、好きな人にはいいだろうが、僕みたいなモノグサには苦痛以外のなにものでもないな。あーー、嫌だイヤだ。

やっぱり、Amazon EC2を使って出来上がりマシンイメージを保存して使いまわすのがいいのかもしれないな。

サーバーを調べる

とにかく僕はサーバー管理/システム管理が大嫌いだから、さくらサーバーもH君に完全に任せていた。で、こいつは未知のマシンも同様。

「なにがどうなっているんじゃい??」を調べるために、使った/使うであろうコマンドやファイルを列挙。

  1. hostname この機械の名前
  2. uname -a もっと詳しく
  3. cat /proc/version OSに関する情報
  4. cat /etc/sysconfig/network ネットワーク基本情報、HOSTNAMEも入っている
  5. /sbin/service network status ネットワークがおよそどうなっているか?
  6. ls /etc/sysconfig/network-scripts/ifcfg-* どんなインターフェースがあるかな?
  7. cat /etc/sysconfig/network-scripts/ifcfg-eth0 IPアドレスとネットマスクが分かる
  8. cat /etc/sysconfig/network-scripts/ifcfg-lo こっちはローカル・ループバック
  9. cat /etc/resolv.conf ネームサーバーが書いてある
  10. less /etc/nsswitch.conf 情報を調べるバックエンドを何使っているか?
  11. cat /etc/hosts とりあえず見ておく
  12. /sbin/ifconfig ここにもIPアドレス
  13. top 走っているプロセス
  14. ps -lA | grep XXX プロセスを探す
  15. sudo /usr/sbin/lsof -i | less ソケットを使っているプロセス
  16. df ディスクはどんな感じ
  17. cat /etc/mtab マウントは?
  18. cat /etc/fstab ファイルシステムは?
  19. rpm -ql httpd | less Apacheのインストール状況

ドメインとWebサーバー

ドメインの制度的なことがさっぱりわからん。さくらにドメインオプション付けているけれど、、、

https://secure.sakura.ad.jp/menu/top/ のメニューから分かる情報は:

ドメイン 状態 種別 有効期限日
microapplications.net 利用中 ネームサーバ -
commuworld.org 利用中 ネームサーバ -

microapplications.net

シリアル 2008061600
更新間隔(Refresh) 3600
リトライ(Retry) 900
有効期限(Expire) 3600000
最小TTL 3600

ゾーン情報:

エントリ名 タイプ データ
@ NS ns1.dns.ne.jp.
NS ns2.dns.ne.jp.
A 219.94.153.157
MX 10 @
www CNAME @
mail CNAME @
ftp CNAME @
juncture CNAME @

commuworld.orgも同様だが

エントリ名 タイプ データ
@ NS ns1.dns.ne.jp.
NS ns2.dns.ne.jp.
www A 219.94.153.157
dev CNAME www

これが情報の全て。新しいドメインを貼りつけたいときは、さくらに申請するようだ。

登録担当者が申請情報確認し、作業が終了しましたら ×××@chimaira.org 宛てにご報告差し上げます。

それはそうとして、


$ service httpd status
httpd (pid 25779 25778 25777 25776 25775 25774 25773 25772 4220) is running...

httpd = Apatche は走っているようだ。これから、/etc/httpd/ を調べるわ。