- ベストアンサー
ADSLで自宅サーバ構築したいんですが・・
このたび、Yahoo!BB で ADSLサービスを利用して 自分のパソコンでサーバを構築したいと思っています。 以前はe-accessでADSLを利用していたんですが、その環境ではサーバ構築ができませんでした。 Yahoo!BBの12M ADSLサービスを 使っている状態で自宅サーバを構築 するために必要な情報をご提供下さいm(_ _)m
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
さて、ApacheなどによるWWWサーバーをLinuxで構築した場合なら、以下のシェル・スクリプトを crontab で定期的に実行させると、グローバルIPアドレスが流動的で不定であったとしても問題なく自宅サーバーに誘導できます。 ■ ドメイン名を持った外部のftpサーバーを見付けてください。yahoo!BBならftp通信可能です。 ■ ホームページのトップページを、好きなところに設置します。1つである必要はありません。前段のftpサーバーである必要もありません。無料・有料・友人・・・・色々なところから自宅のサーバーに誘導できます。 さて、自宅のYahoo!BBの接続したLinux機に埋め込むシェルスクリプトです。 尚、FTPADDRESSにはftpサイトのアドレス、FTPUSERにはftpログインユーザー名、FTPPASSWDはftpログインパスワード、CDDIRにはftpログイン後のディレクトリー名を入力します。(^^) #!/bin/sh # Tue Oct 1 09:28:05 JST 2002 Ver:1.0 by YT APACHE=ON ETH=eth0 COUNT=5 TIMEOUT=10 FTPADDRESS=ftp.geocities.jp FTPUSER=xxxxxxxxxxxxx FTPPASSWD=xxxxxxxxx CDDIR= if [ "$1" ]; then ETH=$1 fi echo -n "^[[44;32m DHCPCD $ETH start w/ Timeout $TIMEOUT - " while [ ! "`ps ax | grep dhcpcd | grep -v grep`" -a $COUNT -ge 0 ] do echo -n "^[[47;3${COUNT}m${COUNT}>" /sbin/dhcpcd -t $TIMEOUT $ETH 2>&1 1> /dev/null COUNT=`expr $COUNT - 1` done if [ "`ps ax|grep dhcpcd|grep -v grep`" ] then echo "^[[42;30m Done! " if [ -x /etc/rc.d/rc.NTPDATE ]; then /etc/rc.d/rc.NTPDATE fi date | awk '{printf("%70s\n",$0)}' > /etc/issue GIPADD=`ifconfig $ETH|head -2|tail -1|awk '{print substr($2,6)}'` HOSTNAME=`/usr/bin/nslookup $GIPADD|grep "Name:"|awk '{print $2}'` # HOSTNAME=`/usr/bin/nslookup -sil $GIPADD|grep "name ="|awk '{print $4}'` if [ "$HOSTNAME" ]; then echo $HOSTNAME > /tmp/.HOSTNAME echo "`hostname`.`cat /tmp/.HOSTNAME`" | tee /etc/HOSTNAME TEST=`hostname` if [ "`grep $TEST /etc/hosts`" -a -f /etc/hosts.ORG ]; then awk -v TEST="$TEST" -v HOSTNAME="$HOSTNAME" '{ \ if(index($0,TEST)==0){ \ print $0;next }\ else printf("%s %s.%s\n",$0,TEST,HOSTNAME) \ }' < /etc/hosts.ORG > /etc/hosts fi fi if [ ! -f /tmp/.GIPADD ]; then echo $GIPADD > /tmp/.GIPADD FLAG_DO=YES fi if [ "$GIPADD" != "`cat /tmp/.GIPADD`" ]; then FLAG_DO=YES fi if [ "$FLAG_DO" = "YES" -a -d /tmp/HTML ]; then cat <<EOF > /tmp/HTML/location.js AOS_NEW_HOME_PAGE_IP_ADDRESS = "$GIPADD"; function aos_open(i){i=(i==null)?i="":i;location = "http://$GIPADD/" + i; } function aos_opens(i){i=(i==null)?i="":i;location = "https://$GIPADD/" + i; } EOF cat <<EOF > /tmp/HTML/index.html <html> <head> <META HTTP-EQUIV="refresh" CONTENT="0;URL=http://$GIPADD/"> </head> <body> <center> <pre>Please Click here to move our new home page ! <font size=+2><a href="http://$GIPADD/" target=_TOP>C L I C K</a></font> Thank you ! (^^) </body> <script language=JavaScript><!-- location = "http://$GIPADD/"; // --> </script> </html> EOF if [ ! -f /tmp/HTML/index.htm ]; then ln /tmp/HTML/index.html /tmp/HTML/index.htm fi cat <<EOF > /tmp/HTML/help.html <html> <head> <script language=JavaScript src=location.js></script> <title>教えてAOS!</title> </head> <body> <pre>★ パスワードは漏れない様に厳重注意願います! AOS-Linux機は10分毎にグローバルIPアドレスを確認し、上記の貴社の(個人でも結構です)ホームページに自動的に以下の3つのファイルを転送します。 index.html location.js help.htm です。 「 index.html 」を参照したブラウザーは瞬時にAOS-Linux機に転送されます。 「 location.js 」とはJavaScriptで参照させるファイルです。文法は <script language=javascript src='http://貴社のホームページ/location.js'><h1>ERROR location.jsを読めませんでした!</script> と埋め込みます。そうしますと以後、JavaScript変数 「 AOS_NEW_HOME_PAGE_IP_ADDRESS 」 を利用できます。 また、2つのJavaScript関数を利用できます。 aos_open(dir) と aos_opens(dir) です。 aos_open は通常のサーバーとの接続を実行し、aos_opens はSSLで通信します。 dir には、ホームページのアドレスの文字列を入力します。ユーザー april 以下の、menu.html に接続したければ、 aos_open('~april/menu.html')を、JavaScriptとして定義します。 AOS-Linuxに移動させるボタンは <form><input type=button value='ホームページへ' onClick='JavaScript:location="http://"+AOS_NEW_HOME_PAGE_IP_ADDRESS+"/"'></form> か、 <form><input type=button value='ホームページへ' onClick='JavaScript:aos_open()'></form> の、どちらでも同じ結果となります。 リンク文字で定義したい場合は <script language=JavaScript><!-- document.write("<a href=http://"+AOS_NEW_HOME_PAGE_IP_ADDRESS+"/>"; // --> </script> 新しいホームページへ</a> です。画像をクリックして転送させたい場合は <script language=JavaScript><!-- document.write("<a href=http://"); document.write(AOS_NEW_HOME_PAGE_IP_ADDRESS); document.write("/>"); document.write('<img src="画像ファイルの指定をしてください" border=0>'); document.write(("/a>"); // --> </script> となります。世界中のどこのホームページでも、以上の『一定の文法』を組み込むだけで、変化するグローバルIPアドレスでも自動的に追従しAOS-Linuxマシーン内のホームページを参照できます。お楽しみください。 ところで、現在のグローバルIPアドレスは $GIPADD です。 `date` </body> </html> EOF if [ ! -f /tmp/HTML/help.htm ]; then ln /tmp/HTML/help.html /tmp/HTML/help.htm fi cd /tmp/HTML ncftp -u $FTPUSER -p $FTPPASSWD $FTPADDRESS <<EOF lcd /tmp/HTML cd $CDDIR rm * put * quit EOF echo $GIPADD > /tmp/.GIPADD fi echo $GIPADD | awk '{printf("\n%55s%15s\n\n","GIP : ",$0)}' >> /etc/issue grep nameserver /etc/resolv.conf | awk '{printf("%55s%15s\n","DNS : ",$2)}' >> /etc/issue uname -r|awk '{printf("\n%64s%s\n","Welcom to Linux ",$0)}' >> /etc/issue else echo -n "^[[41;33m False! " fi echo "^[[0;0m" if [ "$APACHE" = "ON" -a -x /etc/rc.d/rc.APACHE ]; then /etc/rc.d/rc.APACHE fi 以上が埋め込むスクリプトです。こうすればADSLでもISDNフレッツでも、グローバルIPアドレスが変わっても、何も問題なく、どこのホームページからでも誘導できます。「ダイナミックドメインサービス」なんて契約する必要など全く無いですね。(^^) 【警告】:ftp転送中に「 rm * 」を実行してます。これは全削除です。(^^); お気を付けください!
その他の回答 (3)
- CAD2
- ベストアンサー率43% (377/871)
こんにちは。 Yahoo!BBで自宅サーバー公開している方のサイトがあります。 参考になるかも知れませんので、載せておきます。 http://kamezoh.zapto.org/
- 参考URL:
- http://kamezoh.zapto.org/
お礼
参考ページにうかがったところ、 非常に良いアドバイスをいただけました。 紹介してくださってどうもありがとうございました。
- Ujiki
- ベストアンサー率37% (38/101)
今から出掛けてしまいますので… 簡単ではありますが。 ●2枚のNIC(LANボード)+PC/ATパソコン+Linux が最低必要です。 ●最初はルーターを構築します。マスカレード化(ip_tables)を行って、NATします。(^^) ●Webサーバー(Apache)+PHP4+PostgreSQL7から始めてみてください。つまりWebサーバーの公開です。ダイナミックドメインサービスの契約は無用です。変化するグローバルIPアドレスでも、ドメイン契約しなくても、Linuxさえあれば、JavaScriptの応用で誰でも公開できます。(^^) ●Webサーバー兼ファイヤーウォール兼ルーターに特化し、X-Windowは利用しないことを考えましょう。すると、最新のPCは無用です。DX4でもスタートできます。(コンパイルは時間がかかります) そうしますと、Linuxで認識できるNIC2枚と、古いスペックで良いPCと、どのLinux(カーネルは共通でもインストーラーが違う)を採用するかです。躓くのはNICかも知れません。Linuxの特定のNICのドライバーが同じ2枚のNICを認識できない場合があります。Linuxでサポートしている異なる2機種のNICなら必ず認識できます。以下の参考URLにサポート可能なハードウェアーが紹介されています。 ※ 小生はPlamoにスタートし、現在もPlamoです。SoftwareDesign12月号は、確かPlamo3.0+VMWare特集だったと存じます。CD-ROMも付録されます。頑張ってください。明日には覗きにきます。また疑問点があれば、補足でも新スレッドでも立ててみてください。
お礼
二つ目にいただいたアドバイスの方にお返事を 書かせていただきまいした。
- mnabe
- ベストアンサー率33% (427/1283)
ちょっと酷な事を言います。 そのくらい調べられないのなら、自宅サーバは考えない方が良いでしょう。貴方自身の情報漏洩につながる可能性モありますし、より多くの人に迷惑をかける可能性もあります。 また、e-access でもサーバ構築は可能です。速度を考えなければ、ダイアルアップでも、AirH でもサーバを外部に公開する事は出来ます。 そういうもんなんです。 それだけではあまり面白くないので・・・ 検索サイトで『自宅サーバ 立上げ YahooBB』とでも入力すればたくさん情報が得られます。また、本屋に行けば、同様なタイトルで本がたくさん売られています。
お礼
おしゃられたことも最もかもしれません・・。 ISDNでは立ち上げていたんですが、ADSLでも 可能か聞きたかったんです・・。 セキュリティーのことも考えてみようと思います。
お礼
ここまで詳しく教えていただけるとは 思ってもみませんでした。 非常に参考になしました。どうもありがとうございました!