PHP 配列の値の合計値を求める
配列の値の合計値(和)を求める。
配列の要素ひとつずつ取り出して足して求める
<?php続きを読む
$num_array = array(23,9,45,23);
//配列の要素ひとつずつを取り出して加算していく
$sum = 0;
foreach ($num_array as $value) {
$sum += $value;
}
echo $sum;
?>
PHP 日本語の曜日を取得する
今日の日付から英語の曜日と曜日番号を取得する
<?php
//英語の曜日(エルの小文字)
echo date('l') . '<br>';
//曜日番号
echo date('w');
?>
「出力結果」
Friday
5
曜日番号は、"日~土"を"0~6"までの番号で表す。
続きを読むPHP ファイルの中身を空にする
ftruncate関数を使ってファイルの中身を空にする
<?php
$fp = fopen('test.txt', 'r+');
flock($fp, LOCK_EX);
//2番目の引数のファイルサイズを0にして空にする
ftruncate($fp,0);
flock($fp, LOCK_UN);
fclose($fp);
?>
Postfix 追加したドメインでもメールを扱えるようにする
ドメインmyserver.comで動作中のサーバーに、新ドメインmyserver2.comを割り当てたときに、そのドメインでもメールを扱えるようにしたときのメモです。
ドメインの追加方法はこちら。
Postfixの設定ファイルを編集する
続きを読むBIND ドメインとサブドメインを設定する
BINDで「お名前.com」で取得した独自ドメインとサブドメインを設定したときのメモです。
ドメインの設定
IPアドレスが「192.168.0.23」のサーバーに、ドメイン「myserver.com」でもアクセス出来るようにする。
ネームサーバーとは?
インターネット上でのコンピュータの名前にあたるドメイン名を、住所にあたるIPアドレスと呼ばれる4つの数字の列に変換するコンピュータ。
http://e-words.jp/w/E3838DE383BCE383A0E382B5E383BCE38390.html
個々のネームサーバは自分が管理するネットワークに接続されたコンピュータのドメイン名とIPアドレスの対応表を持っており、外部からの問い合わせに答える。
インターネットには無数のネームサーバが存在しており、ドメイン名に対応した階層構造になっている。最上位に位置するネームサーバは「ルートサーバ」と呼ばれ、全世界に13台が分散配置されている。
全世界のネームサーバが連携してドメイン名とIPアドレスを対応させるシステムを「DNS」(Domain Name System)と呼ぶため、ネームサーバは「DNSサーバ」とも呼ばれる。
ネームサーバーを設定する
BINDの設定ファイル「named.conf」にマスターのネームサーバーを追加する。
#vi /etc/named.conf ↓追加する zone "myserver.com" { type master; file "/var/named/myserver.com.db"; };
ゾーンファイルを作成する
ゾーンファイルを作成してネームサーバーの動作を記述する。
#vi /var/named/myserver.com.db ↓記述する $TTL 14400 @ IN SOA ns1.myserver.com. root.myserver.com. ( 2008111401 14400 7200 3600000 86400 ) IN A 192.168.0.23 IN NS ns1.myserver.com. IN NS ns2.myserver.com. IN MX 0 mail.myserver.com. ns1 IN A 192.168.0.23 ns2 IN A 192.168.0.23 mail IN A 192.168.0.23 www IN CNAME myserver.com. blog IN CNAME www
ゾーンファイルの中身について
@ IN SOA ns1.myserver.com. root.myserver.com.
- myserver.comのマスターネームサーバーは、ns1.myserver.com
- 管理者のメールアドレスは、root@myserver.com
IN A 192.168.0.23
- myserver.comのIPアドレスは、192.168.0.23
IN NS ns1.myserver.com. IN NS ns2.myserver.com.
- myserver.comのネームサーバーは、ns1.myserver.comとns2.myserver.com
- ns2はスレーブのネームサーバーで、マスターの予備なので本当は別マシンにしたい
IN MX 0 mail.myserver.com.
- ユーザー名@myserver.com宛メールは、mail.myserver.comへ転送
www IN CNAME myserver.com.
- www.myserver.comは、myserver.comの別名
BINDを再起動する
BINDを再起動して設定を反映させる。
# ps -ef | grep name # kill -HUP 1016
namedのプロセスIDを調べて、killコマンドで再起動する。
ネームサーバーを反映させる
独自ドメインを取得した「お名前.com」にネームサーバーを登録する。
ネームサーバーのホストとIPアドレスを登録する。
myserver.comに対するIPアドレスの問い合わせを答えるネームサーバーを登録する。
登録後しばらく時間が経過(数分~数日)すると、インターネット全体にこの情報が行き渡る。
動作確認
ブラウザで「www.myserver.com」を開くと、対応するIPアドレスを問い合わせに行く。
それを答えるネームサーバーは、「ns1.myserver.com(192.168.0.23)」だと通知する。
今回設定したネームサーバーへ問い合わせに来るので、対応するIPアドレスを答える。
サブドメインの設定
ドメインが「myserver.com」、WEBサーバーが「www.myserver.com(IPアドレス:192.168.0.1)」で動作しているマシンに、サブドメインを設定する。
DNSとは?
インターネット上のホスト名とIPアドレスを対応させるシステム。全世界のDNSサーバが協調して動作する分散型データベースである。IPアドレスをもとにホスト名を求めたり、その逆を求めたりすることができる。
http://e-words.jp/w/DNS-2.html
インターネット上で運用されているDNSサーバのほとんどは、カリフォルニア大学バークリー校(UCB)で開発されたBINDである。
ゾーンファイルの場所を調べる
BINDの設定ファイル「named.conf」を開いて確認する。
# cat /etc/named.conf ↓中身 zone "myserver.com" { type master; file "/var/named/myserver.com.db"; };
「myserver.com」のゾーンファイルが「/var/named/myserver.com.db」だと分かる。
ゾーンファイルを編集する
例、別のマシン「192.168.0.2」に対して、サブドメイン「ftp.myserver.com」を設定する。
#vi /var/named/myserver.com.db ↓最後の行にAレコードを追加 www IN A 192.168.0.1 ftp IN A 192.168.0.2
例、同じマシン(ホスト名www)に対して、サブドメイン「blog.myserver.com」を設定する。
#vi /var/named/myserver.com.db ↓最後の行にCNAMEレコードを追加 www IN A 192.168.0.1 blog IN CNAME www
SOAレコードを編集して内容を反映させる
SOAレコードの最初の数字を部分を、前回よりも大きな数字にする。基本的に「日付+連番」の形式。
@ IN SOA ns1.myserver.com. root.myserver.com. ( 2008111402 14400 7200 3600000 86400 )
ここでは「2008111401」を「2008111402」に変更。
BINDを再起動する
BINDを再起動して設定を反映させる。
# ps -ef | grep name # kill -HUP 1016
namedのプロセスIDを調べて、killコマンドで再起動する。
- 作者: 網野衛二
- 出版社/メーカー: 技術評論社
- 発売日: 2009/06/12
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 85回
- この商品を含むブログ (23件) を見る
Apache バーチャルホストによりIPアドレス1個でサブドメイン毎に別のサイトを作る
IPアドレス1個しかないサーバーで、blog.myserver.comとsns.myserver.comというサブドメインを作って、それぞれ別のサイトを作ったときのメモです。
バーチャルホストとは?
1台のWebサーバで複数のドメイン名のWebサイトを運用すること。Webサーバソフトの機能の一つ。サーバに複数のIPアドレスを割り振ったり、1つのIPアドレスに複数のドメイン名を割り当てることにより、1台のWebサーバで複数のWebサイトを同時に運用することができる。小規模なサイトをいくつも運用するような場合、バーチャルホストを利用すれば何台もサーバを用意せずに済む。
バーチャルホストとは 【virtual host】 - 意味・解説 : IT用語辞典
バーチャルホストを利用するに当たって、検討しておかなければならないことがある。バーチャルホストには、「NAMEペース」「IPベース」という2種類の方式があるのだ。1つのIPアドレスで実現できるのが「NAMEベースのバーチャルホスト」、複数のIPアドレスを単一のApacheで処理するのが「IPペースのバーチャルホスト」で、それぞれメリット/デメリットがある。続きを読む
バーチャルホストによる複数サイトの同時運用(1/2)
PHP 指定フォルダ内にあるJPG画像ファイルの数を調べる
/var/www/html/images内にあるJPG画像ファイルの数を調べる
<?php続きを読む
//対象のディレクトリ
$target_dir = '/var/www/html/images';
//コマンドの実行結果を受け取る配列
$result = array();
$command = "find " . $target_dir . " -name '*.jpg' | wc -l";
exec($command, $result);
//出力
echo '画像ファイル数は、' . $result[0];
?>
Apache SSLを導入して暗号化通信を行う
https://www.hogehoge.comで暗号化通信をするために、SSLの設定をしたときのメモです。
SSLとは?
SSL(Secure Sockets Layer)とは、インターネット上で通信を暗号化する技術です。SSLを利用してパソコンとサーバ間の通信データを暗号化することで、第三者によるデータの盗聴や改ざんなどを防ぐことができます。続きを読む
SSLのまとめ|シマンテック