What Would Jesus Do?

<   2012年 02月 ( 7 )   > この月の画像一覧




apache起動ユーザ変更時にグループ設定を変更する

apacheのデフォルト起動ユーザは、
user apache
group apache
となっていますが、
user www
group www
などに変更する場合があります。

上記の設定を変更した場合、apacheグループに設定されている、
ディレクトリ・フォルダの権限を変更する必要があります。

権限は下記コマンドで確認ができます。
find / -group apache

実行結果は下記のような感じとなります。
/var/www/html
/var/cache/mod_proxy
/var/lib/dav
/var/lib/php/session
/usr/sbin/suexec
/var/run/httpd

これらのグループをwwwに変更することで、
ワーニングなどのエラーを解消できます。

この設定変更は結構忘れがちですね。
[PR]



by cimacoppi | 2012-02-26 16:12 | Apache

apacheをSourceからインストール

今更感があるのですが、今日はapacheのSourceからの、
インストール方法を書きます。
最近はyumによるインストールが増えましたが、
稀にSourceからのインストールが求められる時があります。

ダウンロードはここからできます。

コンパイルオプションはこんな感じで行いました。

./configure \
--prefix=/usr/local/a20120222-1-prefork \
--with-mpm=prefork \
--enable-so \
--enable-rewrite \
--enable-ssl \
--disable-userdir \
--with-ssl=/usr/include/openssl

make
make install


/usr/local/a20120222-1-preforkが作成できるので、
apache2というシンボリックファイルを作ると便利です。

ln -s /usr/local/a20120222-1-prefork /usr/local/apache2

なぜprefixでapache2を指定しないかと言うと、
apacheをアップデートする場合、
新たに
a20120322-1-prefork
を作成して、現行のhtdocs confを、
a20120322-1-prefork
にコピーして
ln -s /usr/local/a20120322-1-prefork /usr/local/apache2
のシンボリックリンクを作成すれば簡単に、
アップデートができるからです。

後は、apachectl httpd.confの、
a20120222-1-prefork

apache2
に変更して完了です。
[PR]



by cimacoppi | 2012-02-22 14:32 | Apache

mod_perlをインストール

前回perlのインストールが完了しましたので、
今回はmod_perlのインストールを行います。

mod_perlはここから、
ダウンロード可能です。
※前提条件としてapache2が/usr/local/apache2にインストールされているとします。

インストールは下記のようになります。
wget http://perl.apache.org/dist/mod_perl-2.0.5.tar.gz

perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
make test
make install

perlのインストール時に
-de -Accflags='-fPIC'
のオプションを付けないと、make時に下記のようなエラーとなります。

/usr/bin/ld: /usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[1]: *** [mod_perl.so] エラー 1

インストールが完了すると
/usr/local/apache2/modules/
にmod_perl.soが生成されます。

httpd.confには下記を追加します。

LoadModule perl_module modules/mod_perl.so

Files *.cgi
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
/Files

mod_perlの確認としては、
cgi-bin以下の
printenvをprintenv.cgiに変更して、
ブラウザよりアクセスすると

SERVER_SOFTWARE="Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_perl/2.0.5 Perl/v5.8.9"

と表示され、mod_perl とperlの確認ができます。
[PR]



by cimacoppi | 2012-02-20 14:16 | Linux

perl5.8系をインストール

CentOS6系の場合、Perlのバージョンは5.10系がインストールされています。
5.8系をインストールする場合はソースからコンパイルする必要があります。

ソースはここからダウンロード可能です。
5.8系の場合は

rsync -avz rsync://perl5.git.perl.org/APC/perl-5.8.x .

となります。

configureは下記のようになります。

./Configure -de -Accflags='-fPIC' -Dprefix=/usr/local/perl-5.8

今回はその後、mod_perlのインストールを考えているので、
オプションで
-de -Accflags='-fPIC'
を追加します。このオプションを付けないと、mod_perlのmake時に
エラーが発生します。

その後
make test
make install
で完了です。

/usr/local/perl-5.8/bin/perl
にインストールされるので、後はシンボリックリンクで
ln -s /usr/local/perl-5.8/bin/perl /usr/local/bin/perl

と設定しとけばよいですね。
[PR]



by cimacoppi | 2012-02-20 14:06 | Linux

s3cmd実行時にエラー発生

s3cmdを利用して、s3バケットへのファイルの、
アップロード・ダウンロードが可能となります。

しかし、s3cmd実行時に下記の用なエラーに遭遇しました。

The difference between the
request time and the current time is too large.

原因を調査したことろ、s3cmdコマンドを実行している、
Linuxサーバの時刻設定に若干のずれがありました。

Linuxの時刻設定を行ったところ、
正常にアップロードができました。

NTPはやはり入れたほうがいいかもですね。
[PR]



by cimacoppi | 2012-02-13 15:09 | AWS

CentOS6でhttpdのログローテーションンの設定を行う

以前CentOS6でcron.dailyの設定方法を書きましたが、
今回は、httpdでdaily・圧縮ログローテーションン設定方法を書きます。

/etc/logrotate.confの設定は
daily
create
dateext
compress

に設定しています。

/etc/logrotate.d/httpd
はデフォルト設定となります。

/var/log/httpd/*log /var/log/httpd/*/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

これで、ログローテーションを行ったのですが、
うまく圧縮ができませんでした。
調べたところ
delaycompress コマンドを設定していたため、
圧縮ができてませんでした。

と言うことで、設定を下記のように変更しました。

/var/log/httpd/*log {
daily
missingok
ifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

これで、ローテーション後に圧縮ができました。
[PR]



by cimacoppi | 2012-02-02 18:57 | Linux

MySQL5.5で文字コードUTF-8を設定

MySQLの設定ファイルは、
ご承知の通り、/etc/my.cnfとなります。

5.5以前の場合は
UTF-8の設定時に
[mysqld]
default-character-set=utf8
character-set-server = utf8

をしていたと思います。

5.5の場合上記を設定してrestartをすると
[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
のエラーで起動ができません。

5.5の場合は
[mysqld]
character-set-server = utf8
の設定のみでOKとなります。

起動ができない時などはログを確認すれば、
原因がわかりますね
[PR]



by cimacoppi | 2012-02-01 18:21 | MySQL

クラウド・ノイズ
by cimacoppi
プロフィールを見る
画像一覧

検索

最新の記事

mod_line_editを..
at 2012-12-14 22:25
nagiosでOracleの..
at 2012-12-13 12:25
s3cmdでmultipar..
at 2012-12-06 15:59
tcpservr をssl化する
at 2012-03-10 21:50
telnetコマンドでpop..
at 2012-03-06 15:59

最新のトラックバック

ファン

ブログジャンル

画像一覧