シンプルなCMSとしてMDwikiがそこはかとなく使いやすい【#np2020】

タブレットでレシピを見る人のイラスト 前回、GitHub Wikiを使って店舗用マニュアルを作ってみました。 GitHub Wiki を使って店舗の作業マニュアルを作成する | mutter 短時間で構築した割には好評で、情報を見やすく集積できたと自分でも思うのですが、一方であくまでリポジトリのWikiであるため、余計な情報がたくさん表示されてしまいます。また共同執筆はあまり考慮していないテキストなので、完全なWikiである必要はあまりありませんでした。Wikiを公開するためだけにリポジトリをパブリックにするのも少し気になるところです。 (非公開情報をpushしなければいい話ですが) そういったことを鑑みてサーバに入れられるシンプルなWikiはないかなあと探して行き当たったのが「MDwiki」でした。 MDwiki – Markdown based wiki done 100% on the client via javascript

サンプル

https://nobodyplace.github.io/demo/mdwiki/

続きを読む

Vagrantで共有フォルダのマウントに失敗するときの対処方法(原因がGuestAdditionsでは無いとき)

vagrant.pngのサムネイル画像 いくつかVMを動かしていて一つだけ上手く動かない。 どうやら共有フォルダをマウントするときに失敗している様子。

manager: /vagrant => E:/project/ansible_manager
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: Protocol error
ログを見てわかるとおり、WindowsのフォルダをゲストのCentOSにマウントしたい。 Vagrantfileは以下の様に設定されていて、他のVMではきちんと動いているのになぜかこれだけ動かない。。
manager.vm.synced_folder "E:\\project\\ansible_manager", "/vagrant", owner: "vagrant", group: "vagrant", type: "virtualbox"

続きを読む

Vagrantで複数サーバー起動してAnsibleを動かしてみるテスト【#np2020】

ansible.png

業務では前任者が選定した「Chef」を使って環境構築を行っているのですが、色々調べるに最近は「Ansible」を使うのが主流っぽいので次のサーバではそれを使うことにしてみました。概念としては、管理用のサーバを1つ用意してそこにAnsibleの設定を書いておいて、そこでコードを実行することで、更新対象のサーバに一斉に設定を反映できる仕組み、という感じですよね。なにそれやばい。しかし見たことも触ったこともないのでいまいち設定や実行のイメージがつかめない。だったらまあ、簡単な環境を作ってハンズオン(体験学習ぐらいの意味)してみればいいんじゃない? やってみた。

続きを読む

開発環境の整備(Vagrant+VirtualBox+CentOS7.6+PHP7.1)【#np2020】

vagrant.png ローカルの開発環境として、Vagrantを使います。Macの方がセットアップ・運用共にが楽なんですが、Windowsでも問題なくできます。

概要

  • 使用OS:Windows 7
  • ゲストOS:CentOS 7.6
  • 仮想環境:Vagrant 2.2.2 + VirtualBox 6.0.0

手順

  1. VagrantとVirtualBoxをインストール
  2. CentOS7.6を追加してVagrant起動
  3. PHP 7.1をインストール

参考サイト

基本的には、こちらの記事を参考にさせていただきました。 Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する – Qiita Windows上でVirtualBox+Vagrant+CentOSによる仮想環境構築 – Qiita ただ記事と時差があるのか個別にハマったところも何点かあったので、それらについてはまた別の記事を参考にしています。

続きを読む

サイトリニューアルの話がなんだか大掛かりになってきてる【#np2020】

ノマドワークのプログラマー ※リニューアルあるあるです 少し前に サイトのリニューアルをしようかな という話を書きまして、ローカルでBootstrapでテンプレート作ったり、SSLに対応させたり してたんですが、その過程で重要度の低いサイトから順に、GitHubと連携させつつsvnからgitに移行としようとしていて衝撃が。サーバのOSが古すぎて最新版のOpenSSLが入らず、GitHubと連携できない。マジで。 使っているOSはCentOS5.6で確かに古い。今のサーバ(さくらのVPS)を契約した時点で既に大分枯れていたと思うんだけど、使い慣れてるからって言う理由で選択したんだよね。個人サイトの環境なんだからもっと冒険しておけば良かった。 ここでGitHubを諦めるという選択肢ももちろんあるんですけど、仮にサーバが止まっても収入がなくなるわけでも責任問題になるわけでもなし、じゃあもこの際サーバを引っ越しましょうかということに。なんでそうなる。

続きを読む

【メモ】Vagrant で共有フォルダのマウントに失敗する

vagrant.pngのサムネイル画像 試したいことがあって通常使用しているのとは別にテスト用にレポジトリをcloneしてVMを作るということをしたらば、次の様なエラーが。

Vagrantで共有フォルダのマウントに失敗するときの対処方法 – Qiita

Failed to mount folders in Linux guest. This is usually because the “vboxsf” file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was: (中略) The error output from the last command was: /sbin/mount.vboxsf: mounting failed with the error: No such device

要するに共有フォルダがマウントできない、そもそもvboxsfが見つからんと言われているみたいです。Guest Addtionsがちゃんと読み込まれてないっぽい? 上記エントリではプラグイン「vbguest」をインストールしておけば解決してくれると書かれているのですが、僕の環境ではどうも解決してくれない。「解消しない場合」という項目にあったこちらを参照したところ、逆に「vbguest」が問題になるケースがあるとのこと。 つまりこう:

vagrant-vbguestプラグインがGuestAdditionsを無効にしてしまう – Qiita

  1. VirtualBoxのバージョンとGAのバージョンが異なるためvbguestプラグインがGAの再ビルドを始める
  2. インストール済みGAが削除される
  3. アクティブなkernelと同じバージョンのkernel-develをインストールしようとするが、より新しいkernelが公開されているのでみつからない
  4. GAのビルドが失敗し、GAが動作しない状態に

なるほど。 結局どうしたらいいかっていうと、Guest OSのkernelをアップデートすれば幸せになれるらしいので、次のコマンドを実行。
$ vagrant ssh -c 'sudo yum update -y kernel'
$ vagrant reload
その上で vagrant reload してやると、
  1. 正しい kernel-debel を取得する
  2. 正常に GuestAddtions が更新される
  3. 正常にマウント出来る
という流れで無事起動に成功。 軽くハマって余計な時間食っちゃった。 とりあえず直って良かったです。感謝。

続きを読む

ブログをSSL化しました。

03_01.jpg 自動的にリダイレクトするようにはなってますが、今後は以下のURLでアクセスしてください。 よろしくお願いします。 https://nplll.com 長いこと「やらなきゃなー」と思いつつ面倒で放置していたんですけど、ちょっと時間が取れそうなタイミングが合ったのでえいやっとやってみました。結果から書くと、SSLに対応するだけだったらくっそ簡単なので、コマンドライン打つのに抵抗が無い程度の人はみんな今すぐやったら良いと思う。もっと早くやれば良かった。うちの環境は、ムームードメイン+さくらVPSなんだけど、さくらのSSLを使えば超簡単にできるのでオススメ。価格も年972円と超安い。 具体的な作業手順はこちらを参考にしてください。 SSL証明書を取得しよう – Qiita さくらVPSにSSL証明書を導入しHTTPS通信の構築 – Qiita サイト認証とか確認とかクローラー巡回のタイミング次第で10-30分程度の時間が掛かる場合もあるけれど、順を追ってやっていけば大丈夫。

続きを読む

gettextのmo/poファイルを更新したらApacheを再起動する

PHP logo

サイトを国際化するにあたってgettextを使って、mo/poファイルを作って翻訳を行うということはよくあり、今触っているシステムでもFuelの下で(Fuelのi18nは使わずに)gettextを使って日本語版と英語版の切り替えを実現しています。当然、このファイルは頻繁に更新されるわけですが、ローカルで確認していると更新後にロケールが正しく取得されずに日本語版で英語が表示されてしまうことがよくあります。何度かページ更新したり、時間をおいたりすると直るんですが、ローカルならまだしも本番環境で同じことが起こったら軽く事故ですね。ファイルサイズとかサーバスペックとかでキャッシュ更新タイミングが決まってるのか、運良く本番環境では発生していなかったようですが。

続きを読む