読者です 読者をやめる 読者になる 読者になる

約束の地

あの日あの時のキャロの想い出

Ubuntu 16.04 LTS の nginx で PHP を使えるようにする

最低限 ごちゃごちゃ書くと論点を見失うのでシンプルに書きます。 インストール nginx と php-fpm を入れます。 $ sudo apt-get install nginx $ sudo apt-get install php-fpm nginx の設定ファイルの編集 場所は/etc/nginx/sites-available/defaultです。…

Docker の中の Apache で PHP の shell_exec() すると実行できるときとできないときがある

Webブラウザから PHP の exec 系統のコマンドを実行する ある程度のセキュリティはちゃんと意識した上で、シェルスクリプトを Webブラウザ 上から叩くときなどに便利です。 Docker 上だと が、Docker 上の Apache(PHP)だと「実行できたりできなかったり」…

Ubuntu 16.04 LTS に MongoDB をインストールする

MongoDB のインストール 素の状態でapt-get install mongodbでインストールすると現状2.6.10がインストールされます。3.X.Xを入れたいですね。

Ubuntu 16.04 LTS で MongoDB の認証を有効にする方法

MongoDB まずはインストールしましょう。 認証ユーザの追加 db.addUser()はdeprecatedです。ダメです。db.createUser()を使いましょう。roleとかdbとかは適切なものを。 > use admin > db.createUser( { user: "username", pwd: "password", roles: [{ role:…

Embulk で MySQL に大量のデータを流し込む際にエラーが出る場合

Embulk 今さら説明の必要はないと思いますが、データをいい感じに流してくプロダクトです。 MySQL に大量のデータを流し込み この Embulk で 100万件 規模の大量のデータを MySQL に流し込もうとすると以下のようなエラーが出てしまいました。 The total num…

embulk-input-mysql の incremental_columns の設定でハマった

embulk-input-mysql ご存知、Embulk 用の MySQL の input プラグインです。 incremental と incremental_columns 設定項目の一つにincrementalという項目があり、ここをtrueにするとこの項目で指定されたカラムを基準として最終取得したレコードの情報を保存…

Ubuntu 16.04 LTS の MySQL で STRICT_TRANS_TABLES を無効にする方法

STRICT_TRANS_TABLES MySQL には設定項目にSTRICT_TRANS_TABLESという項目があります。これを無効にする方法です。 結論 /etc/mysql/mysql.conf.d/mysqld.cnfに以下のように書きます*1。必要に応じて内容は調整しましょう。 # STRICT_TRANS_TABLES を除外 sq…

Embulk で MySQL のプラグインを入れる方法

Embulk に MySQL の Plugin を入れる 情けないハマり方をしたので反省文。 失敗したコマンド $ embulk gem install mysql 成功したコマンド $ embulk gem install embulk-input-mysql $ embulk gem install embulk-output-mysql 結論 自分が情けない。

MySQL で改行を検索する方法

結論 CHAR(13)です。文字列として連結して使用する場合はCONCATを使いましょう。 例 SELECT * FROM table_name WHERE column_name LIKE CONCAT('%', CHAR(13), '%') ;

MySQL で Lost connection to MySQL server during query エラーが出た場合

Lost connection to MySQL server during query MySQL でクエリを発行した際に、Lost connection to MySQL server during queryというエラーメッセージが出ることがあります。これは事実を表しただけのメッセージであり、どうすればエラーが出なくなるのかが…

Ubuntu 16.04 LTS での MeCab の辞書の場所と確認

結論 辞書の場所 ここです。 /var/lib/mecab/dic 実は以下の設定ファイルに書いてあります。これは Mroonga などでも使われます。 /etc/mecabrc 辞書の確認 以下を。 $ sudo update-alternatives --config mecab-dictionary MeCab のバージョン(補足) 0.99…

Idiorm のインストール方法

Idiorm Idiorm をインストールする方法です。 Composer で これでいいでしょう。 $ composer require j4mie/idiorm 書いた動機 ずばり上記のコマンドがドキュメント内に見当たらなかった*1。 *1:見落としているだけかも

Goutte(グート)でスクレイピングをする準備

Goutte PHP のスクレイピング用ライブラリであるGoutte(「グート」と読むらしい*1)を使うための準備の方法です。実際の使い方はオフィシャルのドキュメントを見るほうが早いでしょう。 php-curl と php-xml を入れる 以下、Ubuntu 16.04 LTS を用いた場合…

Embulk で Operation failed (0:08003) エラーが出た場合は out のサイズを見直してみる

Embulk でインターネット越しの転送 ローカルネットワークでは問題なかったのですが、インターネット越しに Embulk で大量のデータを送信しようとするとOperation failed (0:08003)というエラーが出てしまいました。Output pluginsはembulk-output-mysql(ht…

Embulk でレジューム(差分実行)するためには実行時に -o オプションを付ける

Embulk ご存知Embulk(http://www.embulk.org/)ですが、Fluentd(http://www.fluentd.org/)とともにとても便利なプロダクトですよね。データベースの実質的なレプリケーションもこれで柔軟に行えたりします。プラグインにもよりますが、オプション指定も豊…

MySQL でテーブルを一括削除する方法

テーブルの一括削除 MySQL においてテーブルをDROP TABLEで削除する際にはワイルドカードを用いることができません。何とかしたいですね。 grepしてパイプでつなげる 以下のようにコマンドラインから投げてやれば、db_nameに存在する複数のテーブルを削除で…

Ubuntu 16.04 LTS で MySQL のスロークエリログを出力する方法

スロークエリログ 一定の条件を設定し、それを満たす(満たしてしまう)クエリに対してログを吐き出す設定です。パフォーマンス改善などに役立ちます。 設定ファイル 以下のファイルに追記します。 /etc/mysql/mysql.conf.d/mysqld.cnf 設定内容(設定項目)…

PostgreSQL でユーザを追加して権限を与える方法

概略 2段階の操作が必要 まずユーザ(ロール)を作成する その後に権限を付与する

MySQL でユーザを追加して権限を与える方法

概略 2段階の操作が必要 まずユーザを作成する その後に権限を付与する

Fluentd の tail Input Plugin で CSV ファイルを読み込む際は read_from_head を true にする

Fluentd で CSV ファイルを読み込む Fluentd を用いて CSV ファイルを読み込む際は、tail Input Plugin を用いるのが定石だと思います。formatでcsvが指定できますし。 待てど暮らせど出力してくれない しかしながら、以下のような感じで conf ファイルを書…

Ubuntu 16.04 LTS に PostgreSQL の最新版をインストールする

PostgreSQL の最新版をインストール デフォルトのリポジトリに対して公式リポジトリを追加して、apt-getでPostgreSQLの最新版をインストールします。 公式ページ やり方は以下のページに書いてあります。 PostgreSQL: Linux downloads (Ubuntu) 具体的方法(…

Ubuntu 16.04 LTS の MySQL にて外部のアドレスから接続する方法

結論 /etc/mysql/mysql.conf.d/mysqld.cnfのbind-addressの設定を変更して、MySQL を再起動しましょう。一番てっとり早いのはbind-addressをコメントアウトすることです。 補足 ユーザ単位での許可も忘れないようにしましょう。

fluent-plugin-postgres の key_names の設定でハマった話

fluent-plugin-postgres Fluentd の plugin にfluent-plugin-postgresという PostgreSQL 用の plugin があります。こいつの設定(conf ファイルでの記述)でハマった話です。 正常に動作しない記述 以下のような conf を書くと正しく動作しません。 <match mysql_replicator> @type p</match>…

Ubuntu 16.04 LTS にて MySQL の文字コードを utf8mb4 にする方法

設定ファイルを書き換える バージョン違いやディストリビューションの違いがあるので、改めて Ubuntu 16.04 LTS の場合をここに。 結論 2つのファイルを以下のようにして(書き加えて)、再起動する。 /etc/mysql/conf.d/mysql.cnf [mysql] default-characte…

Ubuntu 16.04 LTS に pg_bulkload をインストールする方法

pg_bulkload COPY コマンドより便利な pg_bulkloadですが*1、Ubuntu ですとコンパイルしなければなりません。 必要なものを入れていく コンパイルのためには以下をapt-getしましょう*2。postgresql-server-devは各自のバージョンに合わせて番号を変更してく…

Ubuntu 16.04 LTS にて psycopg2 のインストール時にエラーが出る場合

結論 以下を入れましょう。 # apt-get install python3-dev # apt-get install libpq-dev これでエラーが出ないはずです。 # pip install psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 ... done Successfully i…

SQLite の .import で no such table というエラーが出る場合

結論 文末にセミコロンを付けていませんか。.importのようなドットから始まる命令には文末のセミコロンは不要です。 情報源

Superset を Ubuntu 16.04 LTS にインストールして簡単に触ってみる

Superset Airbnb によるいわゆる BIツール であるオープンソースの Superset がここ最近、話題になっています。今までは私は Re:dash を主に用いてきましたが、比較の意味も含めて Superset に触ってみることにしました。

Ubuntu 16.04 LTS の Python3 で fake2db にてデータを作る方法

fake2db fake2db はダミーデータを簡単に大量に作ることができる Python 用のツールです。詳しくは以下のあたりを。 Ubuntu 16.04 LTS で SQLite3 用に使おうとしたらハマった*1ので書いておきます。 *1:DBの種類以前の問題だと思いますが

Poderosa 4 で日本語を入力する方法

結論 「改行」を「CR」にしましょう。

SQLite3 のコマンドラインでヒストリや補完が効かない場合

SQLite3 でカーソルキーやタブキーが効かない Ubuntu 16.04 LTS に入れた SQLite3 のコマンドラインで、↑キーや TAB キーを押しても ^A のような制御文字が出てきて操作が思いどおりにいかないことがあります。 macOSの例 macOS の例はウェブにいくらか見つ…

Jupyter Notebook を永続的に起動させる方法

Jupyter Notebook を# jupyter notebookで起動させると、そのシェルを閉じると実行が終了してしまいます(サーバが落ちる)。 これをシェルが終了しても永続化して起動させ続けるためには、nohupしましょう。 # nohup jupyter notebook > /dev/null 2>&1 & …

Apache 上の PHP で SQLite3 を扱う場合の方法

環境 Ubuntu 16.04.1 LTS です。 結論 php-sqlite3を忘れずに。 # apt-get insatll -y sqlite3 php-sqlite3 インストールが終わったら Apache を再起動しましょう。 # service apache2 restart

Docker の Ubuntu を日本語化する方法

ここらへんやっときましょう。 # apt-get install -y language-pack-ja-base language-pack-ja # update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja # export LANG=ja_JP.UTF-8 # export LC_ALL=ja_JP.UTF-8 # export LC_CTYPE=ja_JP.UTF-8

Apache でリバースプロキシを有効にする(モジュールを有効にする)

ここらへんを有効にしてあげましょう。 # a2enmod proxy proxy_http proxy_html rewrite

Docker で Ubuntu に 日本語化した GitLab をインストールする

Ubuntu on Docker に 日本語化した GitLab を構築する 素の Ubuntu イメージに GitLab を入れていきます。ただ入れるのではなく、日本語化をします*1。 *1:迅速なパッチ対応に感謝!

Ubunutu 16.04 LTS で MySQL のデータを丸々移管(コピー)する方法

以下のディレクトリ配下をまるっと新しい環境にコピーしましょう*1。もちろんユーザ情報もろもろ込みです。 /var/lib/mysql さらにこちらも必要に応じてコピーしておきましょう。 /etc/mysql *1:デフォルト環境

GitLab が 502 エラーで起動しないとき

GitLab が 502 エラーで起動しない GitLab をがんばってインストールして喜び勇んで起動してアクセスしても、延々と 502(Bad Gateway)エラーが出てログイン画面にたどり着けない場合があります。そのときの対応方法の一つです。 まずは待つ 単に起動準備中…

Windows の VirtualBox の Vagrant で ubuntu/xenial64 から環境を構築する手順

Windows で VirtualBox を使い、SSH クライアントとして Poderosa 4 や Tera Term や WinSCP を使うことを想定しています。 ユーザー「ubuntu」でログイン 鍵のみです 鍵は ~/.vagrant/machines/default/virtualbox/private_key です

Ubuntu 16.04 LTS でタイムゾーンを JST に変更する方法

これで。 # timedatectl set-timezone Asia/Tokyo

Ubuntu 16.04 LTS で日本語の man を表示する方法

manpage manpageを入れる。文字コードとかはよろしくやってください。devの方も忘れずに。 # apt-get install -y manpages-ja manpages-ja-dev

Ubuntu 16.04 LTS で mysql2 gem がインストールできない場合

結論 libmysqlclient-dev を入れましょう。 # apt-get install -y libmysqlclient-dev # gem install mysql2 Building native extensions. This could take a while... Successfully installed mysql2-0.4.5 Parsing documentation for mysql2-0.4.5 Install…

GitBucket の Webhook(Service Hooks、Payload URL)を Jenkins のビルド・トリガにする方法

GitBucket GitBucket はご存知、takezoe さんを中心に開発されている素晴らしい GitHub クローンです。度重なるバージョンアップにより様々な機能が追加され、その利便性は計り知れません。 そんな GitBucket の機能の中に Webhook 機能があります。「Webhoo…

Vagrant での CentOS のディレクトリを Windows と共有する方法

特に CentOS とかに限った話ではないと思いますが。 やりたいこと Windows にインストールした Vagrant に立てた CentOS 内のディレクトリを、SSH とかしないで Windows 上のフォルダと共有する。 具体的には例えば、CentOS 上の /var/www を Windows の \Va…

CentOS7 で Apache に外部からアクセスできないときは firewalld を疑う

Vagrant 上での話ですが、一般的な話でしょうし、更に言えば Apache だけでの話ではない可能性もありますが。 結論 firewalld です。 # systemctl stop firewalld 必要があれば適切に設定してあげましょう。 ちなみにドットインストールでは CentOS6 だった…

Vagrant の CentOS の box の言語設定をドイツ語から日本語にする

標準だと言語設定がドイツ語になっているので日本語に変更します。 # localectl set-locale LANG=ja_JP.UTF-8 # source /etc/locale.conf

Vagrant で構築した OS に SSH でログインする(Windows)

Vagrant のコマンドラインではなく、Poderosa 4 や Tera Term を使いましょう。 ホスト名(例) 127.0.0.1 ポート番号(例) 2200 ユーザー名(例) vagrant パスワード(例) vagrant

Vagrant に VirtualBox 用の Ubuntu 16.04 LTS の box を入れる方法

こちらの Box 一覧を確認した上で、add ubuntu/xenial64 で落としましょう。 $ vagrant box add ubuntu/xenial64 ... ==> box: Adding box 'ubuntu/xenial64' (v20161109.1.0) for provider: virtualbox ... Poderosa や Tera Term で初期ログインするために…

Windows の Vagrant で Vagrant up がエラーで失敗するとき

vagrant up が失敗するとき 以下のあたりでうんともすんとも言わなくなり、結果的にエラーメッセージがバーっと出てくることがあります。 ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2200 …

PhantomJS を Ubuntu 16.04 LTS にインストールする

PhantomJS もはや説明するまでもないですが、PhantomJS とは WebKit ベースの Headless な Webブラウザ です。こいつを Ubuntu で使おうとしたのですが……ドハマりしました。 ハマった理由 : apt-get で入れた これやっちゃだめです。もうエラーの嵐です。 # …

Powered by はてなブログ