10月 15

Apache インストール

By ststyle Apache, Install コメントは受け付けていません。

1] apache の取得

apache よりダウンロード

2] apache 展開&コンパイル

/usr/local/src/下に配置

※SSLを組み込む場合は事前にOpenSSLをインストールし、 configure オプションに

–with-ssl=../openssl-X.X.XX/ \

–enable-shared=ssl

を加える

今回はロードバランサ(Pound)側にてSSLラッパするのでOpenSSLのインストールは行わない


$su -
cd /usr/local/src/
tar -zxvf httpd-2.2.10.tar.gz
cd httpd-2.2.10/

./configure \
--prefix=/usr/local/apache \
--enable-rewrite=shared \
--enable-headers \
--enable-ssl \
--enable-proxy \
--enable-proxy-balancer \
--enable-so \
--enable-setenvif \
--enable-status
;

make

3] インストール


su -

make install

4] Apacheの起動

Apache 2.0まではSSLとして起動する場合は
下記のコマンドオプションでした。

/usr/local/apache/bin/apachectl startssl

Apache 2.2 からは、この「startssl」というオプションが廃止され、
SSLを起動する場合でも「start」オプションでよくなった。

5] 自動起動スクリプトの作成

サーバブート時に自動でApacheが起動するようにします


su -

vi /etc/rc.d/rc.local

APACHECTL=/usr/local/apache/bin/apachectl
if [ -x $APACHECTL ]; then
echo -n "Starting Apache web server"
$APACHECTL start
echo "."
fi

6] 自動起動の確認

サーバを再起動してみます


shutdown -r now

プロセスコマンドを発行し

下記のようにプロセスが立ち上がっている事を確認します

ps ax

2923 ?        Ss     0:00 /usr/local/apache/bin/httpd -k start
2935 ?        S      0:00 /usr/local/apache/bin/httpd -k start
2936 ?        S      0:00 /usr/local/apache/bin/httpd -k start
2937 ?        S      0:00 /usr/local/apache/bin/httpd -k start
2938 ?        S      0:00 /usr/local/apache/bin/httpd -k start
2939 ?        S      0:00 /usr/local/apache/bin/httpd -k start

あとは実際にブラウザにて確認します

http://{サーバー名orIPアドレス}/
https://{サーバー名orIPアドレス}/

うまくいっていればデフォルトでは

It works!

が表示されるはずです。

Tagged with:
10月 15

cron

By ststyle cron コメントは受け付けていません。

分 時 日 月 曜日

43 23 * * * 23:43に実行
12 05 * * * 05:12に実行
0 17 * * * 17:00に実行
0 17 * * 1 毎週月曜の 17:00に実行
0,10 17 * * 0,2,3 毎週日,火,水曜の 17:00と 17:10に実行
0-10 17 1 * * 毎月 1日の 17:00から17:10まで 1分毎に実行
0 0 1,15 * 1 毎月 1日と 15日と 月曜日の 0:00に実行
42 4 1 * * 毎月 1日の 4:42分に実行
0 21 * * 1-6   月曜日から土曜まで 21:00に実行
0,10,20,30,40,50 * * * * 10分おきに実行
*/10 * * * * 10分おきに実行
* 1 * * * 1:00から 1:59まで 1分おきに実行
0 1 * * * 1:00に実行
0 */1 * * * 毎時 0分に 1時間おきに実行
0 * * * * 毎時 0分に 1時間おきに実行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02に実行
30 5 1,15 * * 1日と 15日の 5:30に実行

レポート出力の設定

MAILTO=”"

Tagged with:
10月 15

PHPをcron(コマンドライン)で実行

By ststyle PHP コメントは受け付けていません。

PHPをcron(コマンドライン)で実行

やり方は2パターンあります。

1]phpスクリプトの行頭にphpプログラムのファイルパスを記述する

#!/usr/bin/php -q
(-q :: Quiet-mode. Suppress HTTP Header output.)

2]phpプログラムにphpスクリプトを引数として渡して実行する

usr/bin/php test.php

PATHが通っていれば

php test.php

ここでは私がいつも行うやり方を備忘録として…

準備

/usr/local/bin/phpだとパスが長いのでちょっとでも短くしたいので

/usr/bin/phpにシンボリックリンクします

まずはリンク先にphpがあるかどうかの確認

</p>

<p style="padding-left: 30px;">su -
cd /usr/bin
find php
find: php: そのようなファイルやディレクトリはありません
<p style="padding-left: 30px;">

※もし既に/usr/bin/phpが存在する場合はrpmなどで
インストール済みの物なのでリネームor削除する

ソースコンパイルでインストールしたPHPで

シンボリックリンクを張る


su -

ln -s /usr/local/bin/php /usr/bin/php

テスト用のtest.phpを作成


#!/usr/bin/php -q
&lt;?php
echo "Hello Test";
?&gt;

実行権限を付与


chmod 700 test.php

#実行してみる
./test.php

→”Hello Test” と表示されればOK!
これをスケジューリングしたい場合には

Cronに登録

(例: 毎日8:00に起動)


crontab -e

00 08 * * * /home/sv01/bash/test.php

引数の受け渡し

PHPをコマンドラインで実行すると、コマンドラインで与えた引数の情報が
$argc、$argvという変数に格納されます。

$argc : 引数の数
$argv : 引数が格納された配列

普通、最低でも引数としてファイル名が指定されているので、

$argc : 1
$argv[0] : ファイル名(パス)

となるはずです。

例えば、
(test.php)

#!/usr/bin/php -q
&lt;?php
for ($i = 0; $i &lt; $argc; $i++) {
echo $i, " : ", $argv[$i], "\n";
}
?&gt;
Tagged with:
preload preload preload