server

LinuxでUTF-8のBOMを削除する

Wed May 17, 2017 in server using tags vim , utf-8

Linux上でUTF-8のファイルに含まれるBOM(Byte Order Mark)を削除する方法です。Webで検索するとたくさん情報が出てきますが、今回はvimを使った方法を残しておきます。 きっかけとしては、Windowsで作成したシェルスクリプト(UTF-8)をLinuxで実行した際に1行目でエラーが出力されたことです。なぜエラーが出るのか調べてみるとBOMが原因であることがわかりました。 Windowsのnotepadで保存するとBOM付きで保存されるようです。 BOMの確認 ファイルをcatやemacsで表示しても通常はBOMを見ることはできません。これはプログラムがBOM付き、BOMなしに関わらずうまく解釈して表示してくれるからです。ですが、lessやmoreではBOMをそのまま表示してくれますので、BOM有無の判断に使用できます。<U+FEFF>がBOMです。 $ less bom.txt <U+FEFF>#!/bin/sh echo hoge BOMの削除 通常vimでファイルを開くとBOM付き、BOMなしを意識せず開いてくれます。ここで「-b(バイナリモード)」オプションをつけてvimを起動するとBOMを表示することができます。 $ vim -b bom.txt <feff\>#!/bin/sh echo hoge あとはBOM(↑でいうところの<feff>)を削除して保存すれば、BOMなしファイルができます。 以上

CentOS 7.3にLet's Encryptの証明書を導入する

Wed May 3, 2017 in server using tags centos , Let's Encrypt

前提 OS CentOS Linux release 7.3.1611 (Core) Web Server Apache 2.4.6 firewalld enabled SELinux disabled firewalldでhttpsを有効化 インターネットからhttpsアクセスを許可する。 $ sudo firewall-cmd --permanent --zone=public --add-service=https success $ sudo firewall-cmd --reload success $ sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: http https ports: protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: EPELリポジトリのインストール EPELリポジトリをインストールする。

Raspberry Pi 2のイメージバックアップを行う

Sun Jan 15, 2017 in server using tags raspberrypi , home-network , homenas1

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 今回はhomenas1のバックアップを行います。 gitのインストール $ sudo -E apt-get install git パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: git-man liberror-perl 提案パッケージ: gettext-base git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn 以下のパッケージが新たにインストールされます: git git-man liberror-perl アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 1 個。 4,015 kB のアーカイブを取得する必要があります。 この操作後に追加で 20.4 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main liberror-perl all 0.17-1.1 [22.4 kB] 取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main git-man all 1:2.

Raspberry Pi 2でファイルバックアップを行う

Thu Jan 12, 2017 in server using tags raspberrypi , home-network , homenas1

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 今回はhomenas1にrsnapshotを導入してファイルバックアップを行う設定を行います。 なおバックアップ元は/mnt/nas/、バックアップ先は/mnt/backup/を想定しています。 $ df -h /dev/sdc1 917G 72M 871G 1% /mnt/backup /dev/md0 394G 71M 374G 1% /mnt/nas $ rsnapshotのインストール $ sudo -E apt-get install rsnapshot パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: liblchown-perl rsync 以下のパッケージが新たにインストールされます: liblchown-perl rsnapshot rsync アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 1 個。 507 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,133 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main liblchown-perl armhf 1.01-2+b1 [8,828 B] 取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main rsync armhf 3.

Raspberry Pi 2でCactiを導入する(サーバの登録)

Mon Jan 9, 2017 in server using tags raspberrypi , home-network , homenas1 , homemon1 , homemon2 , homepxy1 , homepot1

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 前回はCactiを導入しました。 今回はCactiにhomenas1、homemon1、homemon2、homepxy1、homepot1を登録していきます。SNMPv3を使用してSNMPの値を取得します。 snmpdのインストール 追加するデバイス(Server)にsnmpdをインストールする。 $ sudo -E apt-get install snmpd snmp パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libperl5.20 libsensors4 libsnmp-base libsnmp30 提案パッケージ: lm-sensors snmp-mibs-downloader snmptrapd 以下のパッケージが新たにインストールされます: libperl5.20 libsensors4 libsnmp-base libsnmp30 snmp snmpd アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 1 個。 3,836 kB のアーカイブを取得する必要があります。 この操作後に追加で 7,088 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libperl5.20 armhf 5.20.2-3+deb8u6 [1,354 B] 取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libsensors4 armhf 1:3.3.5-2 [48.9 kB] 取得:3 http://mirrordirector.

Raspberry Pi 2でCactiを導入する

Mon Jan 9, 2017 in server using tags raspberrypi , home-network , homemon1 , homemon2

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 今回はhomemon1、homemon2にCactiを導入します。 Cactiのインストール Cactiをインストールします。 途中でApache2の設定やMySQLのパスワードについて聞かれるので適宜回答します。 $ sudo -E apt-get install cacti cacti-spine パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: dbconfig-common fontconfig javascript-common libcairo2 libdatrie1 libdbi1 libgraphite2-3 libharfbuzz0b libjs-jquery libjs-jquery-cookie libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libphp-adodb libpixman-1-0 librrd4 libthai-data libthai0 libxcb-render0 libxcb-shm0 libxrender1 php5-snmp rrdtool snmp 提案パッケージ: moreutils snmp-mibs-downloader php5-adodb librrds-perl 以下のパッケージが新たにインストールされます: cacti cacti-spine dbconfig-common fontconfig javascript-common libcairo2 libdatrie1 libdbi1 libgraphite2-3 libharfbuzz0b libjs-jquery libjs-jquery-cookie libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libphp-adodb libpixman-1-0 librrd4 libthai-data libthai0 libxcb-render0 libxcb-shm0 libxrender1 php5-snmp rrdtool snmp アップグレード: 0 個、新規インストール: 26 個、削除: 0 個、保留: 1 個。 6,777 kB のアーカイブを取得する必要があります。 この操作後に追加で 16.

Raspberry Pi 2でZabbixサーバを構築する(Agent導入)

Mon Jan 9, 2017 in server using tags raspberrypi , home-network , homenas1 , homemon1 , homemon2 , homepxy1 , homepot1

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 前回はZabbix Serverを導入しました。 今回はhomenas1、homemon1、homemon2、homepxy1、homepot1にZabbix Agentを導入していきます。 Zabbix Agentのインストール Zabbix Agentをインストールします。 $ sudo -E apt-get install zabbix-agent パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libcurl3-gnutls libpci3 pciutils 以下のパッケージが新たにインストールされます: libcurl3-gnutls libpci3 pciutils zabbix-agent アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 1 個。 819 kB のアーカイブを取得する必要があります。 この操作後に追加で 2,344 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libpci3 armhf 1:3.2.1-3 [48.2 kB] 取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libcurl3-gnutls armhf 7.38.0-4+deb8u5 [225 kB] 取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main pciutils armhf 1:3.

Raspberry Pi 2でZabbixサーバを構築する

Sun Jan 8, 2017 in server using tags raspberrypi , home-network , homemon1 , homemon2

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 前回に引き続きhomemon1、homemon2を構築していきます。 本環境の監視を行うためにZabbixを導入します。 Zabbix Serverのインストール $ sudo -E apt-get install zabbix-server-mysql zabbix-frontend-php php5-mysql task-japanese パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: apache2 apache2-bin apache2-data apache2-utils bdf2psf fbterm fontconfig-config fonts-dejavu-core fping libaio1 libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl3-gnutls libdbd-mysql-perl libdbi-perl libfontconfig1 libfontenc1 libgd3 libhtml-template-perl libiksemel3 libjbig0 libltdl7 liblua5.1-0 libmysqlclient18 libodbc1 libonig2 libopenipmi0 libpci3 libperl4-corelibs-perl libperl5.20 libqdbm14 libsensors4 libsnmp-base libsnmp30 libterm-readkey-perl libtiff5 libvpx1 libxfont1 libxpm4 lsof lv manpages-ja manpages-ja-dev mysql-client-5.5 mysql-common mysql-server mysql-server-5.

Raspberry Pi 2でSyslogサーバを構築する

Sat Jan 7, 2017 in server using tags raspberrypi , home-network , homemon1 , homemon2 , homefw01

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 前回に引き続きhomemon1、homemon2を構築していきます。 FortiGate 60Dの通過ログやセキュリティイベントログを記録するためにSyslogサーバを構築します。 rsyslogの設定 ネットワーク機器のSyslogを保存する用の設定 ネットワーク機器のIPアドレスまたはホスト名でディレクトリを作成し、IPアドレスまたはホスト名でログファイルを作成する。 例)/var/log/network-device/ホスト名/ホスト名.log $ sudo cp -p /etc/rsyslog.conf{,.org} $ ls -l /etc/rsyslog.conf* -rw-r--r-- 1 root root 2632 12月 14 2015 /etc/rsyslog.conf -rw-r--r-- 1 root root 2632 12月 14 2015 /etc/rsyslog.conf.org $ $ sudo vi /etc/rsyslog.conf #$ModLoad imudp #$UDPServerRun 514 $ModLoad imudp $UDPServerRun 514 $WorkDirectory /var/spool/rsyslog # # Queue # $MainMsgQueueType LinkedList #$ActionQueueType Direct $ diff /etc/rsyslog.conf.org /etc/rsyslog.conf 16,17c16,17 < #$ModLoad imudp < #$UDPServerRun 514 --- > $ModLoad imudp > $UDPServerRun 514 46a47,52 > > # > # Queue > # > $MainMsgQueueType LinkedList > #$ActionQueueType Direct $ $ sudo vi /etc/rsyslog.

Raspberry Pi 2でNTPサーバを構築する

Sat Jan 7, 2017 in server using tags raspberrypi , home-network , homemon1 , homemon2

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。 今回はhomemon1、homemon2を構築していきます。 まずは本環境内の機器から時刻同期を行えるようにNTPサーバを構築します。 NTPサーバの構築 $ sudo cp -p /etc/ntp.conf{,.backup20170107} $ ls -l /etc/ntp.conf* -rw-r--r-- 1 root root 2052 9月 23 13:25 /etc/ntp.conf -rw-r--r-- 1 root root 2052 9月 23 13:25 /etc/ntp.conf.backup20170107 -rw-r--r-- 1 root root 1988 7月 26 07:36 /etc/ntp.conf.org $ $ sudo vi /etc/ntp.conf # Clients from this (example!) subnet have unlimited access, but only if # cryptographically authenticated. #restrict 192.168.123.0 mask 255.255.255.0 notrust restrict 192.168.10.0 mask 255.