2017年4月27日木曜日

ownCloud に WebDavで接続する


ownCloud 画面左下に、WebDavで接続とありますが、Windowsで接続しようとしてもエラーで接続できなかった。
以下を参考に、CarotDavというソフトを使うと接続できた。

OwnCloud dav - ナレッジベース - NNIc-Project Management System ver.2
https://secure.nanako-net.info/redmine/projects/know-how/wiki/OwnCloud_dav


CarotDavの設定画面。Integrated Windows Authentication をオフにすると接続できた。


Linux .htaccess 書き方基礎

.htaccessでHTTPアクセスをSSLでリダイレクト(逆もアリ) - hogehoge foobar Blog Style5
http://d.hatena.ne.jp/mrgoofy33/20100914/1284414817

最近のデザインで使われている、ロゴ・ブランディング・Webサイトのガイドラインのまとめ | コリス

【2017年度版】Webエンジニアでも最低限押さえておきたい、SEO施策のまとめと実装 - Qiita

2017年4月26日水曜日

AWSでWordPressをSSL化するときにハマったこと

リダイレクトループでアクセスできなくなる

参考:
エックスサーバーでWordpressをSSL化(https)する時に無限ループでハマった - Qiita
http://qiita.com/sygnas/items/a2ffa7b3c858c3f557c8

私のサーバーはAWSだったのですが、上記記事と同じように、wp-config.phpを書き換えないとダメでした。下記の2行を設定して強制的にhttpsにしないと無限ループが発生します。

wp-config.php内に以下を追記
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';

そして、WordPressのインストールされているディレクトリ(以下例では wp)内の .htaccess ファイルを書き換えるとOKとなりました。

修正前
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /wp/
  RewriteRule ^/?(.*) https://%{HTTP_HOST}/wp/$1 [R=301,L]
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /wp/index.php [L]
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP:X-Forwarded-Proto} !=https
  RewriteRule ^/?(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /wp/index.php [L]
</IfModule>


その他参考:
ELBとHTTPSとリダイレクトループ【cloudpack 大阪 BLOG】 - cloudfishのブログ
http://cloudfish.hatenablog.com/entry/2015/08/30/184458

Chromeで 保護された通信 (緑色) にならない

Apache - サブディレクトリインストールしたWordPressに、SSLサーバー証明書が適用されない(61667)|teratail
https://teratail.com/questions/61667

Chromeでは、https:// と http:// が混在していると「保護された通信」と表示されないようです。
画像の http://~ リンクを Search Regex というプラグインで 検索し https://~ に置換していくと緑色になりました。

波紋が広がるリップルエフェクトボタンの作り方(CSS・Javascript)

Windows ポートの使用を確認する

ダミーのサーバーを作る

2017年4月25日火曜日

Photoshop作業を爆速に!便利すぎる無料ツール、拡張機能、素材あつめました。 - PhotoshopVIP

Layer to SVG
Photoshopのベクターレイヤーを、SVGファイル形式に変換するプラグイン。
http://photoshopvip.net/100572

インフラ構築手順書 AWS S3をWEBホスティングとして利用【アクセス制限】

React.js 入門

React.js Introduction For People Who Know Just Enough jQuery To Get By | Shu Uesugi
http://chibicode.com/react-js-introduction-for-people-who-know-just-enough-jquery-to-get-by/

Vue.js 入門

2017年4月24日月曜日

WordPressでTinyMCEが表示されない

WordPress用リッチエディタ(TinyMCE Advanced)が、なぜか表示されなくなって困っていたところ、簡単に解決できました。 各ユーザー個人設定で、
「ビジュアルリッチエディタを使用しない」
のチェックをはずせばOKでした。


やっておいたほうがよい設定

チェックを入れておくべきもの
  • フォントサイズ
  • 段落タグの保持



2017年4月22日土曜日

Amaxon Linux上のownCloudでLibreOfficeを使う

ownCloud Version 9.1.4
LibreOffice Version 5.3.2

すでにownCloudがインストールされているとします。

以下を参考にLibreOfficeをインストールします。

ppt->pdf の変換をAmazon Linux上で実施する - # exec new-self
http://kinokinoppy.hateblo.jp/entry/2015/07/31/015147

◆つまづいた点1
2017-04-22現在、Linux用ダウンロード先は以下
http://download.documentfoundation.org/libreoffice/stable/5.3.2/rpm/x86_64/LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz

◆つまづいた点2
libcairo.so.2 がないとエラーが出る場合は、

# sudo yum install cairo-devel libjpeg-turbo-devel giflib-devel -y

を実行します。

参照: Installation Amazon Linux AMI (EC2) · Automattic/node-canvas Wiki


そして、

whereis libreoffice でLibreOfficeのパス(私の場合:/usr/bin/libreoffice5.3)を確認し、

owncloudのconfig.phpに

'preview_libreoffice_path' => '/usr/bin/libreoffice5.3',

を追記します。

無事、MS Officeファイルのプレビューができるようになりました。

また、ドキュメント(Document)というアプリでも簡易編集ができるようになりました。

ownCloud の管理→ドキュメントで「ローカル」をチェックし「適用してテスト」をクリックしてエラーが出なければ使用できます。




ただ、簡単なテキスト編集のみで、あまり複雑な編集はできない。
また、編集すると勝手に保存されてしまい、元にもどすのに難儀します。これは設定で変更できるのだろうか??


参考
ownCloudにドキュメント編集機能を実装してみようと思った話 - Qiita
http://qiita.com/inductor/items/5dda58ad52f7951ecd34


findコマンドで覚えておきたい使い方12個(+1個) | 俺的備忘録 〜なんかいろいろ〜

Ubuntu Server 14.04 LTSへWEBベースのサーバサイドオフィススイート『ONLYOFFICE』をインストールする | 俺的備忘録 〜なんかいろいろ〜

Amazon Linux上でOfficeファイルをPDF変換

LibreOfficeでPDF変換をします。

Amazon Linux上にLibreOfficeのインストール方法は以下を参考に。

ppt->pdf の変換をAmazon Linux上で実施する - # exec new-self
http://kinokinoppy.hateblo.jp/entry/2015/07/31/015147

2017-04-22時点

Linux用ダウンロード先は以下
http://download.documentfoundation.org/libreoffice/stable/5.3.2/rpm/x86_64/LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz


libcairo.so.2 がないとエラーが出る場合は、

$ sudo yum install cairo-devel libjpeg-turbo-devel giflib-devel -y

を実行します。

参照: Installation Amazon Linux AMI (EC2) · Automattic/node-canvas Wiki


変換コマンドは以下(赤文字部分は適宜変更してください)

$ /opt/libreoffice5.3/program/soffice.bin --headless --convert-to pdf test.docx

そうすると、test.docx と同一ディレクトリに test.pdf が出力されます。

しかし、日本語フォントが化けていたので、以下のようにしました。

/usr/share/fonts/japanese/OpenType にGoogleのNotoSansフォントを保存。

そして、以下を実行。
$ sudo fc-cache -fv

無事、PDFに日本語が表示されました。

参考
ImageMagickとlibreofficeを使ったOffice->PDF->PNG変換について(コマンドライン編)
http://qiita.com/motomiya326/items/c16038b670927468b89b

Google Noto Fonts
https://www.google.com/get/noto/help/cjk/





AWS RDS でMySQLインスタンスを構築する | yamamanx

2017年4月20日木曜日

AWS S3を独自ドメインにしてSSLに対応させる

S3のSSL化、試行錯誤しましたが、おおよそ以下の手順でできました。

ただし、CloudFrontを使用すると、サイトデータがキャッシュされて更新がすぐに反映されない(デフォルトでは24時間保持)ので、更新の少ないサイト用だと思います。

使用するもの
・S3 ※静的ウェブサイトホスティング、パケットポリシーは設定しなくてよい。
・AWS Certificate Manager (ACM) の無料SSL証明書 ※US Eastリージョンで取得すること
・CloudFront ※設定完了まで15分ほどかかる。くるくる回る In Progress が Deployed になったら完了。
・Route53

参考:S3+CloudFront+ACM(AWS Certificate Manager)でHTTPS静的サイトを作ってみた - Qiita
http://qiita.com/toshihirock/items/914f408cd565b66fe9f9


最後で詰まったのが、東京リージョンで取得したACM証明書がCloudFrontに適用できない!ということでした。
バージニア北部(US East)リージョンのACM証明書しかダメということで、このリージョンで同じドメインに対する証明書を発行しOKでした。(EC2用とS3用で証明書が2つになってしまったがまあよいのでしょう...)


その他参考:AWSにおけるSSL証明書の基本的な取扱い | 外道父の匠
http://blog.father.gedow.net/2016/10/07/ssl-on-aws/

ACMの証明書をAWSのリソースにどのように登録し、運用していくか

AWSにおけるSSL証明書の基本的な取扱い | 外道父の匠
http://blog.father.gedow.net/2016/10/07/ssl-on-aws/

Linux上でシェルスクリプトを作った時のメモ

1."期待していないファイルの終了" というエラーになる。

対応→改行コードをLFにすればOK。


2.$ echo XYZ | md5sum とすると、XYZ+改行 のハッシュ値になってしまう。

$ echo -n XYZ | md5sum のように -n を付けて、XYZのハッシュ値を得る。

3.ファイルの内容を1行ずつ処理

cat と read コマンドを利用する方法

cat ファイル名 | while read 変数名
do
    変数を使った処理
done


以下の例 read-each-line.sh では、ファイルの内容に、行数をつけて表示します。
ファイルは引数として渡します。

#!/bin/bash
numLine=1
cat $1 | while read line
do
    echo $numLine: $line # 出力
    numLine=$((numLine + 1)) # 行数を1増やす
done



参考:[Bash] ファイルを一行ずつ処理する方法

AWS サブドメインのSSL化

S3+CloudFront+ACM(AWS Certificate Manager)でHTTPS静的サイトを作ってみた - Qiita
http://qiita.com/toshihirock/items/914f408cd565b66fe9f9

2017年4月19日水曜日

CloudFlare Flexible SSLでWordPressを無料でSSL化した手順

https://kodak-ism.com/cloudflare-flexible-ssl/

CloudFront 設定完了までやや時間がかかりました。15分ほど。

Distribution Status が In Progress → Deployed

となれば接続できるようになります。

AWS ELBでhttpをhttpsにリダイレクトする場合の注意


ELBとHTTPSとリダイレクトループ【cloudpack 大阪 BLOG】 - cloudfishのブログ
http://cloudfish.hatenablog.com/entry/2015/08/30/184458

2017年4月14日金曜日

Amazon Route 53のALIASレコード利用のススメ | Developers.IO

ownCloudのカスタマイズ

ownCloudのロゴなどをカスタマイズしたいとき

ownCloudのカスタマイズ方法 | Think IT(シンクイット)
https://thinkit.co.jp/article/9773

ウェブとメールを別サーバにするには

以下がたいへん参考になります。

ウェブとメールを別々のサーバで運営したい?・・・それ、ゾーン設定で出来ます! - さくらのナレッジ
http://knowledge.sakura.ad.jp/knowledge/4604/

AWS Route53でSPF設定

http://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#SPFFormat

上記をみると、SPFレコードで設定せず、TXTレコードで設定してくださいということでした。

レコードセットの

TypeをTXT、
Valueを
 "v=spf1 a:ドメイン名 a mx ~all"
 または
 "v=spf1 ip4:IPアドレス ~all"

のように設定しました。
書式は他の詳しいサイトを参照してください。

日本語を含むZIPファイルを文字化けせず解凍する方法 - Qiita

http://qiita.com/hoo89@github/items/46dcd8134061c392772f


Mac, LinuxでZIPされたファイルをWindowsで開く場合

Windows標準の解凍機能を用いる場合、修正プログラム(
http://support.microsoft.com/kb/2704299/ja )を使うことでWindows 7 または
Windows Server 2008 R2では文字化けせずに解凍できるようになります。
Windows 8以降は何もせずとも解凍できるようになっているようです。

2017年4月13日木曜日

EC-CUBEの韓国語対応-注文受付メール内の文字化け解消

MySQL DB内の画像(BLOB)を実ファイルに変換する


MySQL内に保存された画像を、実ファイルに変換するスクリプト | WEBシステム・スマホアプリ開発のイリテク
https://iritec.jp/web_service/6305/


[PHP]MySQLを利用した画像の保存と出力 | WEBプログラム覚書
http://www.kantenna.com/pg/2010/04/phpmysql.php

プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

Androidの動作を二倍早くする設定

古いアンドロイドのスマホを高速化して再使用 - 黒色中国BLOGhttp://bci.hatenablog.com/entry/old_android_speed_up

Androidの動作を二倍早くする設定

  1. 「設定」→「端末情報」→「ビルド番号」7回タップでデベロッパー・モードに
  2. 再び「設定」→「開発者向けオプション」→「ウインドウアニメスケール」アニメーションスケール.5x→「トランジションアニメスケール」アニメーションスケール.5x→「GPUレンダリングを使用」OK

2017年4月12日水曜日

【解決済】原因は単純ミス‥。Apache+OpenSSLで構築したけどHTTPSに接続できない時 | Step On Board

Linux: Apacheの実行ユーザーを変更する

vi等のエディタでhttpd.confを開きます。

$ vi /etc/httpd/conf/httpd.conf

User root
Group apache

↓ 該当箇所を変更し保存します。

User newuser
Group apache


Apacheを再起動すれば完了です。

$ /etc/rc.d/init.d/httpd2 restart


Apacheの実行ユーザー(起動ユーザー)を変更する方法 | Step On Board
http://www.lesstep.jp/step_on_board/apache/346/

ownCloud 9 のフォルダをウェブ公開

ownCloudの特定フォルダをウェブ公開できないかと試行錯誤していましたが、

ウェブ公開済みディレクトリをownCloudの外部ストレージとして設定するということで、とりあえずOKとしました。

ownCloudにログインし、管理画面を開く。外部ストレージの設定画面から希望のディレクトリを追加。

0dc819dd501befb63bd4f59a3f6ec3d8.png


ownCloudから希望ディレクトリに書き込みできるようユーザー、パーミッションを調整。
$ sudo chown -R user:group /var/www/html/publish
$ sudo chmod -R 750 /var/www/html/publish


これでownCloudからウェブサイトへアップロードしたり編集できるようになりました。


参考
ownCloud 9.xでサーバ上のディレクトリをWebから見る方法
http://qiita.com/filiarc/items/f7f9b8d42d81099a7f1c


Linux: Basic認証設定のしかた

<環境>
CentOS, Amazon Linux
Apache 2

1. .htpasswdファイルの作成
以下のコマンドで現在のディレクトリ内にパスワード設定ファイル(.htpasswd)を作成します。

$ htpasswd -c -b .htpasswd ユーザ名 パスワード

Options
-c : 新しいパスワードファイルを作成する。既存ファイルがあった場合は上書きされる。
-b : パスワードを対話式ではなくコマンドライン引数として入力できるようにする。

2. .htaccessファイルの作成

<.htaccess記述内容>
AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /var/www/html/testsite/.htpasswd
require valid-user

※.htpasswdファイルのフルパスを記述します。

以上です。

追記

httpd.confに記述する場合

エディタ(vi等)でApacheの設定ファイル /etc/httpd/conf/httpd.conf を開きます。

vi /etc/httpd/conf/httpd.conf

最終行に下記を記述してください。

<Directory "/var/www/phpMyAdmin/">
      AuthUserFile /etc/httpd/conf/.htpasswd
      AuthGroupFile /dev/null
      AuthName "Basic Auth"
      AuthType Basic
      Require valid-user
</Directory>

上記例では phpMyAdmin にBASIC認証を設定しました。

最後に、Apacheを再起動してください。

/etc/init.d/httpd restart

以上です。


ownCloudとAWS S3の連携

以下の後半、「AmazonS3 と ownCloudの連携」を参考にしました。

無制限ストレージ with ownCloud and Amazon S3
http://qiita.com/ukitiyan/items/481f380502a462a2af69

AIMのポリシー
AIMユーザー demo-ownCloud を作成しアクセス権限を設定する。
{
    "Version": "2012-10-17",
    "Statement": [
    {
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::*"
    },
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::demo-owncloud","arn:aws:s3:::demo-owncloud/*"]
    }
  ]
}

※Versionがないとエラーになるので、"Version": "2012-10-17", を追加した。
※S3のバケット名とIAMユーザー名を同じにしないと、ownCloudからS3にフォルダ・ファイルが作成できなかった。(Amazon Linux上のownCloud9の場合)

さらに、このS3バケットをウェブ公開するには

1.S3 demo-ownCloud バケット→プロパティ→Static Website Hosting で
「このバケットを使用してウェブサイトをホストする」をチェック

2.S3 demo-ownCloud バケット→アクセス権限→バケットポリシー
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::demo-ownCloud/*"
        }
    ]
}

を設定します。

アイコン集のまとめ(2016年度版)


ネットワーク図を作る時に便利なアイコン集のまとめ(2016年度版) - P2P today ダブルスラッシュ
https://wslash.com/?p=6524

ownCloud チューニング

ownCloud のあれこれ July Tech Festa 2016
https://www.slideshare.net/ttyno/owncloud-july-tech-festa-2016


ownCloud 9 ZIPで一括ダウンロードのファイル名文字化け解消法

Windows7上での日本語ファイル名は、以下の記事で治りました!

owncloud8.2.3で、フォルダをダウンロードしたときの文字化けと、ユーザ名の検索を修正する | 麦芽刀
https://maltblade.wordpress.com/2016/03/28/owncloud8-2-3%E3%81%A7%E3%80%81%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AE%E6%96%87%E5%AD%97/



owncloud/3rdparty/mcnetic/zipstreamer/src/ZipStreamer.php
の以下の箇所を修正します。

private static function normalizeFilePath($filePath) {
return trim(str_replace('\\', '/', $filePath), '/');}

private static function normalizeFilePath($filePath) {
return mb_convert_encoding(trim(str_replace('\\', '/', $filePath), '/'),"SJIS","UTF-8");}

関数基本形
str_replace( $beforeword, $afterword, $str );
mb_convert_encoding( ‘元の文字列’, ’変換後のエンコード’, ’変換前のエンコード′ );

※ただ、これだと韓国語などその他の言語はダメです。
どうすればよいでしょうか??

2017年4月6日木曜日

PHPでパスを取得する

PHPでフルパス(絶対パス)を取得する。


<?php
    //フルパス
    echo __FILE__ . '<br />';
 
    //ディレクトリパス
    echo dirname(__FILE__) . '<br />';
 
    //スクリプト名
    echo basename(__FILE__) . '<br />';
 
    //指定した拡張子を取り除いたスクリプト名
    echo basename(__FILE__, '.php');
?>

2017年4月5日水曜日

PHPでファイルのパーミッションを変更する

パーミッションを変更したいが、レンタルサーバー等の理由でrootアクセスできない場合、PHPのchmod関数でパーミッションを変更すればよい。

PHPでのファイル書き込みとパーミッションエラー解決法
http://www.flatflag.nir87.com/fwrite-792

<?php
    // パーミッションを666へ変更する。666の前に0が必要。
    chmod ('hoge/hoge.php', 0666);
?>


※さらにchmod関数も使えなかった場合
PHP chmodでパーミッション変更できない場合 - Digitarhythm

<?php
    // 使用しているサーバーでchmodコマンドが使えることが前提
    system('chmod 666 ./hoge/hoge.php');exit;
?>

2017年4月3日月曜日

Windows7 リモートデスクトップのポート番号変更

Windows7 リモートデスクトップのデフォルトのポート番号(3389)を変更するには、レジストリ・エディタを起動し、以下のレジストリ値の変更が必要。その後再起動します。

項目内容
キー HKEY_LOCAL_MACHINE 中の
\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
名前 PortNumber
種類 DWORD
データ 3389(10進数)