我三流

いろいろ自分なりにやってみたことを書いています

htpasswd を openssl に置き換える

Apacheを使っていないけれどhtpasswdが必要になり、はてどうしたものか?と探していたら

「htpasswd を openssl に置き換える」を発見

htpasswd replacement with openssl

https://gist.github.com/samba/789122387e7f7330890b

 

 

#!/bin/sh

# Writes an APR1-format password hash to the provided <htpasswd-file> for a provided <username>
# This is useful where an alternative web server (e.g. nginx) supports APR1 but no `htpasswd` is installed.
# The APR1 format provides signifcantly stronger password validation, and is described here: 
#     http://httpd.apache.org/docs/current/misc/password_encryptions.html

help (){
cat <<EOF
  Usage: $0 <htpasswd-file> <username>
  Prompts for password (twice) via openssl.
EOF
}

[ $# -lt 2 ] && help;
[ $# -eq 2 ] && printf "${2}:`openssl passwd -apr1`\n" >> ${1}

 

htpasswd-ssl.shとして適当な場所に保存

ユーザーhogeがパスワード格納ファイル.htpasswdを作る場合

# htpasswd-ssl.sh .htpasswd hoge

するとパスワード入力を要求されるので設定したいパスワードを入力

再度、パスワードを聞かれるので入力すると.htpasswdにハッシュ化されたパスワードが入力されました

FreeBSD 13 からWindows 10 をWOLする

職場のSambaサーバー機のFreeBSD 13.1-RELEASE-p3から

Windows 10 Pro 22H2機をWOLで起動する

なお、Windows側のWOL設定は済んでいる前提で

FreeBSD側で

# pkg install wakeonlan

# whereis wakeonlan
wakeonlan: /usr/local/bin/wakeonlan /usr/local/lib/perl5/site_perl/man/man1/wakeonlan.1.gz /usr/ports/net/wakeonlan

 

起動できるかテスト

# wakeonlan -i 192.168.0.255 01:02:03:04:05:06

192.168.0.255 は、起動されるPCが属するセグメントのブロードキャスト アドレス 

01:02:03:04:05:06は、起動したいパソコンのマックアドレス

 

無事起動出来たらcronで自動実行させる設定

今回は1台しかないけれど、今後台数を増やす時のためにwol対象リストファイルwol_textを読み込ませる

# vi /usr/home/hoge/wol_text

01:02:03:04:05:06 192.168.0.255

 

crontabを編集

# /etc/crontab

45 7 * * 1-5 root /usr/local/bin/wakeonlan -f /usr/home/hoge/wol_text

 

cron再起動

# /etc/rc.d/cron restart

 

 

 

JQueryのDataTablesでソート出来なくてハマった

"order": [ 1, 'desc' ]
だけではソート出来ずに困っていたら
"ordering": true 
が必要なことが分かった(汗;

というわけでこんな感じ
            //inialize datatable
            $('#mainTable').DataTable({
                "ordering": true // ソート機能の有効・無効化を切り替えます。
                    //, "orderFixed": [ 1, 'asc' ]   // 固定のソート列の設定をします。
                    //, "order": [ 2, 'asc' ]  // 初期のソート条件を設定します。
                    ,
                "order": [1'desc'],
                "stateSave": true // 状態保存
            });

datepickerを設置して日付を選択イベントでsubmitしたい時

ググるとこれお国を問わずかなりハマっている人がいる模様

かくいう自分もかなりハマったので備忘録兼皆さんのお役に立てればと思い書きます

datepickerを設置してsubmitボタンを設置せずに日付を選択イベントでsubmitしたい時はこのように書けば動くようです。

[html]

<form id="sendDate" name="sendDate" action="" method="post">
    <input type="text" id="datepicker" name="fromDate" placeholder="日付を選択してください" autocomplete="off"/>
</form>

 

[jQuery]

<script src="/jquery/jquery.min.js"></script>
<script src="/jquery/jquery-ui.js"></script>
<script src="/jquery/datepicker-ja.js"></script>

<script>
$(document).ready(function() {

    $( "#datepicker" ).datepicker({
        // 日付が変更された時のイベント設定
        onSelect: function(dateText, inst){
            // submit()でフォーム(sendDate)の内容を送信

            // この場合はテキストボックスの(fromDate)がpostされる
            $('#sendDate').submit();
         }
    });

});
</script>

 

 

Spring Boot JPA Sort の書き方

 

こうするとソート出来る

@Service
@Transactional(rollbackOn=Exception.class)
public class CsvService {

@Autowired
private CsvRepository repository;

public List<Csv> findAll() {
return repository.findAll(Sort.by(Sort.Direction.ASC, "id"));
}

eclipse 「更新の確認」等エラーになる場合の対処方法

Eclipse使い始めてから

「更新の確認」エラー

「新規ソフトウェアのインストール」エラー

で、こういう時だけVSを引き合いに出して

「なんて完成度が低いんだ!」ってイラってたら

Eclipseマーケットプレイスからプラグインがインストールできない場合の対処方法 - Qiita

やっと解決できました。えらいひとありがとう!