- とりあえず一段落したので、この一週間やってきたことを纏めてみる。
- その上で残件のまとめに入りましょう。
General Information
- FreeBSD 4.11-STABLE #0: Sat Jul 30 04:35:08 JST 2005
Backup
/etc
/usr/local/etc
/var/log
/usr/local/share/shmp
/usr/src/sys/i386/conf
/home/HOME
CDROMからのインストール
- FTPから最小構成のISOイメージを取得。
- CDROMからブート。
- インストールメディア選択時にPCMCIAを選択しない。
- 勘違いで数回ためしたが、IRQは不明なまま。
- ネットワークインストールを選択。
- Kern-Developerを選択。
- portsは一応インストールする。
- HDDのパーティション分け
/dev/ad0s1a on / (ufs, local, soft-updates)
/dev/ad0s1f on /tmp (ufs, local, soft-updates)
/dev/ad0s1g on /usr (ufs, local, soft-updates)
/dev/ad0s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
- Packageからインストールするモノ
- ここでひとまずリブート
初回リブート後
- cvsupでソースとportsを最新版にする。
- その間にsu toorを有効にする。
vipw
toor:*:0:0:Bourne-again Superuser:/root:/usr/local/bin/zsh
passwd -l toor
CPUTYPE=i686
- この間にcvsup終わってるので、
- cp /usr/src/sys/i386/conf/GENERIC XXX
- XXXを適当に編集
- make worldする
- 一晩がかりなので寝る
- shutdown -h now
二回目リブート後
真っ先にやること
- /usr/ports/japanese/samba3
- make install
- 基本的にデフォルトのままだが、LDAPは使わないことが明確なのではずす。
- /usr/local/etc/smbd.conf
- hosts allowの修正
- workgroupの修正
- /etc/inetd.conf
- kill -HUP inetdのプロセス番号
- ユーザ登録
- /usr/ports/lang/perl5.8
- make install
- use.perl port
Usage:
use.perl port -> /usr/bin/perl is the perl5 port
use.perl system -> /usr/bin/perl is the system perl
- バックアップしたファイルを復元するためにsambaを優先したが、本当はperlをしたかった。
# sec.name source community
com2sec local localhost XXXXXXXX
com2sec mynetwork 192.168.xxx.0/24 XXXXXXXX
net_snmpd_enable="YES"
ソースからBuildするモノ
方針
- 主要アプリケーションはソースからBuildする。
- 主要アプリケーションが必要とする依存関係は、portsも使用する。
- 個別作業に入る前に、/var/logを復旧しておくべし。
- Barkley DB 4.2.52
- UserとGroupの登録
- /stand/sysinstall -> Configure -> User Management
- おや?既に登録されている。システムデフォルトなんだろうか?
www:*:80:80:World Wide Web Owner:/nonexistent:/sbin/nologin
./configure --prefix=/usr/local \
--enable-layout=FreeBSD \
--enable-with-barkley-db=/usr/local/bin/db42 \
CPPFLAGS=-I/usr/local/include/db42 \
LDFLAGS=-L/usr/local/lib/db42 \
--enable-dav \
--enable-dav-fs \
--enable-ssl \
--enable-so \
--enable-mods-shared=ssl
make
make install
Install prefix: /usr/local
Compiler: gcc
XML Parser: libxml 2.6.20
SSL library: SSL support is not enabled
zlib support: zlib support enabled, using -lz
Build libraries: Shared=no, Static=yes
apache2_enable="YES"
./configure
gmake
gmake install
- ViewCVS
- Subversion1.2.1
- INSTALL によると、./configure に先だって、sh ./autogen.sh を実施するらしい。
- エラーが出たら、都度それにあわせて環境変数を変更しつつ実行。
- ./autogen.sh
AUTOCONF=/usr/local/bin/autoconf259 \
AUTOHEADER=/usr/local/bin/autoheader259 \
LIBTOOL_M4=/usr/local/lib/php/build/libtool.m4 \
sh ./autogen.sh
./configure --prefix=/usr/local \
--with-apxs=/usr/local/sbin/apxs \
--with-berkeley-db=/usr/local/bin/db42 \
CPPFLAGS=-I/usr/local/include/db42 \
LDFLAGS=-L/usr/local/lib/db42 \
--with-swig=/usr/local/bin/swig \
--with-apr=/usr/local/bin/apr-config \
--with-apr-util=/usr/home/HOME/src/httpd-2.0.54/srclib/apr-util
make
make install
make swig-py
make install-swig-py
もしダメなら、subversion/bindings/swig/INSTALL で同じ事をやってみよう。
cd /usr/local/lib/python2.2/site-packaes
ln -s /usr/local/lib/svn-python/* .
-
- おそらく、コレをやらないとViewCVSでsvnを表示した際にエラーになる。やった直後に成功するようになったので、多分その通り。
- 参考
PHP4.4
./configure --with-apxs2=/usr/local/sbin/apxs \
--with-mysql
make
make install
- /usr/local/etc/apache2/httpd.conf
LoadModule php4_module libexec/apache2/libphp4.so
AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source /phps
wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz
tar zxvf mod_perl-2.0-current.tar.gz
cd mod_perl-2.0
perl Makefile.PL MP_USE_DSO=1 \
MP_APXS=/usr/local/sbin/apxs \
EVERYTHING=1
make
make test
su toor
make install
The Gory Details
We saw that the basic mod_perl installation is quite simple and
takes about 10 commands. You can copy and paste them from these
pages. The parameter EVERYTHING=1 selects a lot of options, but
sometimes you will need different ones. You may need to pass only
specific parameters, to bundle other components with mod_perl etc.
You may want to build mod_perl as a loadable object instead of
compiling it into Apache, so that it can be upgraded without
rebuilding Apache itself.
LoadModule perl_module libexec/apache2/mod_perl.so
Alias /cgi-perl /usr/local/www/cgi-perl
<Location /cgi-perl>
SetHandler perl-script
PerlHandler Apache::Registory
Options +ExecCGI
</Location>
- 動作確認
- テストコードがないので、動作確認できてませんが..
pgsql:*:70:70:PostgreSQL Daemon:/usr/local/pgsql:/bin/sh
- 基本的に、展開したディレクトリにできるINSTALLを読みながら進めればよい。
- Backup
pg_dumpall > db.out
pg_ctl stop
./configure --prefix=/usr/local --with-perl
gmake
gmake check # for regression test
su
gmake install
gmake -C src/bin install
gmake -C src/include install
gmake -C src/interfaces install
gmake -C doc install
mkdir /home/pgsql
mkdir /home/pgsql/data
chown -R pgsql:pgsql /home/pgsql
su pgsql
initdb --encoding=EUC_JP --no-locale -D /home/pgsql/data
su pgsql -c '/usr/local/bin/pg_ctl start -o -i -D /home/pgsql/data '
su
su pgsql
psql -e template1 < db.out # フルダンプからの復元
- うーん、見事に説明書通りのオペレーションだ。:-)
- 基本方針
- MySQL4.1.x の最新版
- デフォルト言語設定は ujis
- テーブルは MyISAM, InnoDB
- ndbclusterはとりあえず見送り。
- 常駐するので、プロセスサイズを小さくする設定。
- portsの場合
- /usr/ports/databases/mysql41-server
make WITH_CHARSET=ujis
make install
mysql:*:88:88:MySQL Daemon:/var/db/mysql:/sbin/nologin
./configure --help
./configure --prefix=/usr/local \
--with-tcp-port=3306 \
--with-mysqld-user=mysql \
--with-charset=ujis \
--with-extra-charsets=all \
--with-csv-storage-engine \
--localstatedir=/home/mysql
make
make install
cp support-files/my-small.cnf /etc/my.cnf
cd /home/mysql
/usr/local/bin/mysql_install_db --user=mysql
/usr/local/bin/mysqld_safe --user=mysql &
--localstatedirを指定しない場合、初期化する際に明示する必要がある。
usr/local/bin/mysql_install_db --datadir=/home/mysql
/usr/local/bin/mysqld_safe --datedir=/home/mysql
環境復旧
次に[ HotSaNIC ] のインデックスページを作成した後、1度[ rrdtimer ]を実行します。
# ./makeindex.pl
# ./rrdtimer -i
-
- pukiwiki
- 新規インストールだと問題ないですが、バックアップから復旧するときに毎回はまるポイント。
- READMEには下記のパーミッション設定しか書かれてませんが、実際にはattach, backup, counter, diff, wiki配下のファイルも0666に変更しないと、更新時にエラーが起こる。
4. サーバ上のファイルおよびディレクトリのパーミッションを確認します。
ディレクトリ パーミッション
attach 777 添付ファイル格納ディレクトリ
backup 777 バックアップファイル格納ディレクトリ
cache 777 キャッシュファイル格納ディレクトリ
counter 777 カウンタファイル格納ディレクトリ
diff 777 差分ファイル格納ディレクトリ
image 755 画像ファイル
image/face 755 (画像ファイル)フェイスマーク
lib 755 ライブラリ
plugin 755 プラグイン
skin 755 スキン、CSS、JavaScirptファイル
trackback 777 TrackBackファイル格納ディレクトリ
wiki 777 データの格納ディレクトリ
ファイル パーミッション 転送モード
*.php 644 ASCII
cache/* 666 ASCII
image/* 644 BINARY
image/face/* 644 BINARY
lib/* 644 ASCII
plugin/* 644 ASCII
skin/* 644 ASCII
wiki/* 666 ASCII