忍者ブログ
忘れない為のお勉強思い出し日記
[1] [2] [3]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

DNSを構築する際はルーターのポート番号

UDP53番

TCP53番

ポートを開放する

 

PR

/etc/named.conf 関連
------------------------------
options設定

options {
 //ここで指定したディレクトリに各zoneファイルを置く
 directory "/var/named";

 //「rndc dumpdb」でキャッシュされているメモリ内のデータをダンプ出力させるファイル名を指定する
 dump-file "/var/named/data/cache_dump.db";

 //「rndc stats」でサーバーの統計情報をダンプ出力させる統計情報ファイル名を指定する
 statistics-file "/var/named/data/named_stats.txt";

 //bindを使用する範囲を指定
 //指定されない場合は、すべてのホストから受け付ける。
  allow-query {
 127.0.0.1;
 192.168.1.0/24;
  };

 //forwardersの記述が無いと、BIND は自分で名前解決できない場合に直接ルートサーバに名前解決を求める
 //forwardersにプロバイダのDNS サーバを指定する事により、名前解決のパフォーマンスが向上する
 forwarders{
  //ルーター経由接続環境の場合はルーターのIPアドレスを指定
  xxx.xxx.xxx.xxx;
  //PPPoE接続環境の場合はプロバイダから通知されたDNSサーバー(プライマリ)のIPアドレスを指定
  xxx.xxx.xxx.xxx;
  //PPPoE接続環境の場合はプロバイダから通知されたDNSサーバー(セカンダリ)のIPアドレスを指定
  xxx.xxx.xxx.xxx;
 };
};

------------------------------
controls設定

//rndcで制御可能なホストを指定(localhostのみ可)
controls {
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

------------------------------
logging設定

/var/log/messagesに記載される[lame server resolving]とは?
IPアドレスからホスト名を逆引きできなかった場合に出力される
[lame server resolving …]というログメッセージを出力しないように設定するには
/etc/named.confに以下のように記載する

logging{
 category lame-servers { null; };
};

------------------------------
//ルートのゾーン設定
//自分の知らないドメインのホストを聞かれたときにこのルートサーバーに聞きにいくことで名前解決を行います。
zone "." IN {
        //hintはルートサーバを表す
        type hint;
        //ルートサーバのファイル
        file "named.ca";
};

------------------------------
//ローカル「ホスト&ドメイン」ゾーン設定
zone "localdomain" IN {
 //マスターサーバ
        type master;
        file "localdomain.zone";
 //DNS動的更新リクエストを許可するホストを指定する。
 //{ none; }はどのホストに対しても更新リクエストは許可されない。
        allow-update { none; };
};
zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

------------------------------
逆引きゾーン設定
//IPv4のルークバックアドレス[127.0.0.1]の逆引き設定
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
//IPv6のルークバックアドレス[::1]の逆引き設定
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.ip6.local";
        allow-update { none; };
};
//ブロードキャストの逆引き設定
zone "255.in-addr.arpa" IN {
        type master;
        file "named.broadcast";
        allow-update { none; };
};
//0用の逆引き設定
zone "0.in-addr.arpa" IN {
 type master;
 file "named.zero";
 allow-update { none; };
};

------------------------------
ドメインゾーン設定
正引き設定
zone "hogehoge.com" IN {
 type master;
 file "hogehoge.com.zone";
 allow-update { none; };
};
逆引き設定
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "0.168.192.in-addr.arpa.zone";
        allow-update { none; };
};

------------------------------
//以下のファイルに記載されている鍵の設定を読み込んでいる
include "/etc/rndc.key";

FTPとは(File Transfer Protocol)の略
サーバとクライアントの間でファイルを転送するのに用いられるプロトコル
------------------------------
FTPソフト
vsftpdとは(Very Secure FTPD)の略
------------------------------
FTPポート番号
[21]
FTPコマンドを受け付ける制御用
[20]
実際にデータを転送する出入り口
------------------------------
FTPコマンド
ftp    (FTPコマンド開始)
open [ホスト名:IPアドレス] (FTPサーバに接続する)
close    (FTPサーバとの接続を切る)
user [ユーザー名]  (ログインユーザー指定)
quit    (FTPクライアントを終了)
ls [ディレクトリ名] (サーバのファイル一覧表示)
cd [ディレクトリ名] (サーバのディレクトリ移動)
pwd    (サーバの現在のディレクトリ絶対パスを表示)
mkdir [ディレクトリ名] (サーバに新規ディレクトリを作成)
rmdir [ディレクトリ名] (サーバにあるディレクトリを削除)
delete [ファイル名]  (サーバにあるファイルを削除)
lcd [ディレクトリ名] (クライアントのディレクトリ移動)
put [ファイル名]  (クライアントからサーバにファイルを転送)
get [ファイル名]  (サーバからクライアントにファイルを転送)
ascii    (転送モードをアスキーモードに変更)
binary    (転送モードをバイナリモードに変更)
------------------------------
インストール確認
rpm -qa | grep vsftpd
------------------------------
起動
/etc/init.d/vsftpd start
service vsftpd start
停止
/etc/init.d/vsftpd stop
service vsftpd stop
再起動
/etc/init.d/vsftpd restart
service vsftpd restart
状態
/etc/init.d/vsftpd status
service vsftpd status
------------------------------
設定ファイル
/etc/vsftpd/vsftpd.conf
------------------------------
ローカルユーザーに対する接続を許可するか?
local_enable = [YES:NO]
------------------------------
ローカルユーザーの書き込み許可を許可するか?
つまりクライアントからのファイルアップ、名前変更、削除などを可能にする
write_enable = [YES:NO]
------------------------------
ローカルユーザーがアップしたファイルのパーミッション設定
local_umask = [022](例:644)
------------------------------
FTPのデータポートを20番とするか?
connect_from_port_20 = [YES:NO]
------------------------------
/var/log/vsftpd.logが生成されアクセスが記録される
※このログにはファイルのアップロード、ダウンロードだけが記載される
xferlog_enable = [YES:NO]
------------------------------
ログを記載するファイルを指定
xferlog_file = [ファイル名](例:/var/log/vsftpd.log)
------------------------------
vsftpd形式でログを記録する場合の指定
[YES]はvsftpd形式で記録しない、[NO]はvsftpd形式で記録する
xferlog_std_format = [YES:NO]
------------------------------
[.message]という名前のファイルの内容をクライアントへメッセージとして送ることができる
実際のの使い方としては、ディレクトリ毎の説明などに使ったりする
dirmessage_enable = [YES:NO]
------------------------------
接続時の表示するメッセージ、※日本語は文字化けをする
ftpd_banner = [文字列](例:Welcome to blah FTP service.)
------------------------------
chrootさせるユーザーを記載した/etc/vsftpd/chroot_list_file=ファイル名を有効[YES]、無効[NO]にさせる設定
chroot_list_enable = [YES:NO]

chrootを行うユーザーを一行ずつ指定するファイル名の指定
※ようするにchroot_list_enableを[YES]で有効にしてchroot_list_fileに記載されたユーザーは
ホームディレクトリ以上の上位ディレクトリに移動することができなくなる
chroot_list_file = [ファイル名](例:chroot_list)
------------------------------
vsftpd が使用するPAMサービス名を指定する。
pam_service_name = vsftpd
------------------------------
/etc/vsftpd/user_listを有効[YES]にするか、無効[NO]にするかを指定
userlist_enable = [YES:NO]

userlist_enable=YESの場合で/etc/vsftpd/user_listファイルに記載されているユーザーを
userlist_deny=YESの時は拒否リストとして扱う
userlist_deny=NOの時は許可リストとして扱う
userlist_deny = [YES:NO]
------------------------------
単独で起動するか、xinetd経由で起動するかを指定します。
[YES]単独で起動する[NO]xinetd経由で起動する
listen = [YES:NO]
------------------------------
/etc/hosts.allow
/etc/hosts.deny
リストを有効にするかどうか?
tcp_wrappers = [YES:NO]
------------------------------
#アノニモス(anonymous)(匿名)でのログインを許可するか?
anonymous_enable = [YES:NO]

PHP表記

<?php

?>

<script language="php">

</script>

上記の表記はどちらでも可能
------------------------------
参照渡し

<?php
$var1 = "hoge";
$var2 =& $var1;
$var1 = "hogehoge";
print $var2;
?>

出力結果
hogehoge
-----------------------------
可変変数

<?php
$a = "hoge";
$$a = "hogehoge";
print $$a;
print $hoge;
print "${$a}";
?>

出力結果
$$a     hogehoge
$hoge   hogehoge
${$a}   hogehoge
------------------------------
関数のパラメータを配列に返す

<?php
function HogeFunc($str,$int){
 $hoge_array = func_get_args();
 return $hoge_array;
}
$hoge_array = HogeFunc("hoge",100);
print_r($hoge_array);
?>

出力結果
Array
(
    [0] => hoge
    [1] => 100
)
------------------------------
break n
引数[n]が省略された場合には1として
最も内側のループから脱出します。

<?php
for($i=0; $i<10; $i++){
        for($a=0; $a<10; $a++){
                if($a == 5){
                        $flag = "ok";
                        break 2;
                }
        }
        if($flag == "ok"){
                exit("$flag");
        }
}
?>

出力結果
$flagであるokは表示されない
------------------------------
関数返り値

<?php
function MyFunc(){
        $var_1 = array("あいうえお","かきくけこ");
        $var_2 = array("no"=>"1","name"=>"名前");
        return array($var_1,$var_2);
}
list($str,$data) = MyFunc();
$array = MyFunc();
print_r($str);
print_r($data);
print_r($array);
?>

出力結果
[$str]の結果
Array
(
    [0] => あいうえお
    [1] => かきくけこ
)
[$data]の結果
Array
(
    [no] => 1
    [name] => 名前
)
[$array]の結果
Array
(
    [0] => Array
        (
            [0] => あいうえお
            [1] => かきくけこ
        )

    [1] => Array
        (
            [no] => 1
            [name] => 名前
        )

)
------------------------------
再帰的(recursive)

この関数ではstaticを使用している為、関数を呼び出されるたびに
$cntをインクリメントする。

<?php
function Recursive(){
        static $cnt = 1;
        print "$cnt\n";
        $cnt++;
        if($cnt == 5){
                print "$cnt\n";
                $str = "終了";
                return $str;
        }
        if($cnt <= 10){
                $str = Recursive();
                return $str;
        }
}
$string = Recursive();
print $string;
?>

出力結果
1
2
3
4
5
終了
------------------------------
例外処理

<?php
class FilesException extends Exception {
        protected $time;
        public function __construct($msg,$code){
  parent::__construct($msg,$code);
                $this->time = time();
        }
        public function __toString(){
                return "例外クラス ".__CLASS__.":{$this->message}:{$this->code}\n";
        }
        public function getTime(){
                return $this->time;
        }
}

class Files {
        public function __construct($file){
                if(!file_exists($file)){
   //ファイルが存在しなければ例外に投げる
                        throw new FileException("ファイル $file が存在しません。",3);
                }
        }
}

try{
        $obj = new Files("hoge.txt");
        print "例外後の処理\n";
}catch(FilesException $e){
 //例外の発生したタイムを表示
        print "例外時間:{$e->getTime()}\n";
 //print を呼び出している為、toStringが表示される
 print $e;

}catch(Exception $e){
        print "例外:{$e->getMessage()}:{$e->getCode()}\n";
}
?>

出力結果
例外時間:xxxxxxxxxx(time)
例外クラス FilesException:ファイル hoge.txt が存在しません。:3

/etc/sysconfig/network-scripts/ifcfg-eth0

インターフェイスカード(NIC)に関する設定ファイル

例:

# ネットワークデバイス設定
DEVICE  = eth0
# 固定IPアドレスの設定
BOOTPROTO = none
# ブロードキャストアドレスを指定
BROADCAST = ブロードキャストアドレス(192.168.1.255)
# IPアドレスを指定
IPADDR  = 192.168.1.xxx
# ネットマスクを指定
NETMASK  = 255.255.255.0
# ネットワークアドレスを指定
NETWORK  = 192.168.1.0
# 起動時に設定を有効にするか?
ONBOOT  = (yes no)
# デフォルトゲートウェイのIPアドレスを指定
GATEWAY  = 192.168.0.1

------------------------------

/etc/sysconfig/network

ホスト自身に対するネットワーク設定ファイル

例:
# ネットワークを設定するか?
NETWORKING = yes(設定します)   no(設定しません)
# ホストネームを指定
HOSTNAME = hoge.hogehoge.com
# デフォルトゲートウェイのIPアドレスを指定
GATEWAY  = 192.168.0.1
# GATEWAYで指定したパケットを送り出すネットワークデバイスを指定
GATEWAYDEV = eth0

------------------------------

/etc/hosts

ホスト名とIPアドレスの対応を定義するファイル

例:
127.0.0.1 hoge.hogehoge.com hoge localhost.localdomain localhost

------------------------------

/etc/resolv.conf

リゾルバ 名前解決用の参照ファイル

例:
search  ドメイン名

nameserver ネームサーバのIPアドレス

------------------------------
ユーザ情報のリゾルバが名前解決する方法を指定するファイル

/etc/nsswitch.conf

名前解決をする順番を示しています。
例は「hostsファイル、nisplus, nis, dns」の順に名前解決します。

例:
hosts: files dns

/etc/host.conf

例の「order hosts,bind」は、 hosts ファイル、dns の順に名前解決します。

例:
order hosts,bind

左から順番に指定された方法を用いて名前解決を行う。
上の例では /etc/hostsファイルを用いて名前解決を行い、解決できなかった場合ネームサーバに対して名前解決の依頼を出します。

------------------------------
service network  [start][stop][status]
/etc/init.d/network [start][stop][status]
上記にてネットワーク設定を反映させる。

設定したaliasを保存するには ~./bashrc ファイルに追加する

例:   alias rm='rm -i'

例えば ~/.bashrc などに記載情報を変更・追加した時に繁栄させる為に使用したりする

/etc/bashrc

ファイルの以下の設定で変更が可能

if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 022                                                                userのマスク値
else
    umask 022                                                                rootのマスク値
fi

formタグなどのwebからsqliteに書き込むときは

そのdbファイルに書き込み権限(666)も必要だが、そのディレクトリ自体にも書き込み権限(777)が必要である

session.save_path = /tmp

セッションデータを保存しておくディレクトリ。
------------------------------
session.cookie_lifetime = 0

セッションが使用するクッキーの有効期限を指定する。
デフォルトで、0(単位:秒)
ブラウザを閉じるとクッキーは無効となる。
------------------------------
session.use_cookies = 1

セッションIDを保存する際に、クッキーを使用するかどうかを指定する。
(1:使用する  0:使用しない)デフォルトで、1
------------------------------
session.use_trans_sid  =  1

URLを示すタグに、セッションIDを付加をするかどうかを指定する。
0:付加しない  1:付加する(デフォルトは、0)
session.use_cookies = 1 の場合、クッキーが利用可能ならば付加されない。
クッキーが利用不可ならば、自動的にセッションIDがURLに付加される。

クッキーが無効の場合自動的に、
URLにセッションIDが付されるようになる。
------------------------------
session.gc_maxlifetime = 1440

セッションIDが破棄の対象となるまでの時間を指定する。
デフォルトは、1440(単位:秒)(24分)
最終のアクセスから1440秒を過ぎたものが破棄の対象となる。
------------------------------
session.gc_probability = 1
session.gc_divisor = 100

セッションIDが破棄の対象となるタイミングは、
各ファイルのタイムスタンプが、現在時刻よりも、session.gc_divisor で指定した
時間以上に古いものとなった時点。
但し、破棄の対象となるだけで、実際に破棄(削除)されるタイミングは、
ガーベジコレクション(ゴミ処理)が実行された時。
これは、session.gc_probability で指定した確率で実行される。

ガーベージコレクションにより、無効となったセッションIDの破棄が
行なわれる確率を指定する。
デフォルトで、1/100 session_start()のコール100回につき1回、
無効となったセッションIDの破棄が行なわれる。
1/1に設定すれば、session_start()コールの度に、無効となった
セションIDの破棄が行なわれるようになる。



忍者ブログ [PR]
カレンダー
05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新コメント
[11/18 DSLR-A900]
[12/04 cnanogetde]
[06/25 QzLNP]
[06/25 Jarmj]
[06/25 wncwh]
最新記事
最新トラックバック
プロフィール
性別:
男性
バーコード
ブログ内検索