Linux Server – Linux Home Server http://www.now.mfnet.ne.jp/~ozachin/wordpress Long Road Linux Mon, 27 Jan 2020 00:17:47 +0000 ja hourly 1 https://wordpress.org/?v=5.9.3 公開前にチェックするには http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=428 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=428#respond Mon, 27 Jan 2020 00:17:39 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=428 read more]]> サーバーへのコンテンツ公開には慎重なチェックが必要だ。
本稼働機とは別回線のテスト機でチェックしてみる。
ローカルでのチェックしかできないと思われるかもしれないが、ngrokのフリーサービスを利用すれば外部に公開してチェックできる。
ただし、urlはランダムな文字列で1回の起動で最大8時間という制限がある。
本公開前のチェックには十分だ。
インストールは
$ cd
$ get https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
$ sudo unzip ngrok-stable-linux-amd64.zip
以下で実行(起動)
$ ./ngrok http 80
セッションが確立すると、以下のように表示される。

ngrok by @inconshreveable                                                        (Ctrl+C to quit)

Session Status                online
Session Expires               7 hours, 56 minutes
Update                        update available (version 2.3.35, Ctrl-U to update)
Version                       2.3.27
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://5b86b0c6.ngrok.io -> http://localhost:80
Forwarding                    https://5b86b0c6.ngrok.io -> http://localhost:80

Connections                   ttl     opn     rt1     rt5     p50     p90
                              3       0       0.03    0.01    5.08    5.43


urlを入力すれば、以下のようにhttpリクエストも表示される。
(ここでは具体的内容は*で伏せてある。)
HTTP Requests ------------- 
GET /****/***/***.php  200 OK 
GET /****/***/****.php 200 OK
]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=428 0
ログ分析に役立つ小技 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=420 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=420#respond Thu, 23 Jan 2020 00:53:30 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=420 read more]]> サーバーへの攻撃は常時発生している。いち早く異常なアクセスを検知することが大切である。
さらに検知した内容をメールで送信するなどして一刻も早く対処すべきことがあれば実行しなくてはならない。
そのために役立つコマンドがdateコマンド
dateコマンドのオプションに過去の時間を設定するものがある。
例えば
date –date “10min ago”
で現在時刻から10分前の時間を指定できる。
これによって、直近の10分間にあったアクセスを抽出することが可能になる。
状況に合わせ、5分にするか15分にするかは判断すればよい。
さらにcronによる自動実行とメール送信を併せればそれなりの対応が可能であろう。
スクリプトの詳細は割愛するが、注意が必要なのは
cronにスクリプトのオプションとしてdateコマンドを設定する場合、
%をエスケープしないと正しく動作しないことである。
仮に、5分間のつもりで
*/5 * * * * /usr/bin/scriptname.sh date --date "5min ago" "+%Y-%m-%d%H:%M"
とすると、エラーとなる。
%の前に\を入れてエスケープしないと正しく解釈されないようである。
単独のスクリプトとして実行するのであれば問題はないが、ちょっとした落とし穴かもしれない。

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=420 0
コマンド操作の基本(3) http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=416 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=416#respond Mon, 20 Jan 2020 08:05:12 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=416 read more]]> 日々の操作でコマンドを入力していると、定期的に定型的なコマンドを入力することが多い。
そのたびに毎回長いコマンドをいくつも入力するのは大変だ。
そこで、これらの一連のコマンドをファイルに保存してシェルに読み込ませて実行させれば省力化できる。
シェルスクリプトを作成してみよう。
ただ、小生のような後発Linuxユーザーはどのシェルを使うべきか、しっかり確認が必要だ。
shは歴史が古く互換性・移植性においてこちらを選択した方がよいとする説明も見られる。
しかし、いろいいろ確認の結果、小生はbashで記述することを選択する。
例えば、外付けHDDの使用状況を調べることをよく行うが、nanoエディターで

#!/bin/bash
#ついでに日付や時刻も表示してみる
date
df -h /dev/sdb2

diskinfo.shとして保存し、
$ sudo chmod +x diskinfo.sh
で実行権を与える 。

ファイルの色が緑色に変わる。
./diskinfo.sh
と実行すればよい。
歴史のあるLinuxである。
便利に使える機能がいろいろとある。
コマンドを極めることは、Linux初心者にとって重要かつ必須のことであろう。

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=416 0
USBデバイスを使う http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=411 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=411#respond Mon, 20 Jan 2020 07:43:22 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=411 read more]]> システム障害に備え、大事なデータをバックアップする必要がある。
USB接続のHDDを用意する。
しかし、Linux初心者にとってファイルシステムは難関の一つではないだろうか。
WindowsのようなCドライブとかDドライブと言った概念がない。
/(ルートディレクトリ)を頂点とする階層構造ですべてが扱われる。
デバイスファイルの扱い方が分かっていないと何もできない。
1番目の SATA/USBドライブ /dev/sda
2場目の SATA/USBドライブ /dev/sdb
などということが分かってくる。

さらに、パーティションごとにsda1とかsdb2とかに割り当てられる。
これらをファイルシステムに結合させて初めて利用できる。
結合させることをマウント、結合点となるディレクトリをマウントポイントという。

内蔵SATAハードディスクが1台のノートPCではUSBに接続したHDDはsdbが割り当てられる。
データ領域はsdb2となる。
$ sudo mount /dev/sdb2 /mnt
とすれば、/mntディレクトリを通し、ファイルの読み書きが可能となる。

USBメモリなどからファイルの読み書きをしようとして、Linux初心者が最初にまごつく場面である。
「どうすればいいの・・・?」
システムのバックアップなどを考えなければ、sdaやsdbなどほとんど意識しないだろう。
ちなみに、パーティションテーブルは以下のようにして表示できる。

$ sudo fdisk -l /dev/sdb 

ディスク /dev/sdb: 931.5 GiB, 1000204886016 バイト, 1953525168 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: D43E22BB-2DE1-4E3E-A832-221589D0CFDE

デバイス   開始位置   最後から     セクタ サイズ タイプ
/dev/sdb1        34     262177     262144   128M Microsoft 予約領域
/dev/sdb2    264192 1953524063 1953259872 931.4G Microsoft 基本データ

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=411 0
コマンド操作の基本(2) http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=408 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=408#respond Mon, 20 Jan 2020 01:00:36 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=408 read more]]> 必要最低限のことが分かったつもりでも、もう一度基本を再確認すると発見がいろいろあるものだ。
不便に感じていた部分が一気に解決することもある。

ディレクトリーの移動もその一つ。
$ pwd カレントディレクトリーを確認
$ cd -  直前にいたディレクトリーに戻る
$ cd  ユーザーホームディレクトリーに戻る
コマンドの使い方が分からないときは、manコマンドでマニュアルを参照しよう。
シェル組み込みコマンドはhelpを使う。
長い引数やファイル名は補完して入力。

これは便利なので使わなければ損。
[Tab]キーを押すと、候補が1つならどんなに長くても一発で補完してくれる。
複数の候補がある場合は共通する部分が補完される。
もう一度[Tab]キーを押すとすべての候補が表示される。

また、補完とともに便利なのが履歴機能だ。
[↑]キーを押すごとに、最近実行した順にコマンドが表示される。
一部だけ変更もできるので、タイプミスも減り確実に入力できる。
[Ctrl+R]キーを押すと以下のようにプロンプトが替り、1文字入力するごとに検索できる。
(reverse-i-search)`’:_
 
今回の最後に、エイリアスを紹介しておこう。
よく使うコマンドであるが、オプションや引数が長くなる場合エイリアス (別名のこと、SQL文などでも使うことがある。)で短縮できる。
ホームディレクトリーにある「.bashrc」ファイルに記述しておくと、ログアウトしても消えない。
設定済みのaliasを確認するには
$ alias
登録するなら
$ alias [エイリアス[=’コマンド’]]

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=408 0
コマンド操作の基本(1) http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=347 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=347#respond Thu, 16 Jan 2020 11:35:41 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=347 read more]]> 改めて、基本的な操作の確認をしておこう。
タイプミスをして怒られるとドキッとするがありがたいメッセージもある。
コマンドが見つからないとき
$ [commandname][option]
Command ‘commandname’ not found,but can be installed with:
sudo apt install [commandname]
指示通りにすれば、必要なパッケージがインストールされる。
さて、最初にあげるべき必須コマンドは、ls
ファイルの一覧を表示する。
Linuxのファイルは大きく分けて4種類ある。
「通常ファイル」「ディレクトリー」「リンクファイル」「特殊ファイル」
特殊ファイルはデバイスを表すデバイスファイルなどでUnix系OS特有だ。
lsコマンドで表示されるファイルの種類は色で区別される。
白色  通常ファイル
青色  ディレクトリ
水色  シンボリックリンク
赤色  圧縮ファイル
緑色  実行ファイル
黄色  特殊ファイル

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=347 0
サーバー機について http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=87 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=87#respond Thu, 02 Jan 2020 06:40:08 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=87 read more]]> 液晶画面が不良となったVaioノート。サーバーと言えば一般にタワー型やラックマウント型を思い浮かべるが、確実に動いてくれればバッテリーのあるノートもいいかも。

全体に赤みがかって、両端には縞模様のようなものが・・・

サーバーインストール後にDeskTopを導入すると、デフォルトの設定でディプレイの電源が落ちるようになっているのでので便利。

詳細は、SSHクライアント機も含め別サイトに掲載。(数回の連載です。)

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=87 0
自宅サーバーへの道 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=33 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=33#respond Wed, 01 Jan 2020 10:08:24 +0000 http://www.now.mfnet.ne.jp/~ozachin/wordpress/?p=33 read more]]> Linuxはハードルが高すぎる。そう思っていだが、ある雑誌の別冊付録のDVDにUbuntu18.04LTSがあった。
MSDOS時代のコマンドラインのイメージしかなかったLinuxへの認識が一変した。

基本事項を確認し、これならLinuxの自宅サーバー公開も可能かななどと大胆な夢を抱いてしまった。

さて、サーバー機はどうするか。高価な新品を用意する予算はない。思いついたのは液晶が使い物にならなくなったVaioノートがある。廃棄予定であったがサーバー機なら画面は関係ないので復活のチャンスである。

Ubuntuサーバーを導入することにする。
インストールはいとも簡単であった。ただし、画面が使いものにならないので(真っ赤な画面に白い文字がなんとか判別できる状況)、SSHクライアントが必要である。

2つの環境を用意した。
1.win7環境のVaioにTera Termを導入。
2.win7環境では画面が表示できなくなったVaioにUbuntuDesktopを導入。

長い長い、自宅サーバーへの道がスタートした。

]]>
http://www.now.mfnet.ne.jp/~ozachin/wordpress/?feed=rss2&p=33 0