Apacheの稼働プロセス一覧だけを表示する 
2019/08/22 Thu.
ps auxw | grep -E '(STAT|httpd)'
もしくはps auxw | grep -E '(STAT|apache)'
category: サーバー
FreeBSD11をレッツノートCF-R3にインストールしようとしたらエラー 
2019/08/13 Tue.
CF-R3にFreeBSD11.3をインストールしようと思ったのですが、インストーラが起動する前にエラーが発生。
なんとか解決できたので備忘録。
なんとか解決できたので備忘録。
category: サーバー
Apacheのhttpd.confにドメインを追加したらつながらない 
2018/11/25 Sun.
CustomLog で指定したディレクトリがなかっただけだった。
httpd -t
でエラーも出ないのにつながらない。
動かないレベルで問題あるならエラー出せよ!
ハゲかかったわ!
httpd -t
でエラーも出ないのにつながらない。
動かないレベルで問題あるならエラー出せよ!
ハゲかかったわ!
category: サーバー
Let's Encryptの自動更新がうまくいかなかった 
2018/03/08 Thu.
毎月自動でLet's Encryptの証明書を更新するようにしているのですが、今月、複数ある証明書のうち一つだけ何かおかしい。
一応、結果報告では全て「Congratulations! 更新できたよ!」と書かれているのですが、良く見ると一つだけディレクトリ名が変わっている。
こんなかんじ、
~/letsencrypt/live/A.com
~/letsencrypt/live/B.net-0001
~/letsencrypt/live/C.jp
そう、「-0001」が付いている。これでは更新の意味がない。
なぜなら、httpd.confなどの設定ファイルのSSL記述部はそのままなので、「-0001」なんてディレクトリにはリンクしていない。
つまり、ブラウザなどでSSL通信したときの証明書有効期限は古いままなのです。
なんでこうなったのか?
わかりません。ログはそのあとの更新処理で上書きされていたのでわからない。
理由はわからないがこのままでは使えないので、とりあえず、念のため「-0001」ディレクトリをリネームして、このドメインだけ手動で更新処理実行。
「Congratulations!」で正常終了。
アパッチを再起動してブラウザで接続、証明書日付が更新されているのを確認しました。
リネームしたディレクトリは今後様子を見て問題なければポイします。
一応、結果報告では全て「Congratulations! 更新できたよ!」と書かれているのですが、良く見ると一つだけディレクトリ名が変わっている。
こんなかんじ、
~/letsencrypt/live/A.com
~/letsencrypt/live/B.net-0001
~/letsencrypt/live/C.jp
そう、「-0001」が付いている。これでは更新の意味がない。
なぜなら、httpd.confなどの設定ファイルのSSL記述部はそのままなので、「-0001」なんてディレクトリにはリンクしていない。
つまり、ブラウザなどでSSL通信したときの証明書有効期限は古いままなのです。
なんでこうなったのか?
わかりません。
理由はわからないがこのままでは使えないので、とりあえず、念のため「-0001」ディレクトリをリネームして、このドメインだけ手動で更新処理実行。
「Congratulations!」で正常終了。
アパッチを再起動してブラウザで接続、証明書日付が更新されているのを確認しました。
リネームしたディレクトリは今後様子を見て問題なければポイします。
2018年4月8日追記
以前、「live」ディレクトリの中の「-0001」ディレクトリだけをリネームしましたが、今月「-0002」というディレクトリを作られてしまった。
また、ログは上書きされていると書きましたが、ちゃんと履歴が残ってました。
それを見て見ると、「renewal」ディレクトリの中のファイルを見ているようなので、今回、「archive」、「renewal」ディレクトリ内の「-0001」「-0002」ファイルをリネームして保存し、手動で更新処理実行。様子を見て見る。
以前、「live」ディレクトリの中の「-0001」ディレクトリだけをリネームしましたが、今月「-0002」というディレクトリを作られてしまった。
また、ログは上書きされていると書きましたが、ちゃんと履歴が残ってました。
それを見て見ると、「renewal」ディレクトリの中のファイルを見ているようなので、今回、「archive」、「renewal」ディレクトリ内の「-0001」「-0002」ファイルをリネームして保存し、手動で更新処理実行。様子を見て見る。
category: サーバー
電源落ちしたサーバーのディスクがマウントできなくなったので復旧したメモ 
2017/10/17 Tue.
停電した。
停電復旧後WebDAVで利用しているファイルサーバーの電源を投入。
問題なく起動完了。
ファイルを保管しているHDDをマウントする。
# mount /dev/ada1 /mnt/disk2
すると、以下のようなエラーが?
mount: /dev/ada1: R/W mount of /mnt/disk2 denied. Filesystem is not clean - run fsck.: Operation not permitted
ふむ。fsckする。
# fsck /dev/ada1
fsck: Could not determine filesystem type
ふえぇぇぇ
ということで、fsck_ffsする。
# fsck_ffs /dev/ada1
** /dev/ada1
** Last Mounted on /mnt/disk2
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
7767 files, 4179918 use, 14743574 free (566 frags, 1842876 blocks, 0.0% fragmentation)
***** FILE SYSTEM MARKED CLEAN *****
なんとかなったっぽい。
では改めてマウントします。
# mount /dev/ada1 /mnt/disk2
成功。
無事読み書きできるようになりました。
UPS?知らない子ですね(資源が底を突いて買えません)。
停電復旧後WebDAVで利用しているファイルサーバーの電源を投入。
問題なく起動完了。
ファイルを保管しているHDDをマウントする。
# mount /dev/ada1 /mnt/disk2
すると、以下のようなエラーが?
mount: /dev/ada1: R/W mount of /mnt/disk2 denied. Filesystem is not clean - run fsck.: Operation not permitted
ふむ。fsckする。
# fsck /dev/ada1
fsck: Could not determine filesystem type
ふえぇぇぇ
ということで、fsck_ffsする。
# fsck_ffs /dev/ada1
** /dev/ada1
** Last Mounted on /mnt/disk2
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
7767 files, 4179918 use, 14743574 free (566 frags, 1842876 blocks, 0.0% fragmentation)
***** FILE SYSTEM MARKED CLEAN *****
なんとかなったっぽい。
では改めてマウントします。
# mount /dev/ada1 /mnt/disk2
成功。
無事読み書きできるようになりました。
UPS?知らない子ですね(資源が底を突いて買えません)。
category: サーバー
AFTハードディスクにFreeBSDを何も考えずにインストールしてみたテスト 
2017/07/16 Sun.
今、HDDを購入したら「AFT」が当たり前になってます。
Windowsは7SP1以降対応しているとのことですが、FreeBSDは認識するんだろうか?
ぐぐってみたらZFSでのことはいろいろ出てきますが、GPTではどうなのかよくわかりません。
なので、とりあえずWDのWD10EZRZ-RTを購入して試してみた。
Windowsは7SP1以降対応しているとのことですが、FreeBSDは認識するんだろうか?
ぐぐってみたらZFSでのことはいろいろ出てきますが、GPTではどうなのかよくわかりません。
なので、とりあえずWDのWD10EZRZ-RTを購入して試してみた。
category: サーバー
FreeBSD 各種ソフトをソースからインストールするときのコンパイラをgccからclangに変える 
2017/04/15 Sat.
OpneSSL、ZLIB、OpenSSHのソースをダウンロードして、自分でコンパイル、インストールしていました。
FreeBSD10から標準コンパイラがgccからclangに代わったので、pkgでgccをインストールしてコンパイルしていたのですが、先日、テスト環境でOS導入、各種インストールを行っていたらOpenSSHでつまづく。
makeは問題なく通るのですが、make installでセグメントエラーが発生する。
OS、OpneSSL、ZLIB、OpenSSHのバージョンを問題が起きなかったときのものにしてもダメ。
いろいろ試したけどだめ。
そこで、gccではなく、clangでコンパイルしてみたらうまくいきました。
そういや、以前clangをgcc代わりに使ったときはコンパイル失敗したのに、逆転したんだなあ。
というわけで、ソースをダウンロードしてコンパイル、インストールするときはgccが標準で使われるので、環境変数「CC」に「clang」を設定することにしました。
面倒なので、ユーザー全員の環境変数に反映するため、
/etc/csh.cshrc
に
setenv CC clang
を書き込み。
これで、ログインするたび一々環境変数の設定を行う必要がなくなって楽ちん。
bashの場合は
/etc/profileぅ...ですかねぇ...
FreeBSD10から標準コンパイラがgccからclangに代わったので、pkgでgccをインストールしてコンパイルしていたのですが、先日、テスト環境でOS導入、各種インストールを行っていたらOpenSSHでつまづく。
makeは問題なく通るのですが、make installでセグメントエラーが発生する。
OS、OpneSSL、ZLIB、OpenSSHのバージョンを問題が起きなかったときのものにしてもダメ。
いろいろ試したけどだめ。
そこで、gccではなく、clangでコンパイルしてみたらうまくいきました。
そういや、以前clangをgcc代わりに使ったときはコンパイル失敗したのに、逆転したんだなあ。
というわけで、ソースをダウンロードしてコンパイル、インストールするときはgccが標準で使われるので、環境変数「CC」に「clang」を設定することにしました。
面倒なので、ユーザー全員の環境変数に反映するため、
/etc/csh.cshrc
に
setenv CC clang
を書き込み。
これで、ログインするたび一々環境変数の設定を行う必要がなくなって楽ちん。
bashの場合は
/etc/profileぅ...ですかねぇ...
category: サーバー
TARコマンドのCan't translate pathnameメッセージ 
2016/09/08 Thu.
日本語を含んだディレクトリやファイルをTARコマンドで圧縮しようとしたら
Can't translate pathname ~ to UTF-8
というメッセージがワーと出てくる。
しかも、出来上がった書庫ファイルを覗いて見たらファイル名が文字化けしてる。
本来のファイル名の文字コードはUTF-8であることを確認したし、なんだかなあと悩んだけど解決。
ロケール設定でした。
Can't translate pathname ~ to UTF-8
というメッセージがワーと出てくる。
しかも、出来上がった書庫ファイルを覗いて見たらファイル名が文字化けしてる。
本来のファイル名の文字コードはUTF-8であることを確認したし、なんだかなあと悩んだけど解決。
ロケール設定でした。
category: サーバー
自前サーバのWebDAVをWindows7の標準WebDAV機能で利用しようとしたらすげー苦労した 
2016/09/01 Thu.
今更ながらWebDAVを使いたい要件が出来、自前サーバーにWebDAVを入れてみた。
そして、フリーのWebDAVクライアントでの接続までは簡単に出来ました。
しかし、オフィスなど他のアプリとの連携が使いづらい。
そこで、Windows7のエクスプローラにネットワークドライブとして組み込みたいな。と思って接続しようとしたら、どうやっても認証が通らない。
スゲー悩んだ末何とか動いたので備忘録。
そして、フリーのWebDAVクライアントでの接続までは簡単に出来ました。
しかし、オフィスなど他のアプリとの連携が使いづらい。
そこで、Windows7のエクスプローラにネットワークドライブとして組み込みたいな。と思って接続しようとしたら、どうやっても認証が通らない。
スゲー悩んだ末何とか動いたので備忘録。
category: サーバー
PuTTYやWinSCPでSSHトンネルを使って遠隔接続する方法 
2016/08/24 Wed.
SSHって暗号化されて安全でいいよね。
ぐらいで使っていましたが、今回必要に迫られSSHのトンネル機能を使ったのですが、こりゃ便利。
まさにSSHの真価ともいうべきこのSSHトンネリング(ポートフォワーディング)。こんなときに便利なのです。
ここに、「Aサーバ」と「Bサーバ」があります。
自分のパソコンは「Aサーバ」にはSSH接続できるが、「Bサーバ」は「Aサーバ」のIPでしかSSH接続できない場合。自分のパソコンでは「Bサーバ」に直接接続することが出来ません。
そこで、「Aサーバ」にトンネルを掘って、「Aサーバ」経由で「Bサーバ」に接続できるようになるのが「SSHトンネリング」です。
今回、「PuTTY」と「WinSCP」で利用する方法を覚えたので備忘録。
ぐらいで使っていましたが、今回必要に迫られSSHのトンネル機能を使ったのですが、こりゃ便利。
まさにSSHの真価ともいうべきこのSSHトンネリング(ポートフォワーディング)。こんなときに便利なのです。
ここに、「Aサーバ」と「Bサーバ」があります。
自分のパソコンは「Aサーバ」にはSSH接続できるが、「Bサーバ」は「Aサーバ」のIPでしかSSH接続できない場合。自分のパソコンでは「Bサーバ」に直接接続することが出来ません。
そこで、「Aサーバ」にトンネルを掘って、「Aサーバ」経由で「Bサーバ」に接続できるようになるのが「SSHトンネリング」です。
今回、「PuTTY」と「WinSCP」で利用する方法を覚えたので備忘録。
category: サーバー