[[
linuxの小技
]]
Fool For the City
現在位置:
なみかわみやこの技術メモwikiです。
»
linux
»
linuxの小技
文書の表示
以前のリビジョン
最近の変更
索引
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== linuxの小技 ====== かゆいところに届きそうで届かない場合につかえそうな小技をまとめてみようかと思う。\\ 役に立つかたたないかは不明(w \\ ===== hosts.allowやdenyでDDNSドメインを制御する ===== ipから逆引きを行う関係でDDNSのドメインをそのままhosts.allowやhosts.denyに突っ込んでもちゃんと動いてくれない。\\ 当たり前だけど(^^;\\ 簡単な方法で正引きだけで制御する方法がないかとGoogle先生で調べると以下のサイトがHITした。\\ \\ http://d.hatena.ne.jp/kazuhooku/20080502/1209704193\\ \\ IPが書かれたファイルを読むことが可能なんだね。\\ このサイトではCRONでファイルに落としてるけど、『直接シェルスクリプト実行したらいいんじゃないの?』という神の声が聞こえてきたので試してみた。\\ \\ まずIP取得用のスクリプトを用意する。(/etc/ddns_ip.shとでもする)\\ <code> !#/bin/sh /usr/bin/host ドメイン名 | awk '/has address/ {print $4}' </code> 保存して終了\\ パーミッションを適切に設定して実行できるようにしといてね\\ \\ SSHの制限を行うのであれば以下のようにhosts.allowとdenyを編集します\\ <code> ・hosts.allow SSHD : /etc/ddns_ip.sh ・hosts.deny SSHD : ALL </code> 指定したドメインから正常に接続が出来るか確認します。\\ 接続出来なかった場合の事を考えて設定した時のSSHセッションは切らずに残しておくのが吉(w\\ ===== PHP4とPHP5を同一サーバ上でモジュールとして設定する方法 ===== 環境としてはPHP5はyumでパッケージ管理しようと思う。\\ PHP4はサポートが切れてるのでソースでインストールしてバージョンアップは基本的にしない方向で構築をする。\\ \\ * PHP5のインストール <code> # yum -y install php </code> // * PHP4のインストール ソースファイルのダウンロード <code> # wget http://jp2.php.net/get/php-4.4.9.tar.gz/from/jp.php.net/mirror # tar zxvf php-4.4.9.tar.gz # cd php-4.4.9 </code> このままインストールするとMAGIC TYPEがPHP5とかぶってしまってApacheが正常に起動しなくなるので以下のファイルを修正する <code> # vi sapi/apache2handler/sapi_apache2.c 以下の設定行をみつけて修正をします。 #define PHP_MAGIC_TYPE "application/x-httpd-php" ↓ #define PHP_MAGIC_TYPE "application/x-httpd-php4" 変更が完了したら保存して終了 </code> で・・・環境が整っていればこのままコンパイルしてインストールすればいいのだけど最低限の機能は必要なので以下をインストールしておく <code> # yum -y install httpd-devel # yum -y install libjpeg-devel # yum -y install libpng-devel # yum -y install freetype-devel # yum -y install postgresql-devel # yum -y install mysql-devel </code> このくらいインストールしとけば問題ないかな?\\ \\ PHP4をコンパイル、インストールしよう! <code> # ./configure \ --prefix=/usr/local/lib/php-4.4.9 \ --with-apxs2=/usr/sbin/apxs \ --enable-mbstring \ --with-pear \ --with-openssl \ --with-gd \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --enable-pcntl \ --with-mysql \ --with-pdo-mysql \ --with-pgsql \ --with-pdo-pgsql \ --enable-ftp \ --enable-sockets ※コンフィグオプションはそれぞれの環境にあわせて修正する # make 本当はテストした方が良いんだけどたぶん大丈夫なのでインストールしちゃう(w # make install </code> * PHP4の設定 <code> # cp php.ini-recommended /usr/local/lib/php-4.4.9/lib/php/php.ini # vi /usr/local/lib/php-4.4.9/lib/php/php.ini 以下の設定行をみつけてコメントアウトを外して修正 ;include_path = ".:/php/includes" ↓ include_path = ".:/usr/local/lib/php-4.4.9/lib/php" aliasを設定しておこう # vi /etc/profile 最終行に以下を追加 alias php4=/usr/local/lib/php-4.4.9/bin/php alias pear4=/usr/local/lib/php-4.4.9/bin/pear 追加し終わったら保存して終了 設定を反映させるのに以下のコマンドを実行 # source /etc/profile </code> バージョンの確認をしてみよう\\ php -v\\ PHP5のバージョンが表示されましたか??\\ \\ php4 -v\\ PHP4のバージョンが表示されましたか??\\ \\ 最後にapacheでどう振り分けるかの設定をする\\ 基本はPHP5を使い、必要に応じてPHP4に変更する事にするためには\\ <code> AddType application/x-httpd-php4 .php </code> を必要に応じたconfファイル内で設定すればおっけ~\\ .htaccessで設定も可能だよ\\ ===== 特定ディレクトリのファイルを更新日付で消す方法 ===== なんちゃってプログラマがPHPでプログラム中にSESSIONを利用したのだが、/var/lib/php/session/(php.iniで指定可能)に保存されるsess_から始まるセッションファイルが削除されなくてどうしたものかと考えた挙句にCRONで一定時間毎に消すしか思いつきませんでした(^^;\\ \\ すぐに忘れると思うのでメモ\\ find /var/lib/php/session/ -name "sess_*" -exec rm {} \;
linux/memo.1232679622.txt.gz · 最終更新: 2009/01/23 03:00 by miyako
文書の表示
以前のリビジョン
文書の先頭へ