スキップしてメイン コンテンツに移動

投稿

nginxのtry_filesを使って返却するファイルやファイルパスを割り込ませる

どういうタイトルにするのが適切なのだろうか。イマイチ思いつかなかったのでこんな感じだけど、図にすると、こういうことをしたいとき。

https://www.flickr.com/photos/29619730@N06/4066833638/

実はこれ、8年程前に同じ事を考えていたんだけど、当時はnginxの存在を知らず、当時使っていたApacheでこのような方法を採れるのかどうかすら、このとき結局分からなかった。
ふと思ったんだけど、Apacheでこんな感じのリクエストの捌き方って出来るのかな。 http://bit.ly/wvm2V — あのん (@anon5r) 2009年11月2日

最近はnginxをウェブサーバとして使うことが多いのだけど、そういえば、「当時考えていたこれ、nginxのtry_files使えばできるよね?」というのを思い立って、やってみた。
ここでは、上記の画像となるべく同じ構造にして設定を記述していく。

/var/www/dir_a/public_html 以下には下記のファイルが置いてある。
A.htmlB.htmlまた、/var/www/dir_b/public_html 以下にも下記の様なファイルが置いてある。
A.htmlC.html
このとき、DocumentRoot が /var/www/dir_b/public_html であった場合、通常、下記のリクエストはそれぞれこのようになるはずである。

curl -I http://www.example.co.jp/A.html -> HTTP/1.1 200 OK curl -I http://www.example.co.jp/B.html -> HTTP/1.1 404 Not Found curl -I http://www.example.co.jp/C.html -> HTTP/1.1 200 OK curl -I http://www.example.co.jp/D.html -> HTTP/1.1 404 Not Found

これをnginxで、下記の様な設定を行うと、上記の図の様な挙動にできる。




curl -I http://www.example.co.jp/A.html -> HTTP/1.1 200 OK curl -I http://…
最近の投稿

さくらのクラウドでマストドンのインスタンスをサブドメインで作る

タイトルに「の」と「で」が多すぎますが気にせずいきますこんばんは。

さくらのクラウドで、いま話題のMastodon(マストドン)のインスタンスを作成してみました。
Mastodonは普通にソースを展開して自分で普通にセットアップする方法や、Docker-composeを用いた方法などがありますが、さくらのクラウドでは、スタートアップスクリプトを用いて、管理画面から必要な項目を入力、スクリプトを選択するだけで簡単に立ち上げることができるようになっています。

さくらのクラウドのMastodonスタートアップスクリプト 実は少し前にこの方法で立ち上げたりもしていたのですが、本当に簡単でサクサクできてもの自体は30分程度で完了します。
管理者ユーザーを作成するには、通常のユーザー登録と同じ手順で画面からユーザーを作成後、一度コンソールからログインして、mastodonユーザーで下記のコマンドを実行する必要があります。

# su - mastodon % cd ~/live % bundle install % RAILS_ENV=production bundle exec rails mastodon:confirm_email USER_EMAIL=登録時のメールアドレス % RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=作成したユーザーID mastodon:confirm_email でメール受信確認をスキップして承認済みに、mastodon:make_admin で指定したユーザーを管理者に設定します。

これでインスタンス管理者として様々な操作をGUI上から行えます。

同類の記事は恐らく既にたくさんあるので、詳しい作り方に関してはそちらを参考にしてください。

気になるところが 上記のさくらのクラウドニュース内で記載されているMastodonスタートアップスクリプトでの構築方法に関する記事内で、一つ気になるところがありました。
それが
※サブドメイン(例:mstdn.example.com)には対応していません。 という記述部分です。

つまり、このスタートアップスクリプトを利用した場合、サービス専用のドメインを用意する必要があります。
既存のドメインをなるべく利用したい場合には向…

ブログを移転しました(WordpressからBloggerへ)

現在のこのブログを作ってから、長年自前サーバ(VPS)上で動かしていたWordpressで公開し続けてきました。
Wordpressは自由度もあり、カスタマイズ性もあり、また自前での場合はドメインもサーバ設定カスタマイズすら自由で、自分の行いたいようにいじることができました。

しかし、サーバ側のスペックや他の開発サービスとの兼ね合いなどもあり、人が滅多に来ないブログとは言えブログ自体の重さを感じておりました。
そのため、ここ最近はブログ用に別途VPSを借りて高速Wordpressとして売り出されているKUSANAGIを利用して公開したりもしていましたが、所詮趣味ブログであり、特に収益を上げるために書いたり(所為アフィリエイト)と言うことをしているわけでもなく、記事も頻繁に書くほどではなかったので、コスパの問題も出てきました。

そこで以前から計画していたBloggerへの移行を行い、ようやく公開作業が完了出来ました。使いやすさなどを考えると、はてなブログなどを利用するのが恐らく賢明だと思いますが、あれこれしようとすると有料プランで運用する必要があり、どうするかな、というところで悩みました。(VPSに比べれば月額は明らかに安いですが)

Bloggerは日本ではあまりユーザーが多くないように思えますが、ブログホストサービスとしての歴史は長く、またGoogleに買収されてからも安定して稼働しているので、こちらに移行しようと考えました。

Wordpressからの移行はそれほど大変ではないようで、それなりに大変でもありました。

記事やコメントの移行については簡単で、Wordpressの管理画面から「設定」→「エクスポート」で出力されるXMLを保存し、http://wp2blogger.info/ などのサイトへアップロードすることで、Blogger用XMLフォーマットに変換してくれるので、それをBloggerに取り込めば大体終了です。

問題は記事内で使用している画像です。外部サイトから読み込んでいる場合であればそのままでも行けるかも知れないですが、独自にアップロードしていた画像はすべてBloggerへアップロードし直す必要がありました。
またアップロード後も、元のファイル名でのURLにはならず、それぞれGoogleドライブ内で割り当てられているファイル名に変換されるので、一…

AWSのVPS、LightsailでWordpressを動かしてみた

AWSでついにVPSサービスLightsailがリリースされました。
いままではAWSで同等のことをしようとすると、EC2インスタンスを用いてセットアップする必要がありましたが、料金体系などを含めやや複雑となっていました。
今回のサービスでは、SSDディスク容量、メモリ、CPU、月間一定量の転送料+グローバルIPを込み込みのパッケージの仮想マシン環境として提供され、最低月額約570円(1時間単位だと約0.8円)からと、これまでのEC2に比べると格安で手軽に利用できるようになっています。




早速、用意されているテンプレートを利用してWordpress環境を作ってみました。

Visual Studio for mac登場

先日まさかの告知と、昨晩(11月17日未明)の Connect();//2016 で正式発表された Visual Studio for macが登場しました。(現在はまだプレビュー版)

あのVisual StudioがついにmacOSにも…!Microsoftが本当にノリノリ!と話題になっていました。
かつては自分もWindows環境を利用していた際にはVSを利用していたので、あのIDEの使いやすさ、素晴らしさはある程度知っているつもりです。
(業務用ではなく趣味レベルでの開発だったので、使いこなすほどでは無かったけど)

それが、macOSでも利用できるようになる…!
という訳ではなく、Windows版の移植ではなくXamarinベースのmac版用Visual Studioという感じでした。
実際にUIをみてみると、あぁ確かにXamarinっぽい。という印象を受けます。



ただし、Visual Studioの名を冠するだけあり、補完機能のIntelliSenseも搭載されているようです。

また、これにより"mac上でVisual Studioを使ってiOSアプリの開発ができる"という状態にもなりました。
(といっても前述の通り、この部分はXamarin.iOSの機能となるため、開発言語はC#で実質Xamarinと代わりありませんが。。)

インストール時にもMonoFrameworkやXamarin関連を一式ダウンロードしながらインストールしているので、XamarinユーザーにとってはこれまでのXamarinとそれほど変わらない感じで使えると思います(自分がXamarinをそこまで利用したことが無かったのでどこまで違いがあるか比較し切れていません。。)


上記にも表示されているとおり、もちろんAndroidアプリも開発可能で、サーバサイドのASP.NETアプリも開発が可能とのことです。

Amazon Cloud Driveデスクトップアプリで日本語環境からAmazon.comアカウントでログインする

Amazon Cloud Driveのクライアントアプリを起動すると、現在利用しているOSの地域言語設定に基づき、その地域や言語向けのAmazonにログインするようになります。
こうなると、アメリカで生活しながら日本語環境を使用している場合、普段はAmazon.comを利用していてもAmazon.co.jpへログインするダイアログ表示となってしまって、Amazon.comのアカウントへはログインできません。
また、私のように日本にいながら、Amazon.comで先駆けてスタートしていた「Unlimited Storageプラン(無制限プラン)」に登録していた場合、Amazon.comのサービスにログインすることができなくなります。

この問題を回避する方法を紹介します。

iPhone7はApple Payでゲーム系ICカードとしても使えるか?

先日発売されたiPhone7をはじめiPhone6以降の機種で、日本でもようやく、Apple Payが使えるようになりました。
iPhone7は長年ユーザーが待ち望んできた防水対応もさることながら、日本向けiPhone7/7 Plusでは、NFCだけでなくFeliCaを搭載し、Apple PayではJR東日本のモバイルSuicaやEdyが使える、というのが今回の注目にもなりました。
Apple Payが始まることで、こちらも日本のユーザーが待ち望んでいたモバイルSuicaをはじめとする、国内の様々な場所で使われている非接触IC系サービスの恩恵を受けられるようになります。



ということは、非接触系ICカードを利用している場所の一つである、ゲームセンター。ここにある数々のゲーム筐体、最近では非接触ICカードリーダーが備え付けられていて、独自の電子マネー機能を持ち合わせたり、カード情報を読み取ってプレイヤーのプレイデータを読み込むのに使用されたりしています。これらは果たしてiPhone7でも使えるのか…。
検証
まず、現在国内で主流の非接触IC系ゲームプレイカード(以下、プレイカード)は下記の種類があります。

e-AMUSEMENT PASS (コナミ)
Aime (セガ)
バナパスポート (バンダイナムコ)
NESiCA (タイトー)
※これ以外にもあるかもしれませんが、自分が主に音ゲーを好んでやるため、音ゲー機種が出ているサービスのみを対象にしています。

これらのサービスに対応する機種でiPhone7のApple Payが使えるか検証してみます。