読者です 読者をやめる 読者になる 読者になる

orz.conf

技術メモ✍

CentOS7 IPの固定

linux

毎度毎度調べて設定するIPアドレス
VMWare Player上に構築する際の設定です。

BOOTPROTOをdhcpからstaticに変更
DNS1はVMware Virtual Ethernet Adapter for VMnet8の
アダプタ設定が192.168.31.1となっているのであれば
192.168.31.2を設定。GateWayについても同様に192.168.31.2。

BOOTPROTO=static
DNS1="192.168.31.2"
DOMAIN=test.com
IPADDR=192.168.31.131
NETMASK=255.255.255.0
GATEWAY=192.168.31.2

この書き方でバックアップを作成することが可能です。

cp -p test{,.org}

グループウェアのインストール

久しぶりにCentOSをインストールしたのはグループウェアを試したかったからでした。

toshtone.hatenablog.jp

グループウェアのAipoっていうのが良さそうだなと思って、
インストールしてみました。

インストールはとても簡単。
このサイトの手順で進めるだけ。
インストール手順 - オープンソース|Aipo(アイポ)

すぐに終わります。
さあ外部から接続しようと試すも、つながらない。

firewalldは動いてないからSELinuxか!

SELinuxは最小限のセットアップでも入るんですね。
なんとも邪魔くさい。

# getenforce
Enforcing

やっぱりか!
では/etc/selinux/configを編集するか
disabledを追加して再起動。

あれ起動しない。
何か失敗している。
GRUBのとこでeを押してごにょごよするか。

f:id:toshtone:20161207232338p:plain

selinux=0を追加する。
=が出せないのですが、隣の~(チルダ)^(ハット)へのキーで出すことが
出来ます。

f:id:toshtone:20161207232824p:plain

linux16の行末ですね。
そしてctrl+xで起動。

無事起動出来たら、/etc/selinux/configを見てみる。

f:id:toshtone:20161207234658p:plain

やっぱり間違えていました。

SELINUX=disabled

にして再起動。

その後Aipoの起動も確認できました。

久しぶりにCentOSをインストール

CentOSが起動しなくなったのでCentOS7を久しぶりにインストールしました。

f:id:toshtone:20161204181530p:plain

NHMを使ってスナップショットをとっていて、VMWarePlayerから使わなくなった
仮想マシン(スナップショット)を削除したら上記の通り起動しなくなってしまい
ました。

たいしたモノが入ってないので諦めてさっさと再セットアップ。


f:id:toshtone:20161204182215p:plain

男は黙って最小限でセットアップです。


f:id:toshtone:20161204182349p:plain

ネットワーク設定しとかないと接続出来ません。
オンにしましょう。


f:id:toshtone:20161204182519p:plain

起動出来ました。

sshでも接続出来ます。

f:id:toshtone:20161204183518p:plain


vmware-toolsをインストールします。

f:id:toshtone:20161204183750p:plain

[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)をたてる

広告を非表示にする為にプロキシサーバをたてました。

インストール

環境

CentOS release 6.8 (Final)

まずは既にインストールされていないかどうか確認します。

rpm -qa | grep squid

何も出なければOK。

続いてsquidをインストールします。

yum -y install squid

下記のものがインストールされました。

squid-3.1.23-16.el6_8.6.x86_64

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のポートを通じてftpmysqlなどの通信を行うことが出来るSSHポートフォワーディングの設定です。

7VlRk5s2EP41frwbMIbDj8F3SR+SmetcZ9o+dWSQscYYMUKO7fz6rKQVCLCv7hW7SRo/eNAiraTvW+2ulkmw2B4+CFKtP/GMFpOplx0mweNkOo39GP6V4GgEvjeHppLkgmUoawUv7Au1HVG6YxmtOx0l54VkVVeY8rKkqezIiBB83+224kV31orkdsZW8JKSYij9nWVyjfuaRq38F8ryNc4cxjPzYknSTS74rsTpJtNgpX/m9ZZYVbjPg2ea0dy0j9i+m0bNVGVnSV8433YEgtYtfLhd1kWkJJ87sxas3HQBWnKRUeF0Cp6AXsE5KFJP28OCFopiy57R9P7M2wY+QUtcyt8MiGchndFsRmZp6i2jOzSXz6TY4d6MoJZHy9GKl3LBC26WHXheFC0WkyD5TIVkQOW7guUKO8krR/qRLGnxzGsmGVdvl1xKhWhS9F6ksHQFSUJQTyNYy20BbR8ec0EyBvJHJsAMzcCSC8VyUkvBN435AKRJvSaVWvz2AOOq9X1J5Z6LTX1fkMqsEnpkfA9dwA6SqiCsvIOuRwQDtkDxiJ1AWIsQ3g+Ub6kUMNDDAQ/IPZ7IO5AYwb61b9/DTmvXtkM8VmgxeaO65RMekNIL6Q3+V/SCK9vAMv+q0qtSHHjWi1iOA+TO4Xh2gmJrG6NSjB7xNYppmb1TzlqjWoLQxb6DkwG7Yw7qB29Ax3umVqX7mSloNvDul2LoD88JbsTBMDx1TF7BEGd75gwWccFUVkfNdyKlOMz1nj1NU3tuG01WYDVJInIqB5o0qQ0Ib+MZTey747l3VvwY1z0+z3GPnYb474pnzEccnleyGlAN3guAcvnV+QlZ6g6KOrKT4IV1xqJeW/db0JUaeNq71xVJWZn/phqP4FnAcaot6k2HySR8bEziXzlQP8ID2OA7GzrQ4IRR2MRqVAeK8dkBvK7XPxjgYT9i+cOs5GaA46XFAfzT8eXXjz845H40tPHoVpDjWi4MHmlB6pqpJOot8QPW+ofqdh9OQyv4Uwse4sgKnqlgsC19F9LDDkyaUfOHANtmkB4Crf6IM6HJ+PgzMPhIgXHfr+fMl1M9jXFIQ/UcTXz0GNdYTDNV/9pwaYwLbAmgjXE9TVeMcXbu29ojBJmOOfoPSs9JczxjXGPbDaptE1PUMb7dDKbqZzQX50bWtttQgoJb2A3uopccPQUTyCqTUD8Ek2SBD3Pc4zcRU8wV9Ag7BKsd4RIa9EO69QT/RXzxh3UklUT9JEYfNRQ4xNibyfWJGVaATLL1kxp9QxxeRi0A16fmgsrNt1CcW0E5wFnDQv9Oxdwojv1EJW+2nGffYTFipCrfCobvicI50V8AqAJYJwFuRpCrnAF3MILpQATtneoT6fypmp9vb1rj2s4F1aDx66vLHezhLez2zBg/1cD5dtIu9UlnCaqcVCyxMvxwBcfwmnXd5qtYm9qgwPXciPz13cOwEPSPc2Qn+Q1g4Z3sd3b+MvYqxFdOiofVWg/nuUFh+K1JMTjmaxUModl+HjTd20/BwdNX

TeratermSSHポートフォワーディング

クライアントはOSはWindowssshポートフォワーディングの為にTeratermを使用します。
サーバはLinuxです。

Teratermを開いて、設定メニューからSSH転送を選択します。
f:id:toshtone:20160214215801j:plain

追加をクリックします。
f:id:toshtone:20160214215824j:plain

このように設定します。
f:id:toshtone:20160214220449j:plain

ローカルのポートは何でも構いません。
リッスンは空で良いです。
リモート側ホストはリモートのホストアドレス(クライアントのhostsにのみ書かれたドメイン名は無効です)。
今回は192.168.10.5というサーバを想定しました。
ポートはMySQLを想定したので3306を指定しました。

これで192.168.10.5のサーバにSSH接続します。

DB接続ツールなどでローカルの13306に接続すると、192.168.10.5のDBに接続することが出来ます。
[まだ後日書き足す予定]

ubuntu15.04でYoutube-dl

youtubeで見つけたお気に入りの動画をダウンロードする為に使うこのツール。

インストール方法

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をインストール。

yum -y install epel-release

続いてNux Desktopリポジトリをインストール。

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

ffmpegをインストール。

yum -y install ffmpeg ffmpeg-devel

追加したリポジトリを必要の時にのみ使用したい場合は
/etc/yum.repos.d/配下のrepoファイルのenableを0にして下さい。
その際は下記のようなコマンドでインストールを行います。

yum --enablerepo=epel install ~~
yum --enablerepo=nux-dextop install ~~

文字コードと改行コードの変換

linux

Linux環境ならすぐ変換することが出来ますね。
よく、sjis+crlfというWindowsのファイルをutf8+lfにすることがあります。

Linux環境があってしかもnkfが入っているようならlinuxに移して変換してやると
とても楽です。

入っていないようならインストール。

yum install -y nkf

続いて変換するファイルをscp等でLinux環境に移動。
そして変換をかけてやる。

nkf -wLu --overwrite *.txt

確認はnkf -g ファイル名

英字だけのファイルは何回変換してもasciiと表示されるだけです。
だって英字だけのファイルなんでね。