PHP5.3.3をコンパイルした時のconfigureメモ(mysqlndで)

2010/08/18 06:58
EG

環境:CentOS5.5 x86_64

前回入れた5.3.2をバージョンアップするついでに、MySQLのドライバをmysqlndにしてみた。

・・・というかやる前にベンチとかとっておくんだった。

特に追加で何かいれる必要はなく、各々=mysqlndとするだけ。

./configure \
--prefix=/usr/local/php5.3 \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-apxs2=/usr/local/httpd/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--with-pcre-regex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mcrypt \
--with-curl \
--with-iconv \
--enable-exif \
--enable-sockets \
--without-sqlite \
--with-gd \
--with-openssl \
--with-png-dir=/usr/lib \
--with-jpeg-dir=/usr/lib \
--with-pdo-mysql=mysqlnd \
--with-zlib \
--enable-zip \
--enable-soap=shared \
--enable-calendar \

PHP5.3.2をコンパイルした時のconfigureメモ


MyDNS-NGをいれてみよう

2010/08/09 01:01
EG

前回のエントリで入れたMyDNSは2006年あたりで更新が止まってしまったいたのだが、よくよくみるとMyDNS-NG(next generatiron!?)として最近までアップデートしているバージョンがあるようなのでそちらを入れ直してみる。

パッケージは普通にMyDNSとなっており、configureのオプションもそのままでいけた。

./configure --prefix=/usr/local/mydns --with-mysql-lib=/usr/local/mysql/lib/mysql --with-mysql-include=/usr/local/mysql/include/mysql  --without-pgsql

confを作る

mydns --dump-config > /etc/mydns.conf

テーブルを作る。この辺は前回もやってたので中身を比較、特に変わってなさそう。

--
CREATE TABLE IF NOT EXISTS soa (
  id         INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  origin     CHAR(255) NOT NULL,
  ns         CHAR(255) NOT NULL,
  mbox       CHAR(255) NOT NULL,
  serial     INT UNSIGNED NOT NULL default '1',
  refresh    INT UNSIGNED NOT NULL default '28800',
  retry      INT UNSIGNED NOT NULL default '7200',
  expire     INT UNSIGNED NOT NULL default '604800',
  minimum    INT UNSIGNED NOT NULL default '86400',
  ttl        INT UNSIGNED NOT NULL default '86400',
  UNIQUE KEY (origin)
) Engine=MyISAM;

--
--  Table structure for table 'rr' (resource records)
--
CREATE TABLE IF NOT EXISTS rr (
  id         INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  zone       INT UNSIGNED NOT NULL,
  name       CHAR(64) NOT NULL,
  data       VARBINARY(128) NOT NULL,
  aux        INT UNSIGNED NOT NULL,
  ttl        INT UNSIGNED NOT NULL default '86400',
  type       ENUM('A','AAAA','CNAME','HINFO','MX','NAPTR','NS','PTR','RP','SRV','TXT'),
  UNIQUE KEY rr (zone,name,type,data)
) Engine=MyISAM;

しかしなんでMyISAM。

一応これ

mydns --create-tables

でSQLが標準出力されるので流し込めばよい。

次、ユーザーの作成も前回やってるので割愛。

confをいじる。

→とりあえずDB接続を設定。なんかエンジンタイプの指定があったのでinnoDBとかにしてもいいのかも。

シンボリックリンクを作成

/usr/local/mydns/bin/mydns-conf
/usr/local/mydns/bin/mydnscheck
/usr/local/mydns/bin/mydnsexport
/usr/local/mydns/bin/mydnsimport
/usr/local/mydns/bin/mydnsptrconvert

MyDNSをいれてみよう

2010/07/29 07:03
EG

mysqlのprefixに合わせてとりあえずそれらしくconfigure

 ./configure --prefix=/usr/local/mydns --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include

だめだった

checking for MySQL support... no
checking for PostgreSQL support... no
checking which database to use... none
configure: error: No supported database found.  Either MySQL or PostgreSQL is required.

ログをみてるとどうも見てるパスが違うので再指定

./configure --prefix=/usr/local/mydns --with-mysql-lib=/usr/local/mysql/lib/mysql --with-mysql-include=/usr/local/mysql/include/mysql  --without-pgsql

こういうものか。

  ###
  ###  MyDNS 1.1.0 configured.  Using MySQL database.
  ###
  ###  Type "make" to build, then "make install" to install.
  ###

OKOK

後はおきまり

make
make install

  ###
  ###  mydns version 1.1.0 installed!
  ###
  ###  See the file QUICKSTART if you are in a hurry.
  ###  Otherwise, consult the manual (in doc/).
  ###
  ###  The MyDNS server program was installed as
  ###  /usr/local/mydns/sbin/mydns
  ###
  ###  Your configuration file should be installed as
  ###  /etc/mydns.conf
  ###  (You can auto-create it with "make conf")
  ###

言われたとおり

make conf

してみるとconfが作成される


webからsudoとか

2010/07/16 16:00
EG

Webからボタン叩かせてrsyncのコマンドを叩くにあたり、権限的な問題でsudoにする必要があったのだけどはまったのでメモ。

/etc/sudoers

Defaults    requiretty

が有効になってると端末経由じゃないアクセスでsudo出来ない=httpの実行ユーザーから叩けないので、コメントアウトする必要あり。


メール受信関連

2010/06/18 12:02
EG

メール受信時にプログラムへのパイプので何がしかのスクリプトを実行した場合のユーザー権限の話。

あとでためします。

通常、このコマンドはnobodyなどのユーザで実行されるが、権限の関係で別ユーザに実行させたい場合がある。この場合は、aliasesへの記述を
foobar: "|/path/to/command"
から
foobar :include:/path/to/file
に変更し、/path/to/fileに
"|/path/to/command"
と記述する。この/path/to/fileの所有者により/path/to/commandが実行される。

ねたもと

http://minken.net/mt/archives/000436.html