【PR】

  

Posted by TI-DA at

2006年06月07日

ftpが異常に遅い

ローカルなLANで使用しているftpサーバー vine linux3.2 にプレインストールの
proftpd に windows からFFFTPで接続すると、異様に遅い。
webで調べて、
/etc/proftpd.confに

UseReverseDNS off
IdentLookups off

を追加して、すぐ接続できるようになりました。
ドメイン名はなし、IPアドレスでの接続です。  


Posted by ムラチャン at 18:12Comments(0)

2006年06月03日

linuxにxoopsをインストール

xoopsをvine linux3.2にインストールします。
apache, php, MySQLがインストール済です。
準備として、/etc/php.iniを
register_globals = On
に書き換えます。
設定を反映させるためapacheを再起動
#/etc/rc.d/init.d/httpd restart

公式サイトからxoops最新版2.0.14をDLします。
http://jp.xoops.org/
解凍します。
tar xzvf xoops-2.0.14-JP.tar.gz
cd xoops-2.0.14-JP
できた html/ディレクトリをブラウザで見えるように ~/pulic_html/に置きます。
cp -R html ~/public_html/xoops
cd ~/public_html/xoops
以下のファイルのパーミッションを変更します。
chmod 777 uploads/ cache/ templates_c/
chmod 666 mainfile.php

そして、ブラウザでhttp://localhost/~user名/xoops/を開くと
設定画面が現れます。
インストーラーメニューにしたがって、日本語を設定。
DBユーザー名にrootとrootパスワード、作成するDB名はxoopsとして
あとはデフォルトで設定すると、新DB xoopsが作られます。
管理者名とメールアドレス、パスワードを設定して完了です。

管理者で最初にログインして使えるようになります。
赤でinstall/ を削除し、mainfile.phpを書き込み不可にするように注意書きがあるので、
rm -r install/
chmod 644 mainfile.php
します。

しかし、このやりかた(自マシンへインストール)ではlocalhostの設定になるようで、
設定を変えないと他のマシンからはログインできません。

他のマシン(windowsクライアント)からブラウザで、
http://IPまたはドメイン/~ユーザ/xoops/
を開いて設定すれば、IPまたはドメイン名で設定されるようです。
----
さて、サイトのデザインをするのですが、ここからどうしましょう?
webと書籍で勉強しましょう。  


Posted by ムラチャン at 15:20Comments(0)

2006年06月02日

phpMyAdminのインストール

phpMyAdminをvine linux3.2にインストールしました。

http://www.phpmyadmin.net/home_page/downloads.php から
最新版 phpMyAdmin-2.8.1.tar.bz2 をDLし、
tar jxvf phpMyAdmin-2.8.1.tar.bz2 で展開します。

できたディレクトリ phpMyAdmin-2.8.1 をDocumentRoot か UserDirに移動します。

cd (自分のホーム下のpublic_htmlをUserDirに設定している場合)
mv phpMyAdmin-2.8.1 public_html/phpMyAdmin
cd pubic_html/phpMyAdmin
の Documentation.txt(.html) を見ると
自分で設定ファイルを作るようです。

mkdir config
chmod o+rw config
として、ブラウザで
http://localhost/~ユーザ名/phpMyAdmin/scripts/setup.php
で、メニューにしたがって Add
サーバー localhost MySQLに設定した管理者パスワード等を入力して
Save すると、config/config.inc.php ができています。

/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'xxxxxxxx';

/* End of servers configuration */

これをphpAdminルートディレクトリに置いて
cp config/config.inc.php .

作業したディレクトリは削除します。
rm -r config/

そして、ブラウザで、
http://localhost/~ユーザ名/phpMyAdmin/
で、phpMyAdminが起動します。

ローカルクライアントからは
http://IPアドレス/~ユーザ名/phpMyAdmin/
で起動します。

  


Posted by ムラチャン at 18:47Comments(0)

2006年06月01日

Xoops

Xoopsを windowsに入れてみました。
http://jp.xoops.org/ からDL。

Xoopsの前に、必要条件として、Apache, php, MySQLがインストールされていること。
Apache2, php5が入っているところに、MySQL5を下記からDL、インストール。
http://download.softagency.net/MySQL/downloads/index.html

Xoopsインストール時、DB書き込みで失敗しました。
php5は推奨されていないので、php4にしてリトライしてみます。
(MySQLも4が良いようです)  


Posted by ムラチャン at 13:49Comments(0)

2006年06月01日

pear インストール

MySQLとpostgreSQL両方に対応するには、DBアクセスを共通化したいので、
調べると、pear DBクラスが良さそうです。
http://dozo.matrix.jp/pear/index.php/PEAR/DB.html
http://www.dokokano.com/php/php_pear_db.html

pear(php Extension and Application Repositry)(ぺあ)は、php の拡張ライブラリです。
http://d.hatena.ne.jp/keyword/PEAR

pearは、php4.3.0以降で最初からインストール済みで問題なく使えます。
しかし、php-4.4.2をソースからインストールしたら、pearが動かない。
どうもパッケージに不具合があるようです。
http://ns1.php.gr.jp/pipermail/php-users/2006-March/029247.html
http://ns1.php.gr.jp/pipermail/php-users/2006-March/029265.html

http://dozo.matrix.jp/pear/index.php/PEAR.html を参考に
# lynx -source http://go-pear.org/ | php

その前にlynks(links)が入ってないので入れる。
http://artax.karlin.mff.cuni.cz/~mikulas/links/
から、DLして
tar zxvf links-0.99.tar.gz
cd links-0.99
./configure
make
# make install
 linksでなくても良いのかも知れませんが。
その後
# linx -source http://go-pear.org/ | php
pear list で確認。DBクラスは入っています。
pear help で使い方
pear install パッケージ名 で追加インストールできます。

windowsでは、phpをインストールしたフォルダで、コマンドプロンプトから
C:\php\go-pear.bat
を起動すると、いろいろ聴いてきますが、みんなデフォルトenterでインストールできます。

http://pear.plus-server.net/installation.html  


Posted by ムラチャン at 13:21Comments(0)

2006年05月30日

mySQLをインストール

Xoops, Movable Typeを使うにはMySQLということで、
MySQL4.0.25をvine linux3.2にインストールしました。

#apt-get install MySQL-server MySQL-client MySQL-shared MySQL-devel MySQL-embedded
#apt-get install php-mysql

ログイン
# mysql -u root -p

一般ユーザーを作成
mysql> grant select,insert,delete,update,create,drop,file,
alter,index on *.* to user1@localhost identified by 'pass';

データベースを作成
mysql> create database testdb;

テーブルを作成
mysql> create table testtable(id integer, name varchar(50));

テーブルにデータを挿入
mysql> insert into testtable (id,name) values(1,'MySQL0');
mysql> insert into testtable (id,name) values(2,'MySQL1');

テーブルデータを確認
mysql> select * from testtable;
+------+--------+
| id | name |
+------+--------+
| 1 | MySQL0 |
| 2 | MySQL1 |
+------+--------+
mysql> \q
Bye


参考:
http://www.jitaku-server.net/mt_mysql.html
http://homepage1.nifty.com/yito/anhttpd/faq/mysql.html
http://www.softagency.co.jp/products/lamp-p/download.html  


Posted by ムラチャン at 21:18Comments(0)

2006年05月29日

ntpサーバーの設定

サーバーの時刻が半日進んでいる?
タイムゾーンは日本になっているようですが??
休眠マシンだったので、内部時計がずれているのかも?
DBサーバーのログやタイムスタンプが合わないのは良くないので、
対処として、NTP(Network Time Protocol)を利用して、サーバーの時刻同期を行います。

まず、vine linux3.2 にntpがインストールされているか調べます。
rpm -qa | grep ntp とすると
ntp-4.2.0-0vl3
が入っています。

googleで、「vine ntp 設定」で検索して、
http://vine.1-max.net/ntp.html
サイトを参考にさせて頂き
/etc/ntp.conf を書き換えます。

#server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
server geo.gen.u-ryukyu.ac.jp
server clock.cc.miyazaki-u.ac.jp
server ntp.jst.mfeed.ad.jp
server ntp.ring.gr.jp

近いサーバーということで、琉球大学さんのntpに同期させてもらいます。

ntpサーバーを起動します。
/etc/rc.d/init.d/ntpd restart
ntpの同期状態を確認します。
# ntpq -p と打つと
ntpq: command not found となります。
どこにあるのかな?と
rpm -ql ntp で、パッケージのファイル一覧を展開してみると、ありました。
# /usr/sbin/ntpq -p で状態確認。
同期がとれるまでしばらく時間がかかるようです。
同期がとれると * がつきます。

同期がとれたら以下の設定を加えてLAN内からの同期を受け付けるようにします。

#server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
server geo.gen.u-ryukyu.ac.jp
server clock.cc.miyazaki-u.ac.jp
server ntp.jst.mfeed.ad.jp
server ntp.ring.gr.jp  


Posted by ムラチャン at 10:06Comments(0)

2006年05月27日

phpPgAdminの導入

postgreSQLの管理ツールとして psql コマンドがありますが、
GUIツールとしては pgAdmin3 とphpPgAdmin があります。
phpPgAdminは、phpで書かれていて webブラウザで動作します。
今回は、これを vine Linux3.2 web+DBサーバー上にインストールしてみます。

ダウンロードはここから。
http://phppgadmin.sourceforge.net/

tarファイルを適当なディレクトリの下に展開します。
tar jxvf /tmp/phpPgAdmin-4.0.1.tar.bz2

展開されたファイルは、ブラウザで見れるように DocumentRootや
UserDirの下に移動します。phpスクリプトなので make等は不要です。

次に設定をします。展開された conf/ の下の config.inc.php をエディタで編集します。
$conf['default_lang'] = 'japanese';
で、日本語を設定します。

これで、ブラウザから phpPgAdmin/index.php のURLを指定すると起動画面が現れ、
DBにログインして、操作することができます。

ところが、DBスーパーユーザの postgres でログインしようとすると失敗します。
これは、phpPgAdminが、pgsql, postgres, root, administratorでログインを拒否
するようになっているためのようです。運用時にはセキュアですが、
開発時には不便なので、config.inc.php の設定を変更します。
$conf['extra_login_security'] = false;

これで、postgresユーザーからログインできるようになりました。

------
次は、クライアント上にインストールして、リモートでDB操作できるように
してみます。
クライアント linux 上に同様にphpPgAdminをインストールして、
config.inc.php にリモートサーバーの設定をします。

$conf['servers'][1]['desc'] = 'postgreSQL server on vine';
$conf['servers'][1]['host'] = '192.168.1.xxx';
$conf['servers'][1]['port'] = 5432;
$conf['servers'][1]['defaultdb'] = 'template1';
$conf['servers'][1]['pg_dump_path'] = '/usr/bin/pg_dump';
$conf['servers'][1]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';
$conf['servers'][1]['slony_support'] = false;
$conf['servers'][1]['slony_sql'] = '/usr/share/pgsql';

そして、サーバー側で postgresql.conf に、
tcpip_socket = true

pg_hba.conf で、LANからの接続を許可します。
host all all 192.168.1.0 255.255.255.0 true

設定を変更したので、postgreSQLを再起動
# /etc/rc.d/init.d/postgresql restart
これで、クライアントから接続するDBサーバーを選択できます。

参考:
http://itpro.nikkeibp.co.jp/members/SI/oss/20031017/1/
http://fumika.jp/nikki/2004/05/phppgadmin  


Posted by ムラチャン at 11:12Comments(0)

2006年05月24日

phpリモート開発環境

とりあえずサーバー側に、apache + postgreSQL + php をインストールしたので、
クライアント側でプログラミング、デバッグができるようにします。

サーバー側 vine linux-3.2

openssh-3.9 がインストール済み
proftpd-1.2.10 インストール済み

ユーザー登録し、各ユーザーが http://ホストアドレス/~ユーザ名/ で、
.php .cgi 実行できるように httpd.conf を設定。


windowsクライアント側 windows98SE

teraterm をインストールし、サーバー 192.168.1.100 に ssh でログイン成功。
ffftp をインストールし、ファイル転送成功。

teraterm でリモート接続し、vi でソース作成し、ブラウザで確認。
または、
win側の秀丸 or terapad でソース作成、ffftp or samba でファイル転送し、ブラウザで確認。
という手段で開発可能になりました。

もうすこし良い方法はないか?とwebで探して、
phpエディタというフリーソフトをDLしてみました。
http://fol.axisz.jp/php/phpeditor.html

色分け、インデント、プロジェクト管理でき、言語マニュアルもついていて good です。

linuxクライアント側
lftp, mozilla, emacs でとりあえず。
emacs には php-mode を入れてみる。
http://sourceforge.net/projects/php-mode/
すると、色分けと補間、説明とタグジャンプができるようになります。他にも機能有りそう?

------

統合開発環境もいろあるようなので、導入を検討してみると良いかと思います。

・phpEclips java開発環境のEclips PHP版?
・ZendStudio 評判良い、体験版あるかも?
・VisualStudio.NET の VS.PHP も良いらしい。フリー版有り?

参考サイト:
compus.net - php入門講座
http://compus.net/modules/tinycontent/index.php?id=3

phpどうやって開発してる?
http://p0t.jp/mt/archives/2006/01/php_17.html

PHP統合開発環境スレ
http://pc8.2ch.net/test/read.cgi/php/1123912762/l50  


Posted by ムラチャン at 15:39Comments(2)

2006年05月24日

sambaの設定

Windows とのファイル共有をするために、 vine linux3.2 での samba-2.2.11の設定
をしました。

プライベートIPアドレス 192.168.1.100のポート901で管理画面 swat を起動。
ブラウザで http://192.168.1.100:901/
rootで入る

共有ディレクトリを  /home/public/ に設定。

設定ファイル:
/opt/samba/lib/smb.conf

デーモンの起動:
/etc/rc.d/rc.localで
smbd
nmbd
を起動

これで、windowsのエクスプローラーから、
\\192.168.1.100\public
でフォルダの読み書き可能になりました。  


Posted by ムラチャン at 11:44Comments(0)

2006年05月22日

apache postgreSQL php

開発環境として事務所内に、linux+apache+postgreSQL+phpの webDB サーバーを構築
しました。以下はそのメモ。

Vine linux 3.2 をインストール
vineは日本人が開発したデストリビューションで日本語環境が評判良い様です。
ネットワークインストール。フルパッケージでデフォルト設定。
apache-1.3.33 が始めから入っている。

まずは、他のマシンからアクセスするために、
/etc/sysconfig/network-scripts/ifcfg-eth0 を書き換えて、
プライベートip 192.168.1.100 を割り当てる。

apache の設定
/etc/httpd/conf/httpd.conf

apache再起動
/etc/rc.d/init.d/httpd restart

php-4.4.2をインストール
設定ファイル
/etc/php.ini
extension=pgsql.so を追加
マルチバイトとエンコード関係を修正

apt-get install php-apache

postgresql-7.4.10 インストール

postgresqlのスーパーユーザーを登録

# groupadd postgres
# adduser -g postgres postgres
# passwd postgres でパスワード設定

postgresqlのサーバーもインストールするらしい。
# apt-get install postgresql-server
再起動
# /etc/rc.d/init.d/postgresql start

設定
/var/lib/pgsql/data/postgresql.conf を修正
tcpip_socket = true

/var/lib/pgsql/data/pg_hba.conf を修正
host all 127.0.0.1 255.255.255.255 trust

再起動
# /etc/rc.d/init.d/postgresql restart
#su - postgres

DBユーザー登録
createuser apache

DB作成
createdb testdb

psqlコマンドでDB作成とデータ登録を確認

psql -f testdb.sql testdb

testdb.sqlにSQL文を書いておく。
---------------------------------
CREATE TABLE testTable (
id integer,
name varchar(20)
);
INSERT INTO testTable(id,name) VALUES(1, '太郎');
INSERT INTO testTable(id,name) VALUES(2, '花子');
INSERT INTO testTable(id,name) VALUES(3, 'john');
--------------------------

psql -n testdb
select * from testtable;
で、テーブルにデータが入っていることを確認。

\q で終了。

webからアクセスできるように apache ユーザーに許可をあたえる。
psql testdb
grant all on testtable to apache;

phpテストプログラム作成
~public_html/testdb.php
-------------------
<html>
<body>
<table border="1">
<tr><th>ID</th><th>名前</th></tr>
<?php
$conn = pg_connect("dbname=testdb"); // DB接続
$res = pg_query($conn, "SELECT * FROM testtable"); // SQLクエリ
$count = 0;
while($data = pg_fetch_array($res, $count)){ // 結果を1行ずつなくなるまで
print("<tr><td>".$data["id"]."</td><td>".$data["name"]."
</td></tr>\n");
$count++;
}
?>
</table>
</body>
</html>
---------------------
これをブラウザのurl http://localhost/~user名/testdb.php 指定で動けばOK。

ところが・・・web からうまくDBにアクセスできなくて、
いろいろ弄ってもよくわからないので、

rpm -e
で phpをアンインストールして再び、
apt-get install php
apt-get install php-apache
apt-get install php-pgsql
したところOK。

設定を間違えたか?
依存関係やらで phpを最後にインストールしたほうがよかったかも?
そういえば、一般ユーザーでpostgresqlをインストールして、後から postgres
ユーザーを登録したのもよくなかったかも??

とりあえず、めでたし!  


Posted by ムラチャン at 18:03Comments(0)