スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

■Serversman CentOS DDNSサービスMyDNSにIPアドレスの通知



#!/usr/bin/php -q
<?php
$ftp = ftp_connect('www.mydns.jp') or die(1);
@ftp_login( $ftp, 'mydnshoge', 'mydnspassword' );
ftp_close( $ftp );
?>

スクリプトの実行間隔指定は、5分置きにしている
*/5 * * * * php /home/hoge/mycron/notice_ip.php

cronのログは/var/log/cronから確認できる

不正アクセスの確認は、
sudo grep invalid /var/log/secure* | less

★ドメインの取得



MyDNSでユーザ登録して、グローバルIPと希望ドメインを登録する。

もう一度、色々組み込んでApacheのビルド、起動

SSLのモジュールや、認証DBを組み込んで、再度Apacheのビルドを行ってみた

./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--enable-ssl \
--with-pcre \
--with-mpm=prefork \
--with-berkeley-db \
2>&1 | tee configure_log.txt

エラー
Cannot use an external APR with the bundled APR-util

./configure --help | grep apr
--with-included-apr Use bundled copies of APR/APR-Util
APRがソース自体にバンドルされているなら、そっちを使えと言う事?らしい

オプションを追加して、再実行
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--enable-ssl \
--with-pcre \
--with-mpm=prefork \
--with-berkeley-db \
--with-included-apr \
2>&1 | tee configure_log.txt

またエラー。
checking for Berkeley DB... not found
configure: error: Berkeley DB not found.
configure failed for srclib/apr-util

必要そうなパッケージを追加
yum search barkley
sudo yum install gdbm-devel db4-devel

もう一度、configure
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--enable-ssl \
--with-pcre \
--with-mpm=prefork \
--with-berkeley-db \
--with-included-apr \
2>&1 | tee configure_log.txt

きれいにする
make clean

make
sudo make install

$ sudo /opt/apache-httpd-2.2.21/bin/apachectl stop
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

警告は出るけど、起動できた。
※上記の警告は、ドメイン名を取得して、/etc/hostsにFQDNを記載すれば、解消します。

Apacheの起動

####################
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--with-mpm=prefork \
2>&1 | tee configure_log.txt
###############################

この後、make; sudo make install;
とやっても、実際にはinstallできません。

############################
undefined reference to `apr_os_uuid_get'
############################
となる。

apr-develパッケージをインストールした後、 --with-included-apr
オプションを追加(./configure --helpでオプションの意味は確認できる)
####################
./configure \
--enable-mods-shared=all \
--prefix=/opt/apache-httpd-2.2.21 \
--with-included-apr \
--with-mpm=prefork \
2>&1 | tee configure_log.txt
###############################

make clean
make
sudo make install

今度は、apacheを起動する。
####################################################
sudo /opt/apache-httpd-2.2.21/bin/apachectl start
####################################################
httpd: apr_sockaddr_info_get() failed for dti-vps-srvXXX
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

失敗したので、ぐぐる
http://codezine.jp/article/detail/5399
"/etc/hosts にlocalhost以外に自分で設定したホスト名が、Apacheの設定ファイルに定義されていない"事が原因らしい
sudo vi /etc/httpd/conf/httpd.conf
ServerName dti-vps-srvxx:80

こんな感じで、hostnameコマンドで確認したhost名を入力する
sudo vi /etc/hosts
127.0.0.1 dti-vps-srvxx localhost.localdomain localhost

もう一度、
####################################################
sudo /opt/apache-httpd-2.2.21/bin/apachectl start
####################################################
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

警告は出るが、一応、起動するみたい。ブラウザからも確認できた。
上記の警告文への対処は後で考える

ソースからApacheのビルド


・ダイナミックモジュール
起動時の設定でどのモジュールを使うか選ぶ

・スタティックモジュール
モジュールが一体化した実行形式のファイルになる

・MPM(Multi Processing Module)
preforkとworkerどちらかのMPMを使う
preforkは1つの接続を1つのプロセスに割り当てる。PHPではpreforkを推奨している。
workerではプロセス内部のスレッドに1つの接続を割り当てる。処理性能はこちらが優れているらしい。

ソースのダウンロードやチェックサムの確認はこの辺から
http://httpd.apache.org/download.cgi


Apache HTTP Server (httpd) 2.2.21 is the best available version
とあるので、2.2.21が一番安定ってことで。

ここから、ApacheのUnix Sourceを取得する
http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.2.21.tar.gz

configureしてみる
#########################
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--with-mpm=prefork \
2>&1 | tee configure_log.txt
#########################

ここで、止まる。
#######################################################
checking for zlib location... not found
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
#######################################################


deflateなしでconfigureしてみると、どうなるか確認する
#########################
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--disable-deflate \
--with-mpm=prefork \
2>&1 | tee configure_log.txt
#########################
いちおう、configureは通るが、もう少し掘り下げて、先ほどのmod_deflateを確認する

#########################
./configure --help | grep zlib
#########################
--with-z=DIR use a specific zlib library
./configure実行時に、外部ソフトウェアをwith引数で指定しないといけないらしい。

zlibをインストールしないといけない様なので、これはパッケージツールでインストールする
#########################
yum search zlib
#########################


============================================================================ Matched: zlib =============================================================================
perl-Archive-Tar.noarch : A module for Perl manipulation of .tar files
iptstate.i386 : A top-like display of IP Tables state table entries
jzlib.i386 : JZlib re-implementation of zlib in pure Java
jzlib-demo.i386 : Examples for jzlib
jzlib-javadoc.i386 : Javadoc for jzlib
perl-Compress-Zlib.i386 : A module providing Perl interfaces to the zlib compression library.
perl-IO-Zlib.noarch : Perl IO:: style interface to Compress::Zlib
zlib.i386 : The zlib compression and decompression library.
zlib-devel.i386 : Header files and libraries for Zlib development.

ぜんぜん分からん。後ろはCPUアーキテクチャで、パッケージ名はピリオドの前になるらしい。
ライブラリを組み込んでコンパイルする際には、ヘッダファイルも必要になるとの事なので、
#########################
sudo yum install zlib zlib-devel
#########################


もう一度、configureしてみる
#########################
./configure \
--prefix=/opt/apache-httpd-2.2.21 \
--enable-mods-shared=all \
--with-mpm=prefork \
2>&1 | tee configure_log.txt
#########################

この後は、
make
sudo make install
で終了。
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。