Category Archives: works

某さ○らさんでハマる……その2

さくらの レンタルサーバ でのcron設定は……
どなたかのブログで拝見しました(YKSGにっきさん)が……「結論,ディレクトリ指定が非常に厳格ということです.」と書かれておりました。

さくらのレンタルサーバでcronを設定しシェルスクリプトを動かす

う〜ん、そういう表現もあるね、たしかに。厳格だ。

【アカウント名】…hoge, 【スクリプト配置ディレクトリ】…fuga, 【スクリプトファイル】…piyo.sh / piyo.php として

シェルスクリプトの場合
cd /home/hoge/fuga; /usr/local/bin/bash /home/hoge/fuga/piyo.sh
phpの場合
cd /home/hoge/fuga; /usr/local/bin/php /home/hoge/fuga/piyo.php

でも、そのディレクトリまで cd コマンドで移動させる必要ってあんのかな?

X社やカラフル社、CORE社でもそんな必要ないんやけどな〜 (^^;

 

その1もあるよw

某さ○らさんでハマる……

バックアップは日常的に取っておきたいもの。
XserverさんやCoreServerさんでは、概ね同じシェルスクリプトが動作するけど………
さ○らイソターネットさんはFreeBSDなんだとか。
パッケージの内容が異なるのか………相当お作法が異なってハマりまくってしまった (^^;
さ○らイソターネットさんはやっぱり苦手。

相対計算方法が違う(2023.03.15 現在)

date -v +1d
Thu Mar 16 11:46:18 JST 2023

ほほう。なるほど。で、フォーマット指定は如何に (^^;

こうやる

#1日後
date -v +1d "+%Y%m%d"
#7日前
date -v -7d "+%Y%m%d"

一番ハマったのは 「–exclude」。

--exclude <pattern>

と書いてみたり

-W exclude <pattern>

としても同じ。

もう除外ディレクトリを mv しようかと思っていた矢先

Ubuntu日本語フォーラムhttps://forums.ubuntulinux.jp/viewtopic.php?id=19624

を発見。オプションの位置を変えたら動作しました? ですと?

オプションの順序で動作する

tar cfz $bk_dir$file_backup --exclude <pattern> $site_root

無事cron処理できるようになりました。

オンラインストレージを Nextcloud へ移行

随分時間が経過していますが、ownCloud から Nextcloud へ移行しました。

ownCloud

  • スマートフォンのクライアントが有償
  • 動作環境によって同期されず、ロックファイルが増えていく
  • 動作環境によって、アップデートが失敗する(成功した試しがない)

対して Nextcloud

  • スマートフォンのクライアントが無償提供されている
  • 動作環境によってサーバーに古いファイルが溜まることがある(同期はされている)
  • アップデートは概ね上手くいく(経験上、失敗はなし)

といった感じ。(個人の感想です)

「同期されない=オンラインストレージの意味がない」といった判断と、クライアントが無償提供されていることから Nextcloud へ移行しました。
古いファイルが残るのは(同期されないことに比べたら)大した問題ではないし、履歴が残っているとでも考えれば(笑)

ログイン画面もカスタマイズできるし、アプリも追加できるし、なんならメールの確認やチャットまで組み込めるので、イントラサーバー等で運用すると超快適かもしれませんね。そこまでコストはかけられないので、レンタルサーバでの運用です。
できるだけ高速で高負荷に耐えられるサーバーに移転しました。なかなか快適です。

ご興味のある方、ご相談いただければ相談に伺います。

今さらながら Acrobat のおさらい2

初回の「今さらながら Acrobat のおさらい」は2012年(遠い目)……。
自分の欲しい情報を探しているうちに、他人様の質問に答えたくなったのでちょっと書き足しておきます。

普段は InDesign でページ組をすることが多いのですが、時折ラスタライズしたPDFが必要になることがあります。
お客様の環境でプリントアウトされると、透明の設定の都合でしょうか……文字が太って出力されたりすることがあります。画像としてプリントすれば解決できますが、150dpiなので小さい文字が読めません。その回避策として、300dpi程度でラスタライズしたPDFが必要になってくるわけです。

InDesign で 300dpi の PNG を作って Acrobat でファイル結合……という手順を踏んでいますが、もうちょっと、こう、スマートな手段はないものかと。

試行錯誤してみたらありました。

まず、対象のPDFを開き、[アドバンスト]→[印刷工程]→[分割・統合プレビュー] を開きます。

設定項目は以下の通り。

  • ラスタライズとベクトルのバランス → 0
  • ラインアートとテキストの解像度 → お好みで
  • グラデーションメッシュの解像度 → お好みの 1/2程度

分割・統合プレビュー

ですが……アンチエイリアスがちょっと弱いかな (^^;

いろんなパターンを試して見ました。
結果を貼っておきます。

300dpiのPDF (TEST300.pdf

さすがに美しい。

300dpiのPDF

300dpiのPNGをAcrobatでPDFに(TEST300PNG.pdf

手間をかけるだけの価値はあるか…。やはりキレイ。

300dpiのPNGをAcrobatでPDFに

Acrobat上で、300dpiにラスタライズしたPDF(TEST300R.pdf

少々シャギーが目立ちますが、プリンタ出力でどこまで判別できるかにかかってます。

Acrobat上で、300dpiにラスタライズしたPDF

Page Speed Insights

ここ数年は SSL だの サイトの応答速度だの………
書いている内容に関することよりも、ページが早く安全に見えることが重要っぽいですね。
まぁ、パクリ記事が多いからしょうがないんですかね。
調べ物をしていると、ほとんど同じ内容でいくつものサイトが出てくるのも本当の話。

そう思うと、数秒待って開かないサイトは、間違いなく閉じちゃいますね。
なんであんなに開かないんだろう。Javascript? CSSが巨大? 画像が重い?
エントリーが多すぎるとか?

ということで気になったのでやってみた次第。
Googleのサービス Page Speed Insights

広告も全部外して、CSSもミニファイして影響のない物は非同期に。Javascriptも同様。さらにデスクトップとモバイルの表示エリアが異なるので、読み込まれるJSとCSSもUAで振り分けて非同期読み込み。

致命的な警告は出なくなり、緑のサインになったようです。
まずまずな感じですね。

mobile

desktop

あとは「ページ表示のどこに時間がかかったかチェック」のブックマークレットでも試して見ましたが、
「ごっつい速いですね。」と褒めていただきました。
ま、ページのソースも短いですし (^^;

gottu

日本語って難しい。

いつも「何か違うよなぁ…」と違和感を覚えつつも、でもハッキリと違いを意識していなかった言葉の違い。
※いずれも『スーパー大辞林』から引用 #daijirin

ていせい【訂正】(名)スル
言葉や文章の誤っている部分を正しく直すこと。「誤りを━する」 #daijirin

しゅうせい【修正】(名)スル
まちがっていたり、不十分であるところを直して正しくすること。「軌道を━する」「━案」「━を加える」→修整(補説欄) #daijirin

こうしん【更新】(名)スル
①新しいものにあらためること。また、あらたまること。「記録を━する」 #daijirin

  • 間違っている部分を正す → 訂正
  • 間違いや不十分な部分を正す → 修正
  • 新しい物にあらためる → 更新

やっぱり日本語は難しい(笑)

調子に乗ってオンラインストレージもSSLに

Let’s Encrypt で SSL 化がうまくいったもんだから、調子に乗って ownCloud も常時SSL化。
でも遅い……なんとか高速化できないものかと情報を漁ってみると……

owncloud

ownCloud9 + php7 で爆速オンラインストレージ構築というスライドを発見。
どうやら細々としたノウハウがあるようだけど、ownCloud9 + php7 という組み合わせは試してみる価値がある様子。

幸か不幸か、本体はこの前9にアップデートしたところなのでphp7に切り替えるだけ。早速やってみると……なんと体感できるぐらい早くなってるじゃないですか。

しばらくこの感じで使ってみることにします。

そう。誰しもが考えますよねぇ。
wordpressもphp7で動かしたら早くなるんじゃねぇの?
プラグインを一つ諦めましたが……
速くなりました。うひひ。

こちらもしばらく様子見。

今さらながら Let’s Encrypt で SSL化

あれ以来マシンも順調に動いております。
残念ながら、MacPro Early2008 は、次期 macOS Sierra の対象外となってしまいましたが……OSもようやく OS X El Capitan‎ に。そして AdobeCC2015 に完全移行しました。
幸いユーティリティ類も全て問題なく動作しておりますし、ちょっともたつく以外は(笑)特に問題はありません。
余っていたSSDによく使うアプリを移動して、アプリフォルダにシンボリックリンク……とすると、インストール済みアプリとして認識してない様子。
しばらくの辛抱なので、このまま続行です。

さて閑話休題、紆余曲折しながらもようやく常時SSLとしました。
以前に使っていた coreserver が SNI に対応したとのことで、固定IP契約不要でSSLが使えそうなので欲をかいてやってみようと思ったのがきっかけでした。
最初は Cloud Flare (https://www.cloudflare.com)を試すも、ネームサーバを書き換えたら、DNS も Cloud Flare で管理されていることに気づかず……かなりハマりました。
証明書を見てみると、複数のドメインがひとまとめ、ものすごいパックになっていてビックリ。どことなく挙動もおかしかったので、いったんすべて抹消。

共用サーバーなので自動更新は無理なのですが、そんなに手間でもなさそうですし、面倒で嫌になるまでやってみようかと思って Let’s Encrypt をインストール。
幸いベータ版からの先人が数多く存在するので、環境を整えるまでの時間はさほどかかりませんでした。
というかそのあとも、証明書を発行してサーバーにインポートするのもあっけなく終了。

誰かの役に立つかもしれないので、備忘録として拙いログを晒しておきます。

El Capitan (10.11.5)
Mac Pro (Early 2008)
Coreserver (core-A)
Xserverで他のドメインは使用(AレコードのみCoreserverに向けている)
value-domain でドメイン管理
GoogleApps 使用

なんとも特異な環境ですが(笑)

Let’s Encrypt のインストールは「ウェブタタン」さんのエントリーが、非常にわかりやすく解説されていて助かりました。

Let’s encryptのSSL証明書をMacで作成!さくらレンタルサーバーに導入する方法

あちこちを見ながらやったので、私の環境は新旧織り交ぜた環境になってるような気がします。
まず公式を見て、言われるがまま Git から certbot を……

git clone https://github.com/certbot/certbot

として云々。
途中で権限エラーや get できないからソースからコンパイルしちゃうよ〜みたいなメッセージがズラズラと……。
半ばあきらめていたところ、先ほどの「ウェブタタン」さんのエントリーを発見。

じっくり読み進め、表示されているエラーを解説通りに進めていき、なんとか動作するように(笑)
まぁこの辺りは本職でないので、基本結果オーライで行っちゃってます。
そして、待望の証明書発行へ。

$ cd certbot
$ ./certbot-auto certonly --manual -d example.com -d www.example.com -d sub.example.com

とすると、UNIXっぽいスクリーンが表示されますので、ガイドに沿って進めていきます。

 

 

今回はサブドメインも含めて、3つをひとまとめにしたSSL証明書を発行しますので、-d オプションでドメインを3つ並べます。

Make sure your web server displays the following content at
http://example.com/.wexx-xxxn/acme-challenge/OdNmEVBSEvJJqvqZmGdmB_1yVBSEvJJqdmDFyo before continuing:

OdNmEVBSEvJJqvqZmGdmB_1yVBSEvJJqdEvJJqmDFyoFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg

If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s" OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg > .well-known/acme-challenge/OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
Press ENTER to continue

こんなスクリーンで [Press ENTER to continue]と云うプロンプトで待機してます。
cui 操作が楽な人は、SSHでサーバーに接続した後サイトルートに移動して

mkdir -p .well-known/acme-challenge
printf "%s" OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg > .well-known/acme-challenge/OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo

とかでいいんじゃないでしょうか。
私はFTPでディレクトリを作ってファイルをアップしました。
結果は目的のファイルにアクセスできればいいだけの話だと思うので、お好みでどちらでもいいと思います。

ドメインが3つあるので、ドメインごとに3回認証作業を行います。

無事終了すると

/private/etc/letsencrypt/live/[ドメイン名]

にシンボリックリンクが出来上がります。

root権限のあるサーバーだと、この証明書のシンボリックリンクを然るべき場所に置いて、cron で回せば自動更新……ということのようです。

あとは Value Dmain のコントロールパネルで「SSL証明書のインポート」をするだけ。

/private/etc/letsencrypt/live/[ドメイン名]/cert.pem (証明書)
/private/etc/letsencrypt/live/[ドメイン名]/chain.pem (中間証明書)
/private/etc/letsencrypt/live/[ドメイン名]/fullchain.pem (ひとまとめになった証明書)
/private/etc/letsencrypt/live/[ドメイン名]/privkey.pem (プライベートキー パスフレーズなし)

証明書はテキストファイルなので、テキストエディタで開いて貼り付けます。
必要なファイルを選んで貼り付けてください。

coreserver のドメイン設定でSSLに割り当てるドメインの設定を忘れずに。

SSL 配下でうまくリファラっぽく送る方法を思いついたので、ついでにダウンロードサーバーの php も SSL 配下で正常動作するように書き換えました。

何年かに一度訪れるマシンクラッシュ

何年かに一度訪れるマシンクラッシュ

何年かに一度訪れるマシンクラッシュ (^^;
決まって忙しくて時間のないときに限ってやってきます。

今回も年度末進行まっただ中にやってきてくれました。

万全のバックアップ体制はとってますので、データの損失は最小限(ほぼ皆無で、残らなかったのは…クラッシュした瞬間のファイルぐらい)。

万全のバックアップ体制で今回も助かりました。
CCCバックアップとTimeMachineリストアが最強ですね………。

TimeMachineリストア

移行が完了しました

使用アプリケーションの都合で Yosemite を(EL Capitan 使いたいんですが)クリーンインストール。そして TimeMachine からユーザーまるごとリストア。(ちょっと賭でしたけどw)1.7TBの復元が8時間ほどで終了。思ったより早く完了しました。
リストア作業中は 隣のマシンで Dropbox フォルダを使って作業進行。

今後も Dropbox フォルダを作業スペースに使うことに♬
これで保存直前のファイルや一時保存のファイルも残るはず。
招待とかいろいろで14GBあるからしばらくは使えるかな(笑)

えっと、お安くなってるんですね。Dropbox Buisiness。1500円/月。

Dropbox の登録はこちらからどうぞ♬
ここから登録すると+500MBのプレゼントがあります。

own cloud 試して見るかな (^^;

Functions.php って……

wordpress のテーマで使うアレです。
ココにかくphpって、単独ファイルにしてプラグインヘッダ(っていうんですかね)を追加すると、プラグインとして動作するんですね。
トップページに「最近のPOSTはこんな感じです」ってのを載せてますが、functions.php に書いてる内容を反映させてます。
で、iPhone 等のモバイル端末から見ると残念なことになってたのですが(笑)、プラグイン化することで、どこから見ても見えるようになりました。