TruStudio のインストール

PHP, HTML の編集、Subversionクライアントとして使う。

TruStudio のインストール

  1. TruStudio を download する
  2. 解凍する
  3. 適当なディレクトリにコピーまたは移動する

Subclipse (SVN クライアント)

  1. TruStudio を起動
  2. Help > Software update > Find and Install
  3. Search for new feature install
  4. New remote site > enter name: Subclipse, URL:http://subclipse.tigris.org/update
  5. Subclipse を選択 > Finish をクリック
  6. ダイアログに従ってインストールしたら、TruStudio を再起動する
Advertisements
TruStudio のインストール

Linux で外付けの HDD を使用する

参照

設定手順

USB 接続の HDD にパーティションを作ってフォーマットする。

fdisk を実行。

# fidsk /dev/sda

fdisk のメニューで Linux パーティションを作る。

コマンド (m でヘルプ): d
領域番号 (1-4): 1

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-9733, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-9733, default 9733):
Using default value 9733

フォーマットする。

# mkfs -t ext3 /dev/sda1

mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
9781248 inodes, 19545072 blocks
977253 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=20971520
597 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

結果を確認。

# mount /dev/sda1 /mnt/usb/
# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                       73G  2.1G   67G   4% /
/dev/hda1              99M   12M   82M  13% /boot
none                  248M     0  248M   0% /dev/shm
/dev/sda1              74G   85M   70G   1% /mnt/usb

rsync でバックアップする時の例

ホームディレクトリと TWiki のデータをバックアップ:

#!/bin/sh
mount /dev/sda1 /mnt/usb
rsync -uva /var/www/html/twiki/data/ /mnt/usb/twiki/data/
rsync -uva /home/username/ /mnt/usb/username/
umount /mnt/usb
Linux で外付けの HDD を使用する

Twiki の導入

参照

TWiki Installation Guide

インストール先など

  • ディレクトリ: /var/www/html/twiki
  • Installation guide にある httpd.conf の例を twiki.conf として /etc/httpd/conf.d にコピー

設定ファイル

twiki/bin/setlib.cfg

以下の行を修正:

$twikiLibPath = '/var/www/html/twiki/lib';

twiki/lib/TWiki.cfg

以下の行を修正:

$defaultUrlHost   = "http://192.168.1.11";
$scriptUrlPath    = "/twiki/bin";
$dispScriptUrlPath = $scriptUrlPath;
$dispViewPath     = "/view";
$pubUrlPath       = "/twiki/pub";
$pubDir           = "/var/www/html/twiki/pub";
$templateDir      = "/var/www/html/twiki/templates";
$dataDir          = "/var/www/html/twiki/data";

$useLocale = 1;
$siteLocale = "ja_JP.eucjp";

上の設定が終わったら、ブラウザで以下の URL (インストールしたマシン)にアクセスする。
http://example.com/twiki/bin/testenv

Configuration

TWiki の設定は、wiki のページを編集して行う。ただし、wysiwyg の編集画面で編集すると、内容がおかしくなる事があるので注意。

TWiki.TWikiPreferences

Default User Settings

テキストエリアのサイズを変更:

  • Set EDITBOXHEIGHT = 30
Email and Proxy server Settings

以下の項目を変更:

  • Set WIKIWEBMASTER = webmaster@example.com
  • Set SMTPMAILHOST = localhost

注意: 上は localhost で SMTP サーバが動いている場合

User

ユーザ名を登録する。

Admin Group

次のページを編集する: Main.TWikiAdminGroup

Twiki の導入

dotProject についてのメモ

参照

php-gd

ガントチャートを使う時は php-gd が必要なので事前にインストールする。

# yum install php-gd
# apachectl graceful

インストール

  1. アーカイブをダウンロードし、任意のディレクトリに解凍
  2. ブラウザでアクセスする
  3. dotProject のインストーラ画面が表示される
  4. パーミッションの変更や、必要なモジュールなどが表示されていたら、適宜修正、インストールする
  5. install をクリック > DB 設定を入力し ‘install db & write cfg’ をクリック

既知の問題

jpGraph

参考: http://www.dotproject.net/vbulletin/showthread.php?t=3329

dotproject/modules/tasks/ にある以下のファイルをアップグレード。

  • gantt.php (upgrade to 1.51)
  • viewgantt.php (upgrade to 1.35)

php.ini の memory_limit 増やさないと行けない場合もある(以下は例。8Mだとダメだった)。

memory_limit = 16M
dotProject についてのメモ

Scuttle のセットアップ

参照

インストール

  1. ダウンロードサイトからダウンロード
  2. 任意のディレクトリに解凍
  3. MySQL に Scuttle 用の DB とユーザを作成
  4. アーカイブ内にある tables.sql でテーブルを作成
  5. config.inc.php を編集
  6. Scuttle の URL (インストール先 URL)にアクセス

例:

# cd /var/www/html/
# mkdir scuttle
# cd scuttle
# wget http://jaist.dl.sourceforge.net/sourceforge/scuttle/scuttle.0.7.2.zip
# unzip scuttle.0.7.2.zip
# mysql -u root -p scuttle < tables.sql
# cp config.inc.php.example config.inc.php
# vi config.inc.php

例 (config.inc.phpの変更箇所のみ)

$dbtype = 'mysql';
$dbhost = '127.0.0.1';
$dbport = '3306';
$dbuser = 'scuttle';
$dbpass = 'yourpassword';
$dbname = 'scuttle';
Scuttle のセットアップ

OpenLDAP の導入

概要

LDAP を SSH, sFTP, www (Basic 認証)のログイン認証に使う。

インストールしたパッケージ

# yum list | grep ldap
nss_ldap.i386                            226-10                 installed       
openldap.i386                            2.2.13-4               installed       
openldap-clients.i386                    2.2.13-4               installed       
openldap-devel.i386                      2.2.13-4               installed       
openldap-servers.i386                    2.2.13-4               installed       
php-ldap.i386                            4.3.9-3.9              installed       
python-ldap.i386                         2.0.1-2                installed       
compat-openldap.i386                     2.1.30-4               update          
mod_authz_ldap.i386                      0.26-2                 base            
openldap-servers-sql.i386                2.2.13-4               update      

# yum list | grep pam
pam.i386                                 0.77-66.13             installed       
pam-devel.i386                           0.77-66.13             installed       
pam_ccreds.i386                          1-3                    installed       
pam_krb5.i386                            2.1.8-1                installed       
pam_passwdqc.i386                        0.7.5-2                installed       
pam_smb.i386                             1.1.7-5                installed       

設定ファイル

# pwd
/etc/openldap
# ls -R
.:
cacerts  ldap.conf  schema  slapd.conf

./cacerts:

./schema:
README        core.schema    dyngroup.schema       java.schema  nis.schema       redhat
corba.schema  cosine.schema  inetorgperson.schema  misc.schema  openldap.schema

./schema/redhat:
autofs.schema

slapd.conf

/etc/openldap/sldapd.conf
以下のように編集する(rootpw はちゃんと変える事)。

suffix          "dc=example,dc=com"
rootdn          "cn=Manager,dc=example,dc=com"

rootpw          secret

access to attrs=userPassword
       by self write
       by users auth
       by anonymous auth

access to *
       by self write
       by users read
       by anonymous read

この例では、ユーザは自分の情報を読み書きできるけれど、他人のパスワードを見る、または情報を書き換える事はできないように設定している。

以下はあるユーザに管理権限を与える例。

access to attrs=userPassword
       by self write
       by dn="uid=username,ou=People,dc=example,dc=com" write
       by users read
       by anonymous auth

access to *
       by self write
       by dn="uid=username,ou=People,dc=example,dc=com" write
       by users read
       by anonymous read

rootpw の暗号化

slappasswd を使う。

# slappasswd
New password: 
Re-enter new password: 
{SSHA}IURIkjnl/xCkPBTG5xCmLKtXfeFLFCSe

生成された文字列を slapd.conf に設定。

rootpw                  {SSHA}IURIkjnl/xCkPBTG5xCmLKtXfeFLFCSe

起動

# service ldap start

マシン起動時に LDAP も起動するには次のようにする。

# chkconfig ldap on

正常に動作しているかは、次のようにして確認できる。

# ldapsearch -v -x -b '' -s base +
ldap_initialize( <DEFAULT> )
filter: (objectclass=*)
requesting: + 
# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: + 
#

#
dn:
structuralObjectClass: OpenLDAProotDSE
namingContexts: dc=example,dc=com
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1339
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.826.0.1.334810.2.3
supportedExtension: 1.3.6.1.4.1.1466.20037
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 2
supportedLDAPVersion: 3
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: DIGEST-MD5
subschemaSubentry: cn=Subschema

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

# 

データの入力

LDIF ファイルを使った入力

LDIF ファイルの例:

dn: dc=example,dc=com
objectClass: dcObject
objectClass: organization
o: example
dc: example

dn: ou=Users,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: users

dn: cn=FirstnameLastname,ou=Users,dc=example,dc=com
sn: Lastname
telephoneNumber: 03-1111-2222
userPassword: 1234567
mail: user@example.com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: username
cn: FirstnameLastname

コマンド実行例:

# ldapadd -x -h localhost -D cn=manager,dc=example,dc=com -f ldif.txt -W
Enter LDAP Password: 
adding new entry "dc=example,dc=com"

adding new entry "ou=Users,dc=example,dc=com"

adding new entry "cn=FirstnameLastname,ou=Users,dc=example,dc=com"

検索例 (uid=username):

# ldapsearch -LLL -x -h localhost -b dc=example,dc=com uid=username
dn: cn=FirstnameLastname,ou=Users,dc=example,dc=com
sn: Lastname
telephoneNumber: 00-1111-2222
userPassword:: MTIzNDU2Nw==
mail: user@example.com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: username
cn: FirstnameLastname

LDAP をシステムのログイン認証に使う

PAM の設定

‘authconfig’ を実行して、use LDAP と use LDAP auth にチェックし、next へ進んで OK を押す。すると /etc/pam.d/system-auth に以下のように追加される。

auth        sufficient    /lib/security/$ISA/pam_ldap.so use_first_pass
account     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
password    sufficient    /lib/security/$ISA/pam_ldap.so use_authtok
session     optional      /lib/security/$ISA/pam_ldap.so

その後、system-auth に以下の行を追加。

session     required      /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel umask=0022

system-auth の例:

# cat /etc/pam.d/system-auth 
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/$ISA/pam_ldap.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so

account     required      /lib/security/$ISA/pam_unix.so broken_shadow
account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
account     required      /lib/security/$ISA/pam_permit.so

password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/$ISA/pam_ldap.so use_authtok
password    required      /lib/security/$ISA/pam_deny.so

session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
session     optional      /lib/security/$ISA/pam_ldap.so
session     required      /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel umask=0022

NSS の設定

/etc/nsswitch.conf の passwd, shadow, group に ldap を追加。

passwd:     files ldap
shadow:     files ldap
group:      files ldap

既存ユーザの移行

移行ツールの設定

/usr/share/openldap/migration/migrate_common.ph の $DEFAULT_MAIL_DOMAIN と $DEFAULT_BASE を修正する。

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "example.com";

# Default base
$DEFAULT_BASE = "dc=example,dc=com";
移行ツールを実行する
# /usr/share/openldap/migration/migrate_passwd.pl /etc/passwd ./ldifpasswd.txt
# /usr/share/openldap/migration/migrate_group.pl /etc/group ./ldifgroup.txt

./ldifpasswd.txt と ldifgroup.txt が作成される。これらの上位エントリ ‘ou=People,dc=example,dc=com’ 用の ldif ファイルを作成する。
例:

dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

このエントリを最初に登録する。

# ldapadd -x -h localhost -D cn=manager,dc=example,dc=com -f ldif.txt -W
Enter LDAP Password: 
adding new entry "ou=People,dc=example,dc=com"

移行ツールで作った ldifpasswd.txt から uid が 100 以下のものと 65000 以上のものを削除する(これらはシステムが使用するユーザなので)。その後、以下のように実行する。

# ldapadd -x -h localhost -D cn=manager,dc=example,dc=com -f ldifpasswd.txt -W
Enter LDAP Password: 
adding new entry "uid=username,ou=People,dc=example,dc=com"

# ldapadd -x -h localhost -D cn=manager,dc=example,dc=com -f ldifgroup.txt -W
Enter LDAP Password: 
adding new entry "ou=People,dc=example,dc=com"
確認手順
  1. /etc/passwd にユーザがいない事を確認
  2. /home/username を作成し、owner をそのユーザに変更
  3. そのユーザでログインする(ログインできるはず)
  4. LDAP を停止して、同じユーザでログインする(ログインできないはず)
  5. そのユーザのホームディレクトリを削除
  6. LDAP を起動して、そのユーザでログインする(ログインできて、ホームディレクトリが作成される)

実行例:

# grep username /etc/passwd
# mkdir /home/username
# chown username /home/username
# ls -l /home
合計 16
drwxr-xr-x  2 username root 4096  3月  5 15:24 username

$ ssh username@example.com
username@example.com's password: 
Last login: Mon Aug 22 22:42:17 2005 from 192.168.1.2
-bash-3.00$ 

# service ldap stop
# ls -l /home
合計 16
drwxr-xr-x  2 500 root 4096  3月  5 15:28 username

$ ssh username@example.com
username@example.com's password: 
Permission denied, please try again.
username@example.com's password: 

# rm -r /home/username
rm: descend into directory `/home/username'? y
rm: remove 通常ファイル `/home/username/.bash_history'? y
rm: remove ディレクトリ `/home/username'? y
# service ldap start

$ ssh username@example.com
username@example.com's password: 
Creating directory '/home/username'.
Last login: Sun Mar  5 15:25:28 2006 from 192.168.1.2
OpenLDAP の導入

MySQL の導入

インストール

# yum install mysql-server

参考: MySQL関連でインストール済みのソフトウェア(2006/07/25現在)

# yum list installed | grep mysql
mysql.i386                               5.0.22-1.centos.1      installed       
mysql-server.i386                        5.0.22-1.centos.1      installed       
mysqlclient14.i386                       4.1.14-4.2.c4.1        installed       
php-mysql.i386                           5.0.4-5.centos4        installed       

起動

デーモンの起動。

# service mysqld start

システム起動時に起動する。

# chkconfig mysqld on

root password の変更

# mysqladmin -u root password 'mynewpassword'

パスワードを変更したら、次のコマンドを実行。

# mysqladmin -h hostname flush-privileges

参照

MySQL の導入