1-8.サーバーの設定 のバックアップ差分(No.17)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*いろいろなサーバーの設定 [#ab5b4908]
http://www.knts.net/Xlc/modules/pico/category0016.html
ここらへんを参考に。
EdenにOMVインストールする前に、
apache, rep2, torrent, dice, ぐらいやっとけば良い。


**コンピュータ名の変更 [#t5e5a0af]
/etc/hosts
/etc/hostname
を変更

**apache2 [#cf54c1e7]
ソフトウェア管理から入れれば完了。
**webminインストール [#vc38a3fb]
webminホームページから、debパッケージダウンロード。
https://localhost:10000/と入力します。
httpsでの接続確認
セキュリティ例外の追加
ログイン画面:管理権限のあるユーザーとそのパスワードを入力
Webmin画面に入ったらまず日本語化をします。
左メニュー:check Language and Theme をクリック
Languageは Japanese (JA_JP.UTF-8)を選択
webmin変更後の初期画面
Webmin設定ボタンをリクック
もう一度言語選択 - 言語アイコンをクリック
Webminが使用する言語を選択:japanese(JA_JP.UTF-8)
Webminのインストールと初期設定
外部からのアクセスの禁止:アクセスはローカルPCのみ
Webminのアクセス制限をします。
Webminボタン-Webminの設定-IPアドレスの制御をクリック
チェックボックス リストされたアドレスのみ許可にチェック
一覧にローカルネットワークを含める

**PHPとmysql [#c098c1f0]
ソフトウェアの管理からPHP5インストール
ソフトウェアの管理からmysql-serverインストール
ソフトウェアの管理から、php5-mysqlインストール

**apache modules [#l383d28f]
Webmin:サーバ Apache Webサーバをクリック
グローバル設定をクリック
Configure Apache Modulesをクリック
userdir include rewriteをチェック
Enable Selectd Modulessをクリック
ソフトウェアの管理からPHP5-curlをインストール
ソフトウェアの管理からPHP5-gdをインストール
ソフトウェアの管理からphp5-imagickをインストール
ソフトウェアの管理からphp5-mcryptをインストール
Webminサーバより - Apache Webサーバ - Apacheを停止 - Apacheを起動を行い
ブラウザより http://localhost/test.php で組み込まれているか確認します。

http://www.server-world.info/query?os=Ubuntu_14.04&p=httpd&f=2

自分ひとりだけで使うので気にするのは
 <Directory "/var/www/html/">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
 </Directory>
ぐらいでいい。
ユーザディレクトリ使った方が、パーミッション設定とかはやりやすいような気もするが。
不具合がでるまでこれで。

**rep2 [#k228ed49]
 sudo apt-get -y install apache2 php5 php-pear php-compat php-http-request php-pager php-file php5-curl curl unzip
 sudo pear install Net_UserAgent_Mobile
 curl -L -o /tmp/rep2.zip http://akid.s17.xrea.com/cgi/dl/dl.php?dl=p2
 sudo unzip -x /tmp/rep2.zip -d /var/www/html
 sudo cp -r /tmp/rep2.old/data /var/www/html/rep2/data
 sudo chown -R www-data:www-data /var/www/rep2/html
 firefox http://localhost/rep2/

**eAccelerator [#o01b2c50]
非力だったのでWindowsの時には入れていたけど、どーすっかな…。
まー入れるか。
%まー入れるか。%
%https://docs.moodle.org/24/en/Installing_eAccelerator_In_Ubuntu_Server%
入れなくていい。今のPHPは既にOPCacheが入っているので、これをenableすればいいだけ。
/etc/php5/apahce2/php.iniを見てここら辺の値を変えたりコメントアウトしたり。
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1

https://docs.moodle.org/24/en/Installing_eAccelerator_In_Ubuntu_Server

**2chproxy [#k18c4238]
2chproxy.pl
git clone https://github.com/yama-natuki/2chproxy.pl.git

変更
 DEDICATED_BROWSER => “rep2”,                    #使用している専ブラの名前
 DAT_DIRECTORY => “/var/www/html/rep2/data/”,    #datファイルが置いてあるディレクトリ

あとは起動時にdaemonで動くように設定。「自動起動するアプリの設定」で充分。
rep2のuser confでプロキシ使うように設定。

**samba [#ga9d0792]
http://t-akiyama.at.webry.info/201404/article_9.html
http://t-akiyama.at.webry.info/201405/article_5.html

**bittorrent client [#ae4d2433]
デフォルトで入っているtransmissonの問題点は、ラベルがつけられないこと。
qbittorrentを入れてみる。qbittorrent-noxとatコマンドで(cronでも)なんとかなる。
ktorrentだとかなり細かい時間指定ができる。しかしでかい。これのためにKDE?それに起動オプション不明。wikiは死んでるし。
結局utorrentを入れるのが正解か。ワンクリック全ストップ/全再開ができないが。→できる。FirefoxアドオンのTorrent Status Toolを入れればいい。
http://askubuntu.com/questions/530955/how-to-install-utorrent-v3-3-on-14-04
http://helpdeskgeek.com/how-to/install-and-configure-utorrent-server-in-ubuntu-linux/
utorrent web uiを他マシンから使うのは、Windows10からだと大丈夫なのだが他のだと上手くいかない。何故か不明。
bittorent(utorrent) remote使う?これってプライバシー上問題なのかどうなのか、なんも情報がない。
でもremote使えばスマホからも操作可能。
起動スクリプト作って~/binにおいて、「自動起動するアプリの設定」で起動。

**DDNS updater [#o669d5c6]
はじめDiCEのLinux版入れたけど、バイナリって…。
つーかDiCE使っているとなんかOfflineになるし。バイナリで直せないしゴミですね。
スクリプト拾ってきてやるほうがいいんでないの?

http://ieserver.net/ddns-update.txt
http://ai-line.com/linux/
https://www.cphub.net/?id=40&pid=304
http://sourceforge.net/projects/ddclient/
とかGnuDIP clientとか。

変更しやすいのでhttp://ieserver.net/ddns-update.txtを使う。
外スクリプトとか使わないで、ルーターにBasic認証付きでステータスページにアクセスしてグローバルアドレス取得するように変更…だがルータのパスワード見せるのも…という感じなので、もともとのipcheck.shtmlのままに戻す。以下の変更は行い、ユーザ権限でcron回す。
-前回更新からx分以内では更新しない
-前回更新からy日過ぎた場合は強制的に更新する

 #!/usr/bin/perl
 
 # 下記のスクリプトを
 # 1. グローバルIPアドレスを使用しているルータから取得 >> できるけど外した
 # 2. 前回更新からx分以内では更新しない
 # 3. 前回更新からy日過ぎた場合は強制的に更新する
 # ように自分で変更した。 
 
 # ieServer.Net 専用 DDNS IP アドレス更新スクリプト - ddns-update.pl
 # 作成者:山本恭弘@Agora Inc. 作成日:2004/03/24
 #
 # 回線割り当てグローバルIPアドレスを確認し、変化があれば新IPアドレスを
 # DDNSに登録。当コマンドを一定の間隔で実行し、IPアドレスの変化を監視&
 # 更新処理する。利用には perl wget cron が利用可能である必要あり。
 #
 # 回線に割り当てられた IPアドレス は http://ieserver.net/ipcheck.shtml
 # へのアクセスによって確認。
 #
 # cron にて当コマンドを等間隔で実行し、回線IPを確認。変化があればDDNSに
 # IPアドレスを登録。DDNSサーバーへの負荷軽減の点から実行間隔は10分以上と
 # すること。
 # crontab設定例(/usr/local/ddns/ddns.plにスクリプトを置き10分間隔で実行)
 # 5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl
 
 # 以下2ファイルの配置ディレクトリは好みに応じ設定
 # 1. 設定IPアドレスワークファイル
 $CURRENT_IP_FILE = "/home/hoge/log/current_ip";
 
 # 2. 設定状況ログファイル
 $LOG_FILE        = "/home/hoge/log/ip_update.log";
 
 # 3. 最終更新時間
 $LAST_TIME=0;
 @fileinfo = (stat $CURRENT_IP_FILE);
 $LAST_TIME = $fileinfo[9];
 
 # 前回アップデートからこの時間(min)以内では更新しない 
 $UPDATE_INTERVAL_MIN = 60;
 
 # 前回アップデートからこの時間(day)過ぎたら強制的に更新する。
 $FORCE_UPDATE_DAY = 7;
 
 # 回線IP確認ページURL
 $REMOTE_ADDR_CHK = "http://ieserver.net/ipcheck.shtml";
 # DDNS更新ページURL
 # wgetをSSL接続可能でビルドしているなら、https:// での接続を推奨
 $DDNS_UPDATE     = "http://ieserver.net/cgi-bin/dip.cgi";
 
 # ieServer.Netにて取得したアカウント(サブドメイン)情報を記入
 $ACCOUNT         = "	";	# アカウント(サブドメイン)名設定
 $DOMAIN          = "	";	# ドメイン名設定
 $PASSWORD        = "	";	# パスワード設定
 
 if(!open(FILE,"$CURRENT_IP_FILE")) {
     $CURRENT_IP = '0.0.0.0';
     } else {
     $CURRENT_IP = <FILE>;
     close FILE;
 }
 #print $CURRENT_IP;
 
 $NEW_IP = '0.0.0.0';				# meaning offline
 $NEW_IP = `wget -q -O - $REMOTE_ADDR_CHK`;
 
 ### My case, get global ip from router instead of outside:
 #open(STANET, "wget -q --http-user=xxx --http-password=xxx http://192.168.11.1/stanet.asp -O - |")  || die "can't wget : $!";
 ##or# open(STANET, "curl -u xxx:xxx http://192.168.11.1/stanet.asp - |")  || die "can't wget : $!";
 #while (<STANET>) {
 #    if(/name=\"ip\" value=\"/){
 #        $NEW_IP=substr($', 0, length($')-3);
 #        print $NEW_IP;
 #    }
 #}
 #close(STANET) || die "can't close wget : $!";
 
 #
 # offline | >1wks | unchange | <60min | action
 # 1       | x     | x        |        | No & log(offline) if ($CURRENT_IP != '0.0.0.0') 
 # 0       | 1     | x        | x(0)   | Update & log
 # 0       | 0     | 1        | x      | No
 # 0       | 0     | 0        | 1      | No 
 # 0       | 0     | 0        | 0      | Update & log
 
 if ($NEW_IP eq "0.0.0.0" ) {
     if ($CURRENT_IP != '0.0.0.0') {
         open (FILE ,">$CURRENT_IP_FILE");
         print FILE $NEW_IP;
         close FILE;
         $TIME = localtime;
         open (FILE ,">>$LOG_FILE");   
         print FILE "$TIME offline\n";
         close FILE;
     } else {
 	;
     }
 } elsif (((time-$LAST_TIME) >= $FORCE_UPDATE_DAY * 24 * 60 * 60 )
 	 ||(($CURRENT_IP ne $NEW_IP) && ((time-$LAST_TIME) >= $UPDATE_INTERVAL_MIN * 60))) {
     $STATUS = `wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'`;
     if ($STATUS =~ m/$NEW_IP/) {    
         open (FILE ,">$CURRENT_IP_FILE");
         print FILE $NEW_IP;
         close FILE;
         $TIME = localtime;
         open (FILE ,">>$LOG_FILE");
         print FILE "$TIME $ACCOUNT.$DOMAIN Updated $CURRENT_IP to $NEW_IP\n";
         close FILE;
     } else {
         $TIME = localtime;
         open (FILE ,">>$LOG_FILE");
         print FILE "$TIME $ACCOUNT.$DOMAIN Update aborted $CURRENT_IP to $NEW_IP\n";
         close FILE;
     }
 }
 
 exit;

**Cloud Strage [#ge3b19c0]
ownCloud or Seafile or Pydio