で、大はまり。
CentOS5(RHEL5の代替として)で検証してたのだけど、Cactiが動かなくてハマリました。
SELinuxって何?って人はWikiとか、itproとか見てください。私が書くより嘘が無いと思いますので。
OSインストール時のSELinuxの設定については「警告のみ」を選択しておいた。パッケージは全部入れ。
ぶっちゃけ、Cacti動かすにはhttpdとMySQLと開発ツール一式がインストールされていればOKなので、絞ろうかとも思ったのですが今回は正式な納品物では無いというのもあって、ちょっと手を抜きました。
ま、そんな事もあって、あっさり動くだろうとタカをくくってたんですが・・・。
「MySQL」と一致するもの
MovableType 4.261新規インストール時にダイナミックパブリッシングでブログが表示されないというトラブルがあるようだ。
条件
MT, MTOS 4.26xを新規インストールした
データベースにMySQLを使用している
ダイナミックパブリシングを利用している
症状
???????というページが表示される・・・。
解決方法
mt-config.cgiに
条件
MT, MTOS 4.26xを新規インストールした
データベースにMySQLを使用している
ダイナミックパブリシングを利用している
症状
???????というページが表示される・・・。
解決方法
mt-config.cgiに
SQLSetNames 1
と入力して、テンプレート再構築を行う。
ちょっと挫折中。
Solaris10(x86) + Apache + PHP + MySQLでサイト構築しようと企んでたんだけど。
OpenSSL0.9.8k → 何もせず64ビット版に。
libxml2, libjpeg(jpeg6a), libpng, gd → 問題なく64ビット版に。
MySQL5.1 → 問題なく64ビット版に。
Apache2.2 → 問題なく64ビット版に。
PHP5 →問題なく64ビット版に。
いえ、問題ありました。
apxs2を組み込もうとすると、ldがapxsがelf32だというエラーになる。
apxsを調べてみると、Perlのスクリプト。(file apxs)
という事で、Solaris10標準のperlを調べてみると、見事に32ビット版。
(ldが吐くエラーはライブラリに対して・・・のはずなんだけど・・・という疑問はあるが、思い当たる部分はperlのみ・・・だから)
Perlも入れ直す必要があるな → 64ビットでコンパイル出来ず。
・・・
見事にハマリです。
妥協としては全て32ビットバイナリとしてコンパイルする事か、
全てパッケージ(32ビット版が、OS標準で含まれているので)でインストールする事。
・・・ちょっとイヤだが。
追記:
上記、かなり勘違い。
ライブラリ検索パスの話とか、各種ライブラリ(xml2, jpeg, png, gd)の話とかが重なっていただけ。
結論としては、zlibを--sharedオプション付きでコンパイルして解決。
せっかくなので手順を記載(備忘録としてメモ)します。
方針として、インストールは
32ビットバイナリ → /usr/local/bin
32ビットライブラリ → /usr/local/lib
64ビットバイナリ → /usr/local/bin
64ビットライブラリ → /usr/local/lib/64
に行うものとします。
前提としてOpenSSLの最新版が
32ビット版 → /usr/local/ssl
64ビット版 → /usr/local/ssl64
にインストールされているものとします。
Solaris10は全体ディストリビューション異常でインストールされ、コマンドサーチパスは
最低限 /usr/local/bin、/usr/bin、/usr/ccs/bin、 /usr/sfw/binが設定されていると仮定。
64ビットのライブラリ検索パスをcrleで設定
Apache2.2のコンパイル&インストール
zlibをコンパイル&インストール
libxml2をコンパイル&インストール
libjpeg(jpeg-6b)をコンパイル&インストール
libpngをコンパイル&インストール
GDをコンパイル&インストール
PHP-5.2をコンパイル&インストール
Solaris10(x86) + Apache + PHP + MySQLでサイト構築しようと企んでたんだけど。
OpenSSL0.9.8k → 何もせず64ビット版に。
libxml2, libjpeg(jpeg6a), libpng, gd → 問題なく64ビット版に。
MySQL5.1 → 問題なく64ビット版に。
Apache2.2 → 問題なく64ビット版に。
PHP5 →
いえ、問題ありました。
apxsを調べてみると、Perlのスクリプト。(file apxs)
という事で、Solaris10標準のperlを調べてみると、見事に32ビット版。
(ldが吐くエラーはライブラリに対して・・・のはずなんだけど・・・という疑問はあるが、思い当たる部分はperlのみ・・・だから)
Perlも入れ直す必要があるな → 64ビットでコンパイル出来ず。
・・・
見事にハマリです。
妥協としては全て32ビットバイナリとしてコンパイルする事か、
全てパッケージ(32ビット版が、OS標準で含まれているので)でインストールする事。
・・・ちょっとイヤだが。
追記:
上記、かなり勘違い。
ライブラリ検索パスの話とか、各種ライブラリ(xml2, jpeg, png, gd)の話とかが重なっていただけ。
結論としては、zlibを--sharedオプション付きでコンパイルして解決。
せっかくなので手順を記載(備忘録としてメモ)します。
方針として、インストールは
32ビットバイナリ → /usr/local/bin
32ビットライブラリ → /usr/local/lib
64ビットバイナリ → /usr/local/bin
64ビットライブラリ → /usr/local/lib/64
に行うものとします。
前提としてOpenSSLの最新版が
32ビット版 → /usr/local/ssl
64ビット版 → /usr/local/ssl64
にインストールされているものとします。
Solaris10は全体ディストリビューション異常でインストールされ、コマンドサーチパスは
最低限 /usr/local/bin、/usr/bin、/usr/ccs/bin、 /usr/sfw/binが設定されていると仮定。
64ビットのライブラリ検索パスをcrleで設定
# crle -64 -c /var/ld/64/ld.config \
-l /usr/local/httpd/lib:/usr/local/lib/64:/usr/sfw/lib/64:/usr/lib/64:/lib/64
Apache2.2のコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure \
--prefix=/usr/local/httpd64 \
--enable-shared=all \
--enable-module=so \
--enable-dav=yes \
--enable-ssl \
--with-sslport=443 \
--with-ssl=/usr/local/ssl64 \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-proxy \
--enable-proxy-balancer \
--enable-rewrite
$ gmake
# gmake install
zlibをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure --shared \
--prefix=/usr/local \
--libdir=/usr/local/lib/64
$ gmake
# gmake install
libxml2をコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure \
--libdir=/usr/local/lib/64 \
--with-zlib
$ gmake
# gmake install
libjpeg(jpeg-6b)をコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure \
--libdir=/usr/local/lib/64
$ gmake
# gmake install
libpngをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure \
--libdir=/usr/local/lib/64 \
$ gmake
# gmake install
GDをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure \
--libdir=/usr/local/lib/64 \
$ gmake
# gmake install
PHP-5.2をコンパイル&インストール
$ LDFLAGS="-m64 -O3" \
CFLAGS="-m64 -O3" \
CPPFLAGS="-m64 -O3" \
CXXFLAGS="-m64 -O3" \
./configure --libdir=/usr/local/lib/64 \
--with-zlib --with-gd \
--enable-mbregex --enable-mbstring \
--with-mysql=/usr/local/mysql \
--with-xmlrpc \
--with-apxs2=/usr/local/httpd/bin/apxs
$ gmake
# gmake install
Oracle が Sun Microsystemsを買収するようだ。
個人的にはMySQLがBarkley DBのように飼い殺しにされないかが気になる・・・。今現在だとMy SQLがOracleの敵になる事は無いのですが。
イメージ的にOracleとオープンソースってのがピンと来ないんだよなぁ。
ま、ビル・ジョイの居なくなったSunには昔のような求心力というか魅力が無くなったように思ってますから、行き着く所まで行ったかという感もありますが。
個人的にはMySQLがBarkley DBのように飼い殺しにされないかが気になる・・・。今現在だとMy SQLがOracleの敵になる事は無いのですが。
イメージ的にOracleとオープンソースってのがピンと来ないんだよなぁ。
ま、ビル・ジョイの居なくなったSunには昔のような求心力というか魅力が無くなったように思ってますから、行き着く所まで行ったかという感もありますが。
最大接続数を確認する
最大接続数を変更する
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 100 |
+-----------------+-------+
1 row in set (0.00 sec)
最大接続数を変更する
mysql> set global max_connections = 200;
Query OK, 0 rows affected (0.00 sec)