久しぶりにCentOSをインストール
CentOSが起動しなくなったのでCentOS7を久しぶりにインストールしました。
NHMを使ってスナップショットをとっていて、VMWarePlayerから使わなくなった
仮想マシン(スナップショット)を削除したら上記の通り起動しなくなってしまい
ました。
たいしたモノが入ってないので諦めてさっさと再セットアップ。
男は黙って最小限でセットアップです。
ネットワーク設定しとかないと接続出来ません。
オンにしましょう。
起動出来ました。
sshでも接続出来ます。
vmware-toolsをインストールします。
[root@localhost vmware-tools-distrib]# ./vmware-install.pl -bash: ./vmware-install.pl: /usr/bin/perl: 誤ったインタプリタです: そのようなファイルやディレクトリはありません
と出力されます。
最小限だとperlが無さそうです。
perlをインストール
yum update yum install -y install perl
再度インストールすると
Setup is unable to find the "ifconfig" program on your machine. Please make sure it is installed. Do you want to specify the location of this program by hand? [yes] What is the location of the "ifconfig" program on your machine?
と出力されます。
ifconfigが無くてip addrを使ってたけどvmware-toolsインストール時に
こんなの出てたかな。
vmwareのknowledge baseを見ると
RHEL7やCentOS7はnet-toolsをインストールしないといけないらしい。
ということでインストール
yum install -y net-tools
ここまでやるとvmware-toolsのインストールが完了しました。
広告を非表示にする為にプロキシサーバ(squid)をたてる
広告を非表示にする為にプロキシサーバをたてました。
インストール
iptablesの設定
今回はCentOS6なのでiptablesの設定を記載します。
25128というポートを使用したいと思います。
iptables -A INPUT -p TCP --dport 25128 -j ACCEPT
確認します
iptables -L ACCEPT tcp -- anywhere anywhere tcp dpt:25128
コンフィグ設定
squid.confを編集します。
まずはバックアップ。
cp /etc/squid/squid.conf /etc/squid/squid.conf.org
ホスト名の設定
ホスト名を設定してやらないとwarningが出ます。
Stopping squid: 2016/XX/XX XX:XX:XX| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'. 2016/XX/XX XX:XX:XX| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
ホスト名を設定します。
visible_hostnameの行が無い場合、追加して下さい。
visible_hostname ホスト名
ポートの変更
デフォルトだと不安なのでポートを変更します。
# Squid normally listens to port 3128 http_port 25128
ダイジェスト認証
パスワードファイルを作成します。
htpasswd -bcp /etc/squid/passwd ユーザ名 パスワード
squid.confにダイジェスト認証をする為の設定をします。
###ダイジェスト認証用パスワードファイル auth_param digest program /usr/lib64/squid/digest_pw_auth /etc/squid/passwd ###認証用のプロセス数を制限する auth_param digest children 3 ###プロキシサーバの名前 auth_param digest realm Proxy Web Server ###クライアントエージェントの有効性をチェックする時間 auth_param digest nonce_garbage_interval 5 minutes ###nonce(臨時・その場限り)の有効性のチェックする時間 auth_param digest nonce_max_duration 30 minutes ###nonceの使用できる回数 auth_param digest nonce_max_count 50 ###ダイジェスト認証 acl password proxy_auth REQUIRED ### password #以下2行をコメントアウト #http_access allow localnet #http_access allow localhost #以下を追加 http_access allow password
blacklistの設定
下記のようなファイルを作成します。
blacklist.conf
XXXX.net XXXX.info
squid.confにblacklistを使用する為の設定をします。
acl blacklist dstdomain "/etc/squid3/blacklist.conf" http_access deny blacklist
dstdomainはデスティネーションドメインです。
blacklistの設定(正規表現を使用)
正規表現を使用する場合です。
下記のようなファイルを作成します。
blacklist_reg.conf
.*/ad/.*
squid.confにblacklist_regを使用する為の設定をします。
acl blacklist_reg url_regex "/etc/squid3/blacklist_reg.conf" http_access deny blacklist_reg
dstdomainの代わりにurl_regexを使用します。
ログフォーマットの変更
デフォルトだとシリアル値が出力されてしまうので、日付けフォーマットに変更します。
logformat squid %tl %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
起動
最後に起動してやります。
service squid start
chkconfig squid on
blacklistはインターネットを検索してみると2016年でもいくつか見つかりました。
助かります。
まだblacklist_reg.conf周りがうまくいってないかも。
後日調査。
SSHポートフォワーディング
SSHのポートを通じてftpやmysqlなどの通信を行うことが出来るSSHポートフォワーディングの設定です。
TeratermでSSHポートフォワーディング
クライアントはOSはWindows、sshポートフォワーディングの為にTeratermを使用します。
サーバはLinuxです。
Teratermを開いて、設定メニューからSSH転送を選択します。
追加をクリックします。
このように設定します。
ローカルのポートは何でも構いません。
リッスンは空で良いです。
リモート側ホストはリモートのホストアドレス(クライアントのhostsにのみ書かれたドメイン名は無効です)。
今回は192.168.10.5というサーバを想定しました。
ポートはMySQLを想定したので3306を指定しました。
これで192.168.10.5のサーバにSSH接続します。
DB接続ツールなどでローカルの13306に接続すると、192.168.10.5のDBに接続することが出来ます。
[まだ後日書き足す予定]
Youtube-dl
youtubeで見つけたお気に入りの動画をダウンロードする為に使うこのツール。
まずはubuntu15.04にインストールしてみました。
ubuntu15.04へのインストール方法
curl https://yt-dl.org/downloads/日付/youtube-dl -o /usr/local/bin/youtube-dl
日付の箇所は、最新のものを確認して記載します。
パーミッションは755
chmod 755 /usr/local/bin/youtube-dl
これでインストール完了です。
使い方
youtube-dl URL
URLはhttp(s)を含んでも含まなくてもどちらでも良いです。
mp3ファイルとしてダウンロードしたい時はこのように指定します。
youtube-dl -x --audio-format mp3 URL
ffmpegをインストールしていないと下記のエラーが出ます。
ERROR: ffprobe or avprobe not found. Please install one.
そうなったらインストールしましょう。
apt-get install ffmpeg
CentOS7ではNux Dextop repositoryからインストールするのが簡単そうでした。
依存関係の為先にepel-releaseをインストール。
CentOS7へのインストール方法
yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel
追加したリポジトリを必要の時にのみ使用したい場合は
/etc/yum.repos.d/配下のrepoファイルのenableを0にして下さい。
その際は下記のようなコマンドでインストールを行います。
yum --enablerepo=epel install ~~ yum --enablerepo=nux-dextop install ~~
Ajax 初めの一歩
非常にいまさらなんですが、Ajaxの基礎の基礎について書きたいと思います。
使用言語はPHPにします。
値を入力して送信、サーバで計算してローカルに値を戻します。
必要なファイルはtest.htmlとtest.phpです。
test.htmlにアクセスして送信ボタンを押すとtest.phpにデータが送信され
結果をtest.htmlに戻して値を表示します。
htmlはこんな感じ
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script type="text/javascript"> function func() { $.ajax({ type: "POST", url: "./test.php", data: { num1 : $(val1).val(), num2 : $(val2).val() }, dataType: 'json', success: function(data) { target = document.getElementById("output"); target.innerHTML = data.msg; } }); } </script> </head> <body> <center> <label>値1<input type="text" name="val1" id="val1" size="3" maxlength="3"> X </label> <label>値2<input type="text" name="val2" id="val2" size="3" maxlength="3"></label> <input type="button" value="送信" onclick="func();" /> <div style="text-align:center" id="output"></div> </center> </body> </html>
続いてphp
<?PHP $num1 = (int)$_POST['num1']; $num2 = (int)$_POST['num2']; $rtnVal = $num1 * $num2; header("Content-Type: application/json; charset=utf-8"); echo json_encode( array( 'msg' => $rtnVal ) ); ?>
シンプルな例ということで。
エクセルで各値の個数の集計
エクセルでこういったデータの個数の集計をしたい時
どうやるんだったかよく忘れてしまうので、手順をまとめます。
こういったデータを・・・
こんな感じに集計したい
まずはソートします。
そのままね
ソートされました。
次に集計
ここで個数の集計
そうすると完成