カテゴリ「インストール・設定」の記事一覧

木曜日, 4月 15th, 2010

CentOS 4.8 に apache2.2をインストールすることにした。
まずは必要になりそうなパッケージをyumで。

yum install openssl-devel

この時点で最新ソースをダウンロードして展開してconfigureしてコンパイル。
configureは既存のapache2.0.52と競合しないようにprefixだけ指定。

wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.15.tar.gz
tar xvzf httpd-2.2.15.tar.gz
cd httpd-2.2.15
./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-ssl=shared --enable-suexec --with-suexec-caller=apache --with-suexec-uidmin=1000 --with-suexec-gidmin=1000 --with-suexec-docroot=/home
make
make install

これで/usr/local/httpd/にインストールされる。
–enable-mods-shared=allにしておけば必要になったときに設定ファイルだけでいつでも追加できる。
–enable-ssl=sharedはallでも入らなかったのでいれた。
suexec関係はバーチャルホストで利用しているのでいれた。

/etc/httpd/conf.d ディレクトリを
/usr/local/httpd/conf.d としてコピー

/usr/local/httpd/conf/httpd.confの修正

User daemon
Group daemon

User apache
Group apache
に変更。

ServerRoot “/usr/local/httpd”
の下あたりに
PidFile /var/run/httpd.pid
を追加。
これは/etc/init.d/httpdの変更をできるだけ少なくするため。

ServerAdmin に指定してあるメールアドレスを適切に変更。

DocumentRoot “/var/www/html”
に変更。どっちでもいいんだけどあまりいろいろ変更したくないので。
それに合わせて



に変更

Include conf.d/*.conf
を追加

下記行のコメントをはずす
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-default.conf
include conf/extra/httpd-ssl.conf (sslを使ってる場合) ただしこのファイルの
DocumentRoot "/usr/local/httpd/htdocs"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog "/usr/local/httpd/logs/error_log"
TransferLog "/usr/local/httpd/logs/access_log"

このあたりは各バーチャルホストの設定ファイルに書いているのでコメントアウト。

SSLを使ってる場合は
server.keyやserver.crtを/usr/local/httpd/conf内に設置

/etc/init.d/httpd

/etc/init.d/httpd.orgとしてコピー

/etc/init.d/httpd
を変更
apachectl=/usr/sbin/apachectl

apachectl=/usr/local/httpd/bin/apachectl
httpd=${HTTPD-/usr/sbin/httpd}

httpd=${HTTPD-/usr/local/httpd/bin/httpd}

ここでphpを再コンパイルした。というかちょうどアップデートがでていたので最新バージョンをコンパイル。その際configureのオプションで
‘–with-apxs2=/usr/sbin/apxs’
の部分を
‘–with-apxs2=/usr/local/httpd/bin/apxs’
にしてconfigure、make、make installするとちゃんと新しいhttpd.confに
LoadModule php5_module modules/libphp5.so
を追加してくれる。

これだけだとphpはちゃんと動かないのでさらに
AddType application/x-httpd-php .php .phtml
を追加。

以上で設定は全部完了。

/etc/init.d/httpd.org stop
で今動いてる古いapacheを停止。

/etc/init.d/httpd start
で新しいのを起動。

と走り書きしましたが、いつかちゃんと読みやすく成形したいけど今はちょっと時間がなくてやってられないのですみません。必要なかたは頑張って読んでください。

タグ

symfonyをウェブルートディレクトリではなく、一つ下の階層に入れた場合とかの設定(特にルーティング)のメモ

月曜日, 11月 30th, 2009

久々に書きますが、時間がないのでメモレベルで。
いつか時間とニーズがあればWordPressとSymfonyの連携の方法なんかも書いてみたいと思ってます。

たとえば、symfonyをabcというディレクトリに入れたとして、

apps/front/config/factories.yml

inc:
  routing:
    param:
      context:
        prefix:                         '/shop'

のようにして

symfony以外のプログラム(たとえばwordpressとか)では、ファイルの最初に

< ?php
//autoload symfony core class
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

sfCoreAutoload::register();
// add autoload my project class
$dir = dirname(__FILE__).'/../';
$sfSimpleAutoload = sfSimpleAutoload::getInstance();
$sfSimpleAutoload->addDirectory($dir);
$sfSimpleAutoload->register();

$configuration = ProjectConfiguration::getApplicationConfiguration('front', 'inc', true);
sfContext::createInstance($configuration);
?>
とかいうのを書いとく。
そうすれば、たとえばテンプレートで
< ?php
echo sfContext::getInstance()->getController()->getPresentationFor('parts','sidebar');
?>

とかしたときに、url_for()とかで指定したリンク先が
/index.php/test/aaa
とかならずに
/abc/test/aaa
となってくれる。

タグ

tracのpriority等の初期設定

土曜日, 4月 5th, 2008

tracでプロジェクトをセットアップすると、デフォルトでpriority等が設定されているが、これを日本語化して分かりやすいように設定する。

trac-admin /path/to/tracproject

これで対話モードになる。
そこで、

ticket_type change defect 不具合
ticket_type change enhancement 追加機能
ticket_type change task やること
priority change blocker 最優先
priority change critical 優先
priority change major 普通
priority change minor 低い
priority change trivial 最も低い
component rename component1 コード
component rename component2 ドキュメント
severity add 作業できない
severity add 致命的
severity add 重大
severity add 普通
severity add 軽微
severity add 些細

をやると一通り日本語になる。
必要に応じて変更して利用してください。

日本語を決める時に参考にしたサイト

http://discypus.jp/trac/sandbox/wiki/WikiStart

タグ

tracを日本語化

土曜日, 4月 5th, 2008

yum でインストールしたtracをそのまま使用していたが、自分以外の人も使うことになったので、日本語化することにした。
日本語化は非常に簡単。

まず、yumでインストール済みのtracをアンインストール。その後インタアクト株式会社–業務内容–公開資料:
の一番下のtrac-0.10.4-ja-1をダウンロードして適当な場所に保存し、展開後インストール。
実際のコマンドは下記。

yum remove trac
wget http://www.i-act.co.jp/project/products/downloads/trac-0.10.4-ja-1.zip
unzip trac-0.10.4-ja-1.zip
cd trac-0.10.4-ja-1
python ./setup.py install

以上で完了。

なお、既に作成済みのプロジェクトについては、wikiは日本語化されない。これをしたい場合は、

 trac-admin /path/to/tracproject wiki load /usr/share/trac/wiki-default

で行うが、編集済みのwikiは失われる。

タグ

Subversion(svn)で最初の空のレイアウトを作成

土曜日, 4月 5th, 2008

Subversionでバージョン管理をする際に、trunkだとかbrunchesだとかを作成して管理することが多い。その時のレイアウトはだいたい決まっているので、そのレイアウトの作成方法をメモ。
svn bookのCreating the Layout, and Importing Initial Dataを参考、というよりもほぼそのまま。

$ mkdir tmpdir
$ cd tmpdir
$ mkdir projectA
$ mkdir projectA/trunk
$ mkdir projectA/branches
$ mkdir projectA/tags
$ mkdir projectB
$ mkdir projectB/trunk
$ mkdir projectB/branches
$ mkdir projectB/tags
…
$ svn import . file:///path/to/repos --message 'Initial repository layout'
Adding         projectA
Adding         projectA/trunk
Adding         projectA/branches
Adding         projectA/tags
Adding         projectB
Adding         projectB/trunk
Adding         projectB/branches
Adding         projectB/tags
…
Committed revision 1.
$ cd ..
$ rm -rf tmpdir
$

レイアウトは状況に応じて、あるいは好みで変えればいいと思いますがこのように最初にレイアウトを作っておくと便利。

このあと、実際にコミットしたいディレクトリで、例えば
svn://SERVERNAME:3690/path/to/repos/projectA/trunk/
をいったんチェックアウトすれば、以降はsvn commitでそのディレクトリをprojectAのtrunkとしてコミットできるようになる。

タグ

PostgreSQL8.3のインストール(8.2からのアップグレード)

金曜日, 4月 4th, 2008

PostgreSQL8.3よりXML型が使えるようになる等、XMLサポートが少し追加された。この機能を利用したいので8.3にアップグレードする。

XMLサポートを有効にしてインストールしたいのでlibxml2のアップグレードを先に行う。

libxmlのインストール

# wget ftp://gd.tuwien.ac.at:21/pub/libxml/libxml2-2.6.31.tar.gz
# tar xvzf libxml2-2.6.31.tar.gz
# cd libxml2-2.6.31
# ./configure --prefix=/usr/local
# make
# make install

ダンプ

8.2で稼働しているデータはそのままでは、8.3では使用できないため、既に登録されているデータが必要な場合は、ここでダンプしておく。

PostgreSQL8.3のインストール

# /etc/init.d/postgresql stop
# wget http://wwwmaster.postgresql.org/redir?http%3A%2F%2Fftp3.jp.postgresql.org%2Fpub%2Fdb%2Fpostgresql%2F%2Fsource%2Fv8.3.1%2Fpostgresql-8.3.1.tar.gz
# tar xvzf postgresql-8.3.1.tar.gz
# cd postgresql-8.3.1
# ./configure --with-libxml
# gmake
# gmake install

8.2が稼働していた場合は、/usr/local/pgsql/dataが既にあり、8.3を起動したときにこれを利用しようとするため、起動できない。そこで、このディレクトリを削除する。(ここでは念のため、data.oldにmoveしている)

# mv /usr/local/pgsql/data /usr/local/pgsql/data.old

エンコードの指定

ここで、いったん/etc/sysconfig/i18nのlangの設定を使用したいDBの
エンコード設定に変更しておく
例.

lang="ja_JP.utf8"

=> UTF8になる

lang="ja_JP"

=> EUC-JPになる

これまでと違い同一data内で異なるエンコードの使用ができないので注意

# /etc/init.d/postgresql start

これでdataディレクトリも作成される。
PostgreSQL8.2等がインストールされていない状態の場合は、この自動起動ファイルの作成も必要。
PostgreSQL8.2のソースインストールを参照。
※ この自動起動ファイルも8.2の個所を8.3にしておく。

当然、dataディレクトリ内の設定が変わっているので
/usr/local/pgsql/data/postgresql.conf
/usr/local/pgsql/data/pg_hba.conf
等の設定をそれぞれ修正。

postgresql.confについては試していないが、pg_hba.confについては前のものをコピーでもOK

# cp -p /usr/local/pgsql/data.old/pg_hba.conf /usr/local/pgsql/data/

PostgreSQLの再起動

# /etc/init.d/postgresql restart

リストア

必要に応じてリストアを行う。

タグ

PostgreSQL8.2のソースインストール

木曜日, 3月 27th, 2008

既存の(rpm版)PostgreSQLのアンインストール

rpm版のPostgreSQLが入っている場合これをアンインストールしてからインストールします。

/etc/init.d/postgresql をとっておく

cp /etc/init.d/postgresql /tmp

rpm版PostgreSQLのアンインストール

rpm -e postgresql-devel
rpm -e postgresql-pl
rpm -e postgresql-test
rpm -e postgresql-server
rpm -e freeradius-postgresql
rpm -e postgresql-contrib
rpm -e postgresql-docs
rpm -e postgresql

PostgreSQL8.2のインストール

ソースのダウンロード

cd /root/install/arc
wget ftp://ftp.jp.postgresql.org/source/v8.2.7/postgresql-8.2.7.tar.gz

解凍

tar xvzf postgresql-8.2.7.tar.gz

インストール

cd postgresql-8.2.7
./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &

※postgresのshellがbashでないと、「曖昧なリダイレクト出力です」と表示される
⇒/etc/passwd でpostgres のシェルをbashに変更(vipw)

正常にインストールされているかのテスト

/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
/usr/local/pgsql/bin/dropdb test

自動起動ファイルの設定

/etc/init.d/postgresql の編集
先ほどコピーしておいた /root/postgresql を下記の通り編集し
/etc/init.d/postgresql として保存します。

PGVERSION=8.2.1 (7.4.*⇒8.2.7に)

export PGDATA=/var/lib/pgsql

をコメントアウトし

export PGDATA=/usr/local/pgsql

export PGDATA=/var/lib/pgsql/data

をコメントアウトし

export PGDATA=/usr/local/pgsql/data

自動起動の設定

chkconfig --level 345 postgresql on

ライブラリの適用

/etc/ld.so.conf に /usr/local/pgsql/lib を追加し

ldconfig -v
タグ