開発環境全体にBasic認証をかけている時に特定のディレクトリの認証を外したい場合
対象ディレクトリの.htaccessに以下を追加
Satisfy Any
Order allow,deny
Allow from all
Deny from none
完全に自分めも
1.sshでNASにログインする
2. /var/packages/Webstation/target/misc/VirtualHost-apache24.mustache を編集
<FileMatch “\.(php[345]? | phtml|html)$”>
htmlを追加
3.php72_fpm_mustache を編集
security.limit_extension = .php .php3 .php4 .php5 .phtml .html
.htmlを追加
4. 管理画面のパッケージセンターでApacheとphpを再起動
Apache PHPともに複数バージョン入れている場合はすべて対応が必要。
新しいパッケージを追加して処置を忘れていると access denied.のエラーになる。
DSMのバージョンアップした際も同じく処理が必要。
雑多な動画処理でよく使うffmpegのメモ
■SNSやyoutubeに動画をアップする際、余計な生活音がはいっているので削除したい。
ffmpeg -i hoge.mp4 -vcodec copy -map 0:0 out.mp4
■容量の大きすぎる動画を適当にサイズ指定して圧縮する。
ffmpeg -i hoge.mp4 -bufsize 20000k -maxrate 25000k -acodec copy -aspect 16:9 -s 1280x720 out.mp4
■他の作業に与えない程度にCPUの使用割合を下げてエンコードする。
※別途「cpulimit」をインストールしておく。
cpulimit -l 400 -- ffmpeg -i hoge.mp4 out.mp4
Core i7クアッドコアの場合はフルで使って800なので、上記は約半分の値となる。
WordPressのアップグレードや、テーマの大幅な更新を行う前にバックアップを行うことが大事です。
BackWPupをインストールして「新規ジョブを追加」。
バックアップするテーブルを全部選択されていることを確認しておきます。
バックアップしたデータはローカルフォルダ他クラウドにも保存出来ますが、とりあえずイレギュラーで容量も少ないので、今回は「メールでバックアップを送信」にしておきます。
複数案件を管理しているとプラグインでいちいち設定するのも面倒なので通常はコマンドラインで行います。
指定のデータベースをバックアップ
$ mysqldump -u root -p DB名 > dump_YYMMDD_DB名.sql
戻す場合は
$ mysql -u root DB名 < dump_YYMMDD_DB名.sql
OSX El Capitan はOSをよりセキュアに利用出来るようになる事と引き換えに、システムに深く関わるツールは動作に制限が出るようです。
XtraFinderもその一つのようで、アップグレードしただけでは起動すらできません。
https://www.trankynam.com/xtrafinder/sip.html
1. Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup.
Command+R キーを押しながらMacを起動して、リカバリーモードにする。
2. Launch Terminal from the Utilities menu.
「ユーティリティー」メニューから「ターミナル」を起動する。
3. Enter the following command: csrutil enable –without debug
Reboot your computer.
セキュリティの一部を変更(若干不安)し、再起動。
# csrutil enable --without debug
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
これで XtraFinderが動作します。
この状態で、タブ切り替えのショートカットやウインドウの背景を暗くする等の機能は使えますが、カラム表示でフォルダを先頭に並び替える機能が設定画面に出てきません。
仕方がないので Finder の「表示オプション」で表示順序を種類に変更します。
色々とピンポイントで動かないアプリも出てきたので、作業環境のOSX Yosemiteをアップグレードしました。
macOS Sierra は、リリースされてまだ不具合も多そうなので、一つ前の OSX El Capitanへしたのですが、ローカルのサーバー周りで、マイナーな個人的なトラブルがありました。
httpd.confファイルが初期化されて設定が読み込まれていない事が原因。
$ sudo vi /etc/apache2/httpd.conf
#Include /private/etc/apache2/extra/httpd-vhosts.conf
コメントを外す
同様にいくつか別件で必要なモジュールもロードする
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
apacheを再起動
$ sudo apachectl restart
ターミナル上ではデータベースのアクセスに問題無いが、Wordpressからのみエラーになる。
原因がわからず一旦 MySQLを再インストール
$ brew uninstall mysql
$ brew install mysql
それでも解決しないので wp-config.php を変更
#define('DB_HOST', 'localhost');
define('DB_HOST', '127.0.0.1');
これで、一旦データーベースに繋がるようになりました。
若干気になるのでもう少し調べてみると、 php.ini がありませんでした。
php.ini.default をコピーして編集します
$ sudo cp -p /etc/php.ini.default /etc/php.ini
$ sudo chmod+w /etc/php.ini
$ sudo vi /etc/php.ini
short_open_tag = On
post_max_size = 20M
upload_max_filesize = 20M
extension=php_mysql.dll
date.timezone = "Asia/Tokyo"
pdo_mysql.default_socketi = /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
$ sudo chmod-w /etc/php.ini
wp-config.php をもとに戻して接続出来るようになりました。
define('DB_HOST', 'localhost');
#define('DB_HOST', '127.0.0.1');
El Capitan は Yosemite に比べて動作がキビキビしています。
XtraFinderが動かなくなる(条件付きで動く)事もありますが、結果、アップデートを行って良かったです。
会社のオフィシャルWEBサイトにはRapidSSLを導入していますが、ワイルドカードタイプは年間数万円かかるので、別サービスではお金の掛からない「Let’s Encryptサーバー証明書」を利用します。
$ git clone https://github.com/certbot/certbot
$ cd certbot/
$ sudo ./certbot-auto
$ sudo /certbot-auto certonly --webroot -w /var/www/sample(ドキュメントルート) -d sample.plane-plan.com -m hoge@plane-plan.com --agree-tos
<VirtualHost *:443>
SSLEngine on
ServerName sample.plane-plan.com:443
DocumentRoot “/var/www/sample.plane-plan.com"
SSLCertificateFile /etc/letsencrypt/live/sample.plane-plan.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sample.plane-plan.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/sample.plane-plan.com/chain.pem
SSLProtocol all -SSLv2
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
<Directory "/var/www/sample/“>
Options -Indexes FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
$ sudo service httpd reload
署名書の有効間は90日間です。
「certbot-auto renew」で、有効期間30日未満の証明書が更新されます。
$ certbot-auto renew
実際に更新しようとした所、エラーが発生しましたがPythonのバージョンを2.7を入れることで更新できました。
virtualenv: コマンドが見つかりません
Python2.7で動作するシェルを起動します。
$ sudo scl enable python27 bash
CentOS 6 で発生するエラーの対処法
https://letsencrypt.jp/usage/centos6-error.html
Let’s Encrypt 総合ポータル
https://letsencrypt.jp/
※追記
複数ドメインを一括で更新時に問題がありました。
一旦Apacheを停止して更新できます。
Attempting to renew cert from /etc/letsencrypt/renewal/z-groove.com.conf produced an unexpected error: Could not bind TCP port 443 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.. Skipping.
# service httpd stop
# certbot-auto renew
# service httpd start
日常的にデジタルカメラで撮影した写真を管理していると、移動やコピー時にファイルの日付がズレてしまう場合があります。
また、LightRoom等でRAWを現像書き出したファイルも撮影日とは違う日付になってしまいます。
明確にイベント名で管理できない多くの写真データは撮影日ベースで管理したいところです。
そこで、「exiftool」を使ってタイムスタンプの変更を行ってみます。
$ brew install exiftool
$ exiftool "-DateTimeOriginal > FileModifyDate" *.{jpg,JPG}
$ exiftool "-FileName < CreateDate" -d %Y-%m-%d_%H-%M-%S%%-c.%%e *.{jpg,JPG}
$ exiftool "-FileName < CreateDate" -d %Y-%m/%Y-%m-%d_%H-%M-%S%%-c.%%e *.{jpg,JPG}
暫くはこれで良いかとおもいます。
元のファイル名も必要な場合はタイムスタンプを変更した上でAutomatorかbashにて対応です。