橋本 たかし

Docker

Linode(VPS)のCoreOSでDocker Swarm環境を構築する手順

最近すっかりDockerにはまっています。すでに稼働中のサービスに新たな機能を追加したいときにも、コンテナを追加したり、入れ替えたりすることで対応でき、もし不具合が見つかっても、サクッと元に戻せるフットワークの軽さがとても気に入ってます。 ...
ウェブサーバ運用

Elasticsearchを導入したら、過去15年分のメール(150万通越え)の本文から、会社名や担当者名、電話番号などで、瞬時に検索できるようになった。

改元アニバーサリーの10連休中に、いつか勉強してみたいと思っていた、検索専用DBについて調べて、いろいろ遊んでみました。 僕が独立する前に勤めていた職場では、僕が15年前に開発したメールシステムを現在も使っています。ネットショップを運営して...
Docker

Alpine Linux 上のPHPでiconvがエラーになるので対策しました。

AlpineベースのDockerコンテナ上で、phpからmailparseを使用した際に、以下のようなPHP Notice が表示されたので、対策してみました。 PHP Notice: iconv(): Wrong charset, con...
PHP

Laravelを使わず、直接PHPからEloquentを使用し、かつ複数のDBに接続する方法。

自分でウェブアプリケーションを作る場合、フロントエンドにVueを使用し、サーバ側は素のPHPでRestful風に仕上げるスタイルが好みです。 サーバーの仕事は、要求に応じてjsonデータを返すことが主な役割になりますので、LaravelやR...
Docker

DockerのPHPコンテナからメールを送信するためにsSMTPをインストールしてみた。

DockerのPHPコンテナからメールを送信しようと思ったら、エラーが出て送信できなかったので、メールの送信機能を追加しました。 PHPMailerを使用してSMTPで送信すれば良い話なのですが、気軽にPHPからmailコマンドで送信したか...
ウェブサーバ運用

MySQLにダンプデータをLOAD DATA INFILEしようとしたら、Incorrect datetime valueエラーを吐くので対処した

MySQLにダンプデータを流し込んだところ、Incorrect datetime valueというエラーが出力されました。 昨年書いたプログラムなのですが、以前は問題なく実行できていたので、きっとMySQLのバージョン違いによる問題だろうと...
ウェブサーバ運用

GitHubのPrivateリポジトリからCloneする方法

最近、積極的にGitを使うようにしています。 PrivateリポジトリからCloneする方法の備忘録です。 認証鍵を使わないお手軽バージョンです。 git clone https://{ユーザ名}@github.com/foo/bar.gi...
アプリケーション

DockerのプライベートレジストリをLet’s Encrypt(自動更新)+ベーシック認証で作ってみた

最近、Dockerにはまっています。 環境がサクッと整うし、汚さないしで最高です。 もうこれからは、自分案件はできるだけDockerで構築しようと思っています。 スケールのことや冗長化のことなど、これまでいくつかのサービスを運営していて、漫...
アプリケーション

Linode(海外VPS)でCoreOSを使用する場合のネットワーク及びEtcdの設定方法

あるウェブサービスを作ろうと思っているのですが、せっかくなのでDockerを使ったスケールの勉強も兼ねてVPSサーバで遊んでいます。 Dockerでマルチホストネットワークを構築してスケールさせる算段なのですが、いろいろ情報を収集しているう...
ウェブサーバ運用

Dockerを使用した超簡単ロードバランサー(Let’sEncrypt+セッション維持)の作り方

DockerのTraefikを使って簡単にロードバランサーを作ることができましたので、紹介したいと思います。 ネットワーク内でアプリ(wordpressやwebサービス)のコンテナを起動すれば、自動的にLet's Encryptの設定が行わ...