ローカルのPCからだと`git clone`できるのに、EC2からだと、Exit Code: 128 (Invalid exit argument)のエラーメッセージで異常終了してしまう場合があります。
該当のEC2インスタンスに対して、security groupで全てのポートを閉じている場合、port=22(...
月: 2018年11月
.ssh/authorized_keysに登録したキーをmd5形式(FF:FF:FF...)で表示する
2018年11月30日
| カテゴリ: Linux
|
sshのキーファイルのfingerprint値が知りたい場合h、ssh-keygenコマンドに-lと-fを指定することで出力させることが可能です。最近のssh-keygenコマンドはSHA256の値を出力してくれるのですが、外部サービスに登録したキーを確認したい時など、場合によって...
[PHP]指定されたファイルをURLエンコードするワンライナー
2018年11月30日
| カテゴリ: PHP
適当なファイルを作って、下記のphpスクリプトを実行すると、ファイルの内容がURLエンコードされます。
```language-bash
cat foo.txt | php -R 'echo(urlencode($argn).PHP_EOL);
```
phpコマンドのオプション'-R'は標準入力1行づつに対して指...
[Anki]ヒント付きのカードを作る方法
2018年11月30日
| カテゴリ: Anki
Ankiでfront, backに加えてhint付きのカードを作る方法です。試してみたらうまくいったのでメモがわりに書いておきます。
Ankiはあまり詳しく無いので、他にもっと良いやりかたがあるかもしれません...
## ノートタイプを作る(カードに入れる項目...
Ansibleのgeerlingguy.mysqlで、CentOS7にMySQL8.0をインストールする
2018年11月26日
| カテゴリ: Ansible
Ansibleのgeerlingguy.mysqlを使って、CentOS7にMySQL8.0をインストースました。
CentOS7の場合、特に何も指定しないとMariaDBがインストールされてしまうので、pre_taskでrpmパッケージの指定といくつかの変数を書き換える必要がありました。
```lang...
Ansibleのgeerlingguy.gitでgit-svnのインストールを行わない
2018年11月25日
| カテゴリ: Anki
Ansibleのgeerlingguy.gitを使うと、gitパッケージをインストールすることができます。
ですが、このroleではgitに加えて、git-svnもインストールされてしまいます。
git-svnのインストールが不要な場合は、playbookを以下のように書くことでgitコマン...
Anaibleへの変数をOSの環境変数経由で渡す方法
2018年11月25日
| カテゴリ: Ansible
AnsibleのplaybookからOSの環境変数を参照する方法です。
```language-yaml
- name: show DB_PASSWORD
debug: msg="{{ lookup('env', 'DB_PASSWORD') }}"
```
Ansibleでパスワードなどの機密情報を暗号化して管理する
2018年11月25日
| カテゴリ: Ansible
Ansibleでサーバをプロビジョニングする際、データベースのパスワードなどの取り扱いに注意を要する機密情報を扱う場合があります。
Ansibleで機密情報を管理したい場合ansible towerなどの別プロダクトを使う方法もあるのですが、簡単に情報管理したい...
[Ansible]hello worldのメッセージを出すだけのplaybookを作る
2018年11月25日
| カテゴリ: Ansible
Ansibleでlocalhostに接続し、hello worldのデバッグメッセージを出すだけのplaybookを作ります。これだけでは特に使い道はありませんが、ansible自体がうまく動作しない時などの問題切り分けに役立つかもしれません。
## hello worldを出力する
まず...
[Ansible]playbookを直接実行可能にする
2018年11月24日
| カテゴリ: Ansible
ansibleのplaybookはファイルの先頭に、"#!/usr/bin/env ansible-playbook"の定義を書くことで、paybook自体を直接実行することができます。
以下のように1行目へ"#!から始まるコマンドを追加します。
- playbook.yml
```language-bash
#!/usr/bi...
Ansibleのコマンドをインストールして、サーバ定義を行いコマンドの実行を試してみる方法です。
## インストール
pythonのパッケージとしてインストールする
```language-bash
$ sudo pip install ansible
```
virtualenvを使ってインストール
...
[Linux]作成したユーザをパスワードなしでsudoできるようにする
2018年11月23日
| カテゴリ: Linux
CentOS 7.xのサーバを構築し、一般ユーザにパスワードなしでsudoできるようする方法です。
## wheelグループに所属するユーザはパスワードなしでsudoできるようにする
rootユーザでvisudoコマンドを実行し、/etc/sudoerのファイルを編集します
``...
[GMO Cloud VPS]ユーザを作成してsshキーでログインする
2018年11月23日
| カテゴリ: 未分類
|
GMO Cloud VPSでユーザを作成し、sshキーファイルを使ってログインできるようにします。
今回はCentOS7.4で作業を行っています。(CentOSでも6.x系の場合は一部コマンドが異なります)
## 事前に行っておくこと
### ローカルでsshキーファイルを作成
...
[ssh]秘密鍵から公開鍵を作る
2018年11月23日
| カテゴリ: テック系
|
ssh-keygenでキーペアを作ったけど、秘密鍵だけ持っていて公開鍵を無くした時に秘密鍵から公開鍵を作る方法です。
当たり前ですが、公開鍵から秘密鍵を作ることはできません(作れてしまったらsecret keyの意味がないので...)
```language-bash
# 作...
GMOクラウドVPSは、契約途中でプラン変更できる?
2018年11月22日
| カテゴリ: 未分類
## 契約途中でプラン変更は可能?
契約途中でのプラン変更は可能です。 利用中のサーバーがそのままプラン変更されるので、データの移行作業を行う必要はないです。
ただし、プランの変更は上位プランへの変更のみで、スペックダウンはできません。また...
[nginx]httpへ来たリクエストを全てhttpsへ301リダイレクトさせる方法
2018年11月18日
| カテゴリ: 未分類
|
nginxを使用していて、Port80に来たhttpのリクエストをPort443のhttpsへ全てリダイレクトさせたい場合、nginx.confに下記の定義を追記します。
```language-php
server {
listen 80;
server_name domain.com;
return 301 https:/...
AWSやgcpなどで開発用のサーバを立てている場合、費用を抑えるために夜中の間はシャットダウンさせておきたい場合があります。
このような場合、AWSだとサーバレスのlambdaサービスと組み合わせる事例をよく見かけますが、もっと簡単に自動シャットダウ...
Linuxでswapファイルを作成する
2018年11月18日
| カテゴリ: Linux
```language-bash
# 4GBファイルのswapファイルを作成する
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo sh -c 'chmod 600 /swapfile; mkswap /swapfile; swapon /swapfile; free'
```
[PHP]Deployerでデプロイ時にSSHキーファイル名を指定する方法
2018年11月18日
| カテゴリ: Deployer
PHPのデプロイツールであるDeployerで、ターゲットのサーバへSSHログインするときのSSHキーファイルを指定する方法です。
## inventory()でファイルを指定する場合
inventory()メソッドを使ってサーバの接続情報を管理7得る場合は、以下のように、iden...
[Linux]lsコマンドでファイルサイズでソートする方法
2018年11月18日
| カテゴリ: 未分類
Linuxのlsコマンドでカレントディレクトリのファイルをサイズ順でソートしたい場合は、`ls -lS`オプションを使用すれば良いです。ファイルサイズの逆順でソートする場合は`ls -lSr`と、'r'オプションを追加します。
CircleCIでPHPのプロジェクトをDeployerを使用してデプロイメントしようとすると、下記のエラーが出る場合があります。
```language-bash
Deploying master on 11.22.33.44
done on [11.22.33.44]
Executing task deploy:prepare
[11.22.33.44] > ech...
[php]composer installコマンド実行時に、ProcessTimedOutExceptionエラーが出る時
2018年11月4日
| カテゴリ: composer
composer installコマンドを実行した時に、以下のようにProcessTimedOutException例外が発生して、パッケージのインストールが失敗することがあります
```language-bash
> composer install
...
[Symfony\Component\Process\Exception\ProcessTime...
Excel for Mac 2011で図形をセルに合わせて配置する
2018年11月4日
| カテゴリ: Mac
|
mac版のExcel for 2011で図形を貼り付ける時に、をセルに合わせて位置合わせ配置(グリッドに合わせる)したかったのですが、windows版のExcelの操作方法が違ったので手順をメモしておきます。
## 作業手順
まず、`メディアブラウザ`の`図形`タブから、...
MongoDBで"ReferenceError: getNextSequence is not defined"エラーが出る時
2018年11月4日
| カテゴリ: MongoDB
MongoDBを使用していて、インターネット上にあるサンプルコードをコピペして実行すると、ReferenceError: getNextSequence is not definedエラーが発生することがあります。
これは、MongoDBにはも元々getNextSequence()という関数が存在していないた...
MongoDBでユーザ定義関数を登録する
2018年11月4日
| カテゴリ: MongoDB
MongoDBでは、以下のようにdb.system.js.save()関数を使うことで、ユーザ定義関数を登録することができます。
```language-js
# 関数を登録
db.system.js.save({
_id: "echoFunction",
value : function(x) { return x; }
});
# 登...
[Deployer]サブディレクトリに存在するphpプロジェクトを"composer install"したい時
2018年11月4日
| カテゴリ: Deployer
phpのデプロイメントツールにDeployerというものがあります。
最近のphpプロジェクトでは、アプリケーションのデプロイメントでcomposerによるパッケージのインストールや、キャッシュのクリアなど行うべき作業が色々増えてきています。Deployerを使う...
iTerm2でセンターボタンでのペースト機能を無効化する
2018年11月4日
| カテゴリ: Mac
|
macのターミナルソフトであるiTerm2では、センターボタンでのクリップボードの内容をペーストすることができます。通常は便利なのですが、本番サーバで作業しているときなどこれが原因で操作を誤ってしまう危険もあります。
このような場合は、iTerm2の...
sshコマンドでは、キーファイルのデフォルトは`~/.ssh/id_rsa`となっており、デフォルトの名称を使用する場合は、sshコマンドを実行する場合にキーファイル名を指定する必要がありません。
ですが、複数のサーバを管理しているときなど、キーファイル...
[gcp]ダッシュボードのAPIにapi/request_count:consumed_api:REDUCE_SUMが表示される
2018年11月4日
| カテゴリ: gcp
## Stackdriver > Documentation > Monitoring > GCP Metrics List
- api/request_count
```language-x
Metrics from Cloud Tasks
API requests
DELTA, INT64, 1 Count of Cloud Tasks API calls. Sampled every 60 seconds.
After sampling,...
Laravelでプロジェクトを作成して、プログラムを実行しようとすると下記のエラーが発生する場合があります。
```language-bash
UnexpectedValueException
The stream or file "/path/to/storage/logs/laravel.log" could not be opened:
failed to op...
gcpのf1-microインスタンスにLaravelをインストール
2018年11月3日
| カテゴリ: Laravel
今回は、前回作成したnginx + phpの環境にLaravelをインストールしてみます。
- [CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る](https://akamist.com/blog/archives/3256)
- [CentOS 7.5のf1-microインスタンスにswap領域を追...
PHPのフレームワークであるlaravelをcomposerからインストールしようとすると、以下のようにエラー"laravel/framework vX.X.X requires ext-mbstring"が出ることがあります。
```language-bash
$ /usr/local/bin/composer create-project --prefer-dis...
[gcp]CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る
2018年11月3日
| カテゴリ: gcp
gcpで作成したCentOS 7.5のサーバでnginx, php-fpm, php7.2の環境を作る手順です。f1-microインスタンスで作業する場合はメモリが足りなくなるので、事前にswap領域を作っておく必要があります。
## phpとnginxのインストール
```language-bash
# php...
[gcp]CentOS 7.5のf1-microインスタンスにswap領域を追加する
2018年11月3日
| カテゴリ: gcp
gcpのf1-microインスタンスは、条件を満たすことで無料枠 (Always Free Products)として使用することができます。ですが、swap領域が設定されていないと、メモリが少ないためデフォルトの状態では行えることが制限されてしまいます。
そこで今回、以...