Author Archives: orbit - Page 16

CentOS XML-RPC 導入

PHPのバージョンを上げた時にアンインストールされてしまっていたので再インストールしました。

32bit版
# yum install php-xml php-xmlrpc php-soap
64bit版
# yum install php-xml.x86_64 php-xmlrpc.x86_64 php-soap.x86_64

Mac OS X 10.6 Snow Leopard Javac 文字化け 解決方法

JavaをMacで使う為に中古のMacBookを買ったが、いざJavacを使ってみたところ激しく文字化けしたので文字化けを直す方法をメモしておく。

ユーザディレクトリ直下.bash_profileに# vim .bash_profile 等で上記の内容を書き込むことで文字化けを解消することが出来る。

alias javac=”javac -J-Dfile.encoding=UTF8″

旧MacBook(ブラック) Windows 7 64 インストール Select CD-ROM Boot Type: BootCamp

どうしてもMac OS Xが使いたく色々迷いながら結局Windowsと仲良く出来るらしいintel CPUの搭載された旧MacBookを中古で購入してみた。

そこで実際にWIndows 7をインストールしてみたが何かSelect CD-ROM Boot Type: とか出て止まる・・・ あれ?っとか思い調べてみたところなんと購入した機種は64bit版に対応していないじゃないか!という事が判明。。。

じょ・・・冗談でしょ?とか思いながら色々調べてみたところなんとかWindows 7をインストール出来るようなのでインストールしてみた。

先ず、Windows AIKを使いインストールDVDを作り替える(Windowsでの作業です)

この先行き止まり Select CD-ROM Boot Type: 
こちらの方がとてもわかりやすく解説していらっしゃいましたので参考にどうぞ。

ディスクが出来てインストールしWIndows 7を起動することができたのですが何故かトラックパッドで右クリック出来ない。 嘘!?とか思い、英数・カナのキーを押すと案の定入力切り替えも出来ない。。。

色々調べてみるとBootCampがインストールされていないみたいなのでSnow Leopardのインストールディスクを入れてBootCampのインストーラを実行してみるも非対応であると出てインストール出来ない。 ここまで来てそれは無いだろ!!と思いながら色々探してみると無理やりBootCampをインストールする方法があるようでインストールしてみた。

人柱しないヒトバシラー MacBook(late2006)をBootCampでWindows7(x64)
こちらの方がとてもわかりやすく解説していらっしゃいましたので参考にどうぞ。

D:BootCampDriverApple
のAppleフォルダをCドライブ直下にコピーしコマンドプロンプトを開く。
> cd Apple
> msiexec /i BootCamp64.msi
でBootCampのインストーラを実行でき問題なくBootCampをWindows 7にインストールできた。

超簡易版 フィボナッチ数列 Perl言語

C,Javaときたら普段から慣れ親しんでるPerlを出さない訳にはいかない為書いてみた。
書いて思う事は、やはり素晴らしい言語であるということ。
最も必要最低限で意志を伝えやすい。

#!/usr/bin/perl
# 初期値を設定
$x = "0";
$y = "1";
# 値の入力を求める
$input = <STDIN>;
for($i = $input;$i > 0;$i--){
    $z = $x + $y; # 今の値を出す
    $y = $x;      # 前の値を代入→次のループで2回前の値になる
    $x = $z;      # 今の値を代入→次のループで1回前の値になる
}
print $z;  # 最後の値を表示

超簡易版 フィボナッチ数列 JAVA言語

バカの一つ覚えとしてこの際、Javaでも同じ事が出来るかを試してみた。入力を受け付ける時にint型を直接指定出来ないようなのでString型で指定しその後、型の変換を行う。IOエラーについての記述やパッケージのインポート等あるが対してC言語との変化は無く同じ動作を行える。

// パッケージをまとめてロード
import java.io.*;
public class fibonacci {
   public static void main(String args[]) {
       int x=0,y=1,z=0,i,input;
       // 入力データ読み込み用オブジェクトの作成
       BufferedReader myReader = new BufferedReader(new InputStreamReader(System.in),1);
       try{
       System.out.println ("値を入力してください:");
       String myString = myReader.readLine();
       input = Integer.parseInt(myString);
       for(i = input;i > 0;i--){
           z = x + y;  /*今の値を出す*/
           y = x;      /*前の値を代入→次のループで2回前の値になる*/
           x = z;      /*今の値を代入→次のループで1回前の値になる*/
       }
       System.out.println (input + "の値は" + z + "です。");  /*最後の値を表示*/
       // エラー処理ブロック
       }catch (IOException e) {}
   }
}

Javaで四則演算をする

Javaを使って四則演算をしてみたいと思う。 Math.javaというファイルを作成し下記のソースコードを書いき保存する。

# javac Math.java
# javac Math

実行すると次のように表示されると思う。

——文字として出力—–
5 + 5
5 – 5
5 * 5
5 / 5
——数式として演算—–
10
0
25
1

ここで気づくのだがPerlやCやPHPとは異なりprintf(“%d”,数式)というような整形型の記述ではないこと。何が言いたいかというとJavaには標準でprintfのような機能が備わっていないようである。仮に、 System.out.println(“%d”,5 + 5)とし実行してみると激しくエラーが表示される。

参考:Javaでの文字列整形 (J2SE 1.4系)

public class Math {
    public static void main(String args[]) {
    System.out.println("n------文字として出力-----n");
    System.out.println("5 + 5");
    System.out.println("5 - 5");
    System.out.println("5 * 5");
    System.out.println("5 / 5");
    System.out.println("n------数式として演算-----n");
    System.out.println(5 + 5);
    System.out.println(5 - 5);
    System.out.println(5 * 5);
    System.out.println(5 / 5);
    }
}

Java で Hello Word を表示させてみる

Perlが一応落ち着いたのでJavaに手を出すことにした。そこでPerlと同じ様に基礎周辺をブログに書き残しておく。コンパイラはパソコンにインストールされている事を前提にメモを書く。

まず、Javaのコンパイルは直接マシン語に訳すのではなく、Javaバイトコード(.class)と呼ばれるものを作成する。通常の言語とは異なりJava VMで実行させる独自の言語となっている。

ファイル作成についてもCやPerl等と大きく異なりプログラム中に宣言するクラスと同じ名前でなければならない。よって下のソースをコンパイルするには”public class Hello_Word”で宣言していることからファイル名を”Hello_Word.java”とする必要がある。なお、”public”とはクラスやメソッドを外部から呼び出せるかどうかを指定している。

実際にコンパイルするにはjavacというコマンドを使用し”javac [ファイル名].java”として実行するとコンパイルすることが可能である。下記の例では次のようにコンパイルする。

# javac Hello_Word.java

上記で記述したようにjavaはコンパイル後マシン語で直接実行ファイルを作成するのではないので、Java VMを呼び出しクラスファイルを指定させた上で実行する必要がある。よって次の様に実行する。

# java Hello_Word

この時、拡張子”.class”は省略する。 (つけて実行するとエラーとなる。)

public class Hello_Word {
   public static void main(String args[]) {
       System.out.println("Hello Word");
   }
}

Apache 2 再起動 エラー

最近Apacheを再起動させると下記のようなエラーが出る事が多くなってきたのでメモしておく

エラー内容
Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs
おそらく殺しきらなかった子プロセスが80番ポートを使っている為に新しくApacheを再起動出来ませんと言ってるんであろうと思われる。

Apacheの子プロセスを探しプロセスID(PID)を見る
# /usr/sbin/lsof -i | grep http

子プロセスを強制的に終了し
# kill -9

再起動すると問題なく再起動出来る。

Cron muninエラー Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set

/etc/munin/plugins/hddtemp_smartctlに全角の「゜」が含まれてるらしくこれをDegCへ変更することでエラーを消すことが可能です。

Apache2 mod_geoip CentOS うざい国を弾くモジュール

GEOIPをyumのリポリトジを利用しインストール
# yum install geoip –enablerepo=rpmforge

yumで見当たらないのでmod_geoipをrpmでダウンロードしてインストールする
# wget ftp://ftp.univie.ac.at/systems/linux/fedora/epel/5/i386/mod_geoip-1.2.5-2.el5.i386.rpm
# rpm -ivh mod_geoip-1.2.5-2.el5.i386.rpm

インストールされたか確認する
# ls /usr/lib/httpd/modules/mod_geoip.so

IPのデータベースを更新する
(デフォルトのdatファイルを使ったところ誤認があったので更新することを推薦します)
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat

1ヶ月ごとに更新されるようなので1ヶ月ごとにデータベースを更新させる
# vi /etc/cron.monthly/geoip

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat

実行権を追加する
# chmod 755 /etc/cron.monthly/geoip

Apacheの設定ファイルに下記を追記(下のサンプルは日本とアメリカ以外の殆どの国を指定してます)
# vi /etc/httpd/conf.d/mod_geoip.conf

<Location />
Order allow,deny
SetEnvIf GEOIP_COUNTRY_CODE O1 BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AQ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AX BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BB BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE BZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CX BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE DZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE EC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE EE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE EG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE EH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ER BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ES BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ET BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE EU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE FR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GB BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GQ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE HU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ID BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IQ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE JE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE JM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE JO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LB BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE LY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ME BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ML BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MQ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MX BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE MZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE OM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE QA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SB BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ST BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TD BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TH BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TO BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TV BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TW BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE UG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE UM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE UY BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE UZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VC BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VG BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VI BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE WF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE WS BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE YE BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE YT BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ZA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ZM BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE ZW BlockCountry 
Deny from env=BlockCountry
Allow from all
</Location>

規制してる海外のプロキシサーバ経由でアクセスしてページがエラー403になってたら成功です