[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[ノート>ノート/ノート]]~
訪問者数 &counter(); 最終更新 &lastmod();
*ACS導入の経緯 2 [#cd1bf006]
***導入ガイドメモ &ref(); [#j3ff74d0]
***面倒なので、ACSご指定の環境を別途構築 ⇒ salt.yy [#u1908681]
-間借りだとソフト環境がご指定のものにならない。特にPHP4 vs PHP5の問題は、さしあたって付き合いたくない。
-もう1台マシンを調達。どうせテスト用だから非力でも良い。ということで、1台確保。念のためHDD(ころがっていた30GB)をローレベルフォーマットしてからスタート。
-Linuxとして手元マシンと同様Fedora導入。これが間違いかも?? Fedora-8。Live-CDを作り、そこからインストール。
-ネットワーク設定でトラブル。NetworkManagerとかいうわけの分からないものが入っていて、「インターフェースの変更などを自動認識する」と称するのだが、勝手にネットワークの設定を変えてしまう。具合が悪いので(サーバーには向かないよね)、/etc/rc.d/rc2.d, rc3.d, rc4.dからNetworkManagerの起動を外す(S90NetworkManagerからK90NetworkManagerに名前変更)。今度は全くネットワークがスタートしないので、もともとからある"network"スクリプトを実行するように、K90networkをS10networkに変更。これは他のLinuxマシンでS90ではなくてS10の順位になっているため。
-一応これで起動可能。
***環境作り salt編 [#s367014c]
-saltはFedora8-live。パッケージからインストール。パッケージ情報は
http://koji.fedoraproject.org/koji/packageinfo?packageID=280 あたりにあり。検索で探せる。
-OpenSSLは、Fedora-8上のパッケージを利用。/usr/bin/openssl version ⇒
OpenSSL 0.9.8b 04 May 2006。ということでよさそう。~
ヘッダファイルなどが見当たらない。で yum install openssl-devel~
これのdependencyとして、yum install krb5-devel、yum install zlib-devel。
-mod_sslが必要。コンパイル時にリンクしてしまうのではなく、モジュールとして実行時にロードする(ようにFedoraでは設定されている)~
yum install mod_ssl
-あと必要なのが、OpenSSLでサーバー証明書を作成しておくこと。
これらの証明書ファイルの作り方は、http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html のCertificateの項を参照。
今のところ手抜きで、Self-signed certificateを使うことにする。~
-ApacheにSSL virtual host 導入
--http://httpd.apache.org/docs/2.2/vhosts/
--http://wiki.apache.org/httpd/ExampleVhosts
--httpd.confファイルに2つの変更。1つはvirtual host機能を使ってnon-SSLとSSLの
2つのサーバー(named host)を立てること。もう1つはSSL用の構成を作ること。
--virtual host機能は
### Virtual Host Configuration. Two V-H are configured
NameVirtualHost *:80
NameVirtualHost *:443
# Virtual Host #1 Non-SSL host
<VirtualHost *:80>
ServerName pepper.is.sci.toho-u.ac.jp
DocumentRoot "/usr/local/apache2/htdocs"
</VirtualHost>
<VirtualHost *:443>
ServerName pepper.is.sci.toho-u.ac.jp
DocumentRoot "/usr/local/apache2/htdocs-ssl"
SSLEngine On
</VirtualHost>
--SSL用の構成は、全体に
SSLCertificateFile /path/path/path/server.crt
SSLCertificateKeyFile /path/path/path/server.key
--SSLがうまく動くかどうかのアクセスチェック方法として、
http://httpd.apache.org/docs/2.2/ssl/ssl_faq.htmlのConfigurationの項の
「How do I speak HTTPS manually for testing purposes?」が使える。具体的には
port80にtelnetする代わりに
$ openssl s_client -connect localhost:443 -state -debug
GET / HTTP/1.0
でマニュアルアクセスできる。telnetの時と同様に、GET / HTTP/1.0のあとで2回Enterキーを押すこと。
-Fedoraのapacheのconfファイルは、追加分を別ファイルとしてconf.d/ssl.confやconf.d/php.confのように作ることになっている。でも全体構造がわかり難いので
このやり方はやめて(includeを止めて)すべてhttpd.confに書き込む。
-PHP5 (ACSはPHP-4を仮定しているが、12月いっぱいでPHP-4の提供が終わるので、PHP-5を入れてしかしZend-1を使うようにphp.iniを設定して、PHP-4をシミュレートしよう。)~
yum install php にてphp-5.2.4-3をインストール。~
phpinfo();を試してOK
-PHPからldapサーバをアクセスするために、php-ldapモジュールが必要。上記のパッケージだと、--with-ldap=sharedでコンパイルされているため、shared moduleが必要になる。
yum install php-ldapを実行してインストール。OK。~
テストのため、次のページを作って試す。http://www.php.net/manual/ja/ref.ldap.php
<?php
// LDAP の基本シーケンスは、接続、バインド、検索、検索結果の解釈、
// 接続のクローズです。
echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // 有効な LDAP サーバーに違いない!
echo "connect result is " . $ds . "<br />";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // これは "匿名" バインドで、通常は
// 読みこみのみのアクセスとなります。
echo "Bind result is " . $r . "<br />";
echo "Searching for (sn=S*) ...";
// 名前(surname)エントリを検索
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
(localhostはリモートで試す。)
-PostgreSQL(server)もパッケージで導入。yum install postgresql-serverで、postgresql8.2.5-1.fc8とpootgresql-server8.2.5-1を導入。yumで、Fedoraサイトに存在するパッケージを探すには
yum list | grep postgres
などとやるとよい。yumの使い方サマリーはhttp://www.searchman.info/tips/1800.html~
Postgresqlをテストするにはhttp://www.postgresql.org/docs/8.2/static/install-short.html
adduser postgres これはyumでパッケージインストールすれば自動的に作られる
mkdir /usr/local/pgsql/data 今は/var/db/pgsqlを作った
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
-ImageMatickの導入。これもyumで済まそう。yum list | grep ImageMagickとすると
いろいろ出てくるが、ImageMagick.i386とImageMagick-devel.i386だけにしておこう。
yum install ImageMagick-develとすると、dependencyとしてImageMagick本体も入る。
そのほかたくさんdependencyがある。
-なんと、PHPでPEARによるライブラリ導入が必要。PEARとはPHPの(外部)ライブラリを
簡単に導入できる仕組(というか、開発を標準化してみんなが便利なライブラリを作り、
流通させられるようにする仕組かな)。ACSのインストールリストにあがっているものを
PEARで導入する必要がある。たとえばDB, Mail, ...~
まず、pear本体をyum install php-pearで1.6.2-2.fc8をインストール。
--PEARでライブラリをインストール。コマンドラインから
pear install --alldeps <library>
無事完了
-であるが、ここまでしか行かない。~
[[PHP-4にして、完全にやり直し。>ノート/ACS3]]
終了行:
[[ノート>ノート/ノート]]~
訪問者数 &counter(); 最終更新 &lastmod();
*ACS導入の経緯 2 [#cd1bf006]
***導入ガイドメモ &ref(); [#j3ff74d0]
***面倒なので、ACSご指定の環境を別途構築 ⇒ salt.yy [#u1908681]
-間借りだとソフト環境がご指定のものにならない。特にPHP4 vs PHP5の問題は、さしあたって付き合いたくない。
-もう1台マシンを調達。どうせテスト用だから非力でも良い。ということで、1台確保。念のためHDD(ころがっていた30GB)をローレベルフォーマットしてからスタート。
-Linuxとして手元マシンと同様Fedora導入。これが間違いかも?? Fedora-8。Live-CDを作り、そこからインストール。
-ネットワーク設定でトラブル。NetworkManagerとかいうわけの分からないものが入っていて、「インターフェースの変更などを自動認識する」と称するのだが、勝手にネットワークの設定を変えてしまう。具合が悪いので(サーバーには向かないよね)、/etc/rc.d/rc2.d, rc3.d, rc4.dからNetworkManagerの起動を外す(S90NetworkManagerからK90NetworkManagerに名前変更)。今度は全くネットワークがスタートしないので、もともとからある"network"スクリプトを実行するように、K90networkをS10networkに変更。これは他のLinuxマシンでS90ではなくてS10の順位になっているため。
-一応これで起動可能。
***環境作り salt編 [#s367014c]
-saltはFedora8-live。パッケージからインストール。パッケージ情報は
http://koji.fedoraproject.org/koji/packageinfo?packageID=280 あたりにあり。検索で探せる。
-OpenSSLは、Fedora-8上のパッケージを利用。/usr/bin/openssl version ⇒
OpenSSL 0.9.8b 04 May 2006。ということでよさそう。~
ヘッダファイルなどが見当たらない。で yum install openssl-devel~
これのdependencyとして、yum install krb5-devel、yum install zlib-devel。
-mod_sslが必要。コンパイル時にリンクしてしまうのではなく、モジュールとして実行時にロードする(ようにFedoraでは設定されている)~
yum install mod_ssl
-あと必要なのが、OpenSSLでサーバー証明書を作成しておくこと。
これらの証明書ファイルの作り方は、http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html のCertificateの項を参照。
今のところ手抜きで、Self-signed certificateを使うことにする。~
-ApacheにSSL virtual host 導入
--http://httpd.apache.org/docs/2.2/vhosts/
--http://wiki.apache.org/httpd/ExampleVhosts
--httpd.confファイルに2つの変更。1つはvirtual host機能を使ってnon-SSLとSSLの
2つのサーバー(named host)を立てること。もう1つはSSL用の構成を作ること。
--virtual host機能は
### Virtual Host Configuration. Two V-H are configured
NameVirtualHost *:80
NameVirtualHost *:443
# Virtual Host #1 Non-SSL host
<VirtualHost *:80>
ServerName pepper.is.sci.toho-u.ac.jp
DocumentRoot "/usr/local/apache2/htdocs"
</VirtualHost>
<VirtualHost *:443>
ServerName pepper.is.sci.toho-u.ac.jp
DocumentRoot "/usr/local/apache2/htdocs-ssl"
SSLEngine On
</VirtualHost>
--SSL用の構成は、全体に
SSLCertificateFile /path/path/path/server.crt
SSLCertificateKeyFile /path/path/path/server.key
--SSLがうまく動くかどうかのアクセスチェック方法として、
http://httpd.apache.org/docs/2.2/ssl/ssl_faq.htmlのConfigurationの項の
「How do I speak HTTPS manually for testing purposes?」が使える。具体的には
port80にtelnetする代わりに
$ openssl s_client -connect localhost:443 -state -debug
GET / HTTP/1.0
でマニュアルアクセスできる。telnetの時と同様に、GET / HTTP/1.0のあとで2回Enterキーを押すこと。
-Fedoraのapacheのconfファイルは、追加分を別ファイルとしてconf.d/ssl.confやconf.d/php.confのように作ることになっている。でも全体構造がわかり難いので
このやり方はやめて(includeを止めて)すべてhttpd.confに書き込む。
-PHP5 (ACSはPHP-4を仮定しているが、12月いっぱいでPHP-4の提供が終わるので、PHP-5を入れてしかしZend-1を使うようにphp.iniを設定して、PHP-4をシミュレートしよう。)~
yum install php にてphp-5.2.4-3をインストール。~
phpinfo();を試してOK
-PHPからldapサーバをアクセスするために、php-ldapモジュールが必要。上記のパッケージだと、--with-ldap=sharedでコンパイルされているため、shared moduleが必要になる。
yum install php-ldapを実行してインストール。OK。~
テストのため、次のページを作って試す。http://www.php.net/manual/ja/ref.ldap.php
<?php
// LDAP の基本シーケンスは、接続、バインド、検索、検索結果の解釈、
// 接続のクローズです。
echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // 有効な LDAP サーバーに違いない!
echo "connect result is " . $ds . "<br />";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // これは "匿名" バインドで、通常は
// 読みこみのみのアクセスとなります。
echo "Bind result is " . $r . "<br />";
echo "Searching for (sn=S*) ...";
// 名前(surname)エントリを検索
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
(localhostはリモートで試す。)
-PostgreSQL(server)もパッケージで導入。yum install postgresql-serverで、postgresql8.2.5-1.fc8とpootgresql-server8.2.5-1を導入。yumで、Fedoraサイトに存在するパッケージを探すには
yum list | grep postgres
などとやるとよい。yumの使い方サマリーはhttp://www.searchman.info/tips/1800.html~
Postgresqlをテストするにはhttp://www.postgresql.org/docs/8.2/static/install-short.html
adduser postgres これはyumでパッケージインストールすれば自動的に作られる
mkdir /usr/local/pgsql/data 今は/var/db/pgsqlを作った
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
-ImageMatickの導入。これもyumで済まそう。yum list | grep ImageMagickとすると
いろいろ出てくるが、ImageMagick.i386とImageMagick-devel.i386だけにしておこう。
yum install ImageMagick-develとすると、dependencyとしてImageMagick本体も入る。
そのほかたくさんdependencyがある。
-なんと、PHPでPEARによるライブラリ導入が必要。PEARとはPHPの(外部)ライブラリを
簡単に導入できる仕組(というか、開発を標準化してみんなが便利なライブラリを作り、
流通させられるようにする仕組かな)。ACSのインストールリストにあがっているものを
PEARで導入する必要がある。たとえばDB, Mail, ...~
まず、pear本体をyum install php-pearで1.6.2-2.fc8をインストール。
--PEARでライブラリをインストール。コマンドラインから
pear install --alldeps <library>
無事完了
-であるが、ここまでしか行かない。~
[[PHP-4にして、完全にやり直し。>ノート/ACS3]]
ページ名: