hasen's tech life

Twitter: @hasen

HTTPSの環境で,wwwなしにURLを統一した.

# HTTPSの環境で,wwwなしにURLを統一した. $ vi public/.htaccess++ RewriteCond %{HTTP_HOST} ^www.XXXX\.com ++ RewriteRule ^(.*) https://XXXX.com/$1 [R=301,L]

MySQL5.7でmysqldumpを実行するとエラーが出たので対応した.

# MySQL5.7でmysqldumpを実行するとエラーが出たので対応した. $ mysqldump -u XXXX -p XXXX > ./XXXX > Enter password: > mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Table 'performance_schema.session_variables' doesn't exist…

X2サーバでLaravelのメール送信設定をした.

# X2サーバでLaravelのメール送信設定をした. $ vi .env ++ MAIL_DRIVER=smtp ++ MAIL_HOST=XXXX.xtwo.ne.jp (MX登録サーバ) ++ MAIL_PORT=587 (TLS使用時デフォルト587) ++ MAIL_USERNAME=XXXX@XXXX.com (登録メールアドレス) ++ MAIL_PASSWORD=XXXX (メー…

AWSでRPMがcurlで取得できなかったので確認した.

AWS

# AWSでRPMがcurlで取得できなかったので確認した. > curl: (7) Failed to connect to dev.mysql.com port 443: Connection timed out # NATの設定が間違っていた. # サブネットの残数で気づいた. # privateではなくpublicのサブネットに接続する.

エラーでElasticIPが削除できなかったためAWSに問い合わせた.

AWS

# エラーでElasticIPが削除できなかったためAWSに問い合わせた. # https://console.aws.amazon.com/support/home?region=ap-northeast-1#/case/create

Laravelがトレイリングスラッシュをデフォルトでリダイレクトしているので対応した.

# Laravelがトレイリングスラッシュをデフォルトでリダイレクトしているので対応した. # ローカルでは発生しなかったが,AWSに移すとPOSTにならずGETになるので調査した結果. -- < form action="/hoge/"++ < form action="/hoge"

AWSでEC2の時間を合わせる.

# AWSでEC2の時間を合わせる. $ sudo cp /etc/localtime /etc/localtime_bk $ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime $ sudo vi /etc/sysconfig/clock -- ZONE="UTC" ++ ZONE="Asia/Tokyo" -- UTC=true ++ UTC=false

テストファイルを作成する.

# テストファイルを作成する. $ dd if=/dev/zero of=100m_file bs=100 count=100

ディレクトリ内のファイルの拡張子を変更する.

# ディレクトリ内のファイルの拡張子を変更する. # スクリプトを書こうと思ったら,renameという便利なコマンドがあった. $ brew install rename $ rename s/php/twig/g *.php

環境構築ざっくりメモ.

# 環境構築ざっくりメモ. $ sudo yum install -y git wget $ ssh-keygen -t rsa -b 4096 -C "hoge@test.com"# Bitbucketなどレポジトリにid_rsa.pubを登録 $ cd /PATH/TO/PROJECT_DIR $ git clone https.... ./ # DocumentRootを変更 $ sudo vi /etc/httpd/…

AWSでprivateインスタンスにSSHすると,Too many authentication failures for ec2-userとなったので対応した.

# AWSでprivateインスタンスにSSHすると,Too many authentication failures for ec2-userとなったので対応した. $ ssh -o IdentitiesOnly=yes -i ./PATH/TO/HOGE.pem -l ec2-user XX.XX.X.XXX # ~/.ssh/configに設定してもいいかもしれない.

GitでremoteのBitbucketに接続される時にパスワードを聞かれないようにした.

Git

# GitでremoteのBitbucketに接続される時にパスワードを聞かれないようにした. # .git/configで設定しているURLをhttpsからgitプロトコルに変更した.

コンフリクトしたので,不要になったレポジトリを削除した.

# コンフリクトしたので,不要になったレポジトリを削除した. $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm > error: Failed dependencies: > mysql-community-release conflicts with (installed) mysql57-community-release-el6-9.noarch $…

Received disconnect from port 22:2: Too many authentication failures forというエラーが出たので対応した.

# Received disconnect from port 22:2: Too many authentication failures forというエラーが出たので対応した. $ vi ~/.ssh/config # 以下リンクの設定を追加. # 参照: https://superuser.com/questions/187779/too-many-authentication-failures-for-us…

パスワードを小文字でと指定されたので対応した.

# パスワードを小文字でと指定されたので対応した. $ openssl rand -base64 30 |tr "[:upper:]" "[:lower:]"

Xcode(Command Line Tools)のバージョンを切り替える.

# Xcodeのバージョンを切り替える. $ sudo xcode-select -s /Applications/Xcode7.app/ # 確認 $ gcc --version

macOS SierraにPyCUDAをインストールした.

# macOS SierraにPyCUDAをインストールした. $ pyenv global 3.5.2 $ pyenv rehash # Cuda Toolkit # https://developer.nvidia.com/cuda-toolkit $ vi ~/.bashrc ## cuda ++ export PATH=/Developer/NVIDIA/CUDA-8.0/bin:$PATH ++ export CUDA_INC_DIR=/De…

Swift3系対応で行なった修正メモ.

# Swift3系対応で行なった修正メモ. > queryLimitedToLast has been renamed to queryLimited(toLast) -- queryLimitedToLast(100) ++ queryLimited(toLast: 100) > Type 'Any' has no subscript members http://swift-labo.net/2016/10/02/117/ -- let tex…

digコマンドの結果が画像のようになっている場合

# digコマンドの結果が画像のようになっている場合, # ドメイン取得サービス(お名前.comとか)からの所有者確認メールが来ていないかチェックする.

AWSのEC2でApacheのリダイレクトが効かないなと思ったら,以下の設定が異なっていたので変更した.

# AWSのEC2でApacheのリダイレクトが効かないなと思ったら,以下の設定が異なっていたので変更した. $ vi /usr/etc/conf/httpd.conf <Directory "/var/www"> -- AllowOverride All ++ AllowOverride None <Directory "/var/www/html"> -- AllowOverride None ++ AllowOverride All</directory></directory>

さくらサーバでどうしようもなくなったので,「ファイルマネージャー」から編集した.

さくらサーバでどうしようもなくなったので,「ファイルマネージャー」から編集した. 「運用に便利なツール」 > 「ファイルマネージャー」で編集.

Googleの検索結果のキャッシュを更新したい場合は以下から申請する.

# Googleの検索結果のキャッシュを更新したい場合は以下から申請する. https://www.google.com/webmasters/tools/submit-url?hl=ja&pli=1

エラーとその対応メモ

# エラーとその対応メモ (Laravel)大量のログが標準出力でた. -> .envにログに関する指定がなかったため (Laravel)Cannot declare class PATH\TO\HogeContoller, because the name is already in use -> ControllerではなくContollerになっていた 画面が真…

PHPの存在チェックはempty()に落ち着いた.

PHP

PHPで呼び出しているクラス内にエラー(変数間違いなど)がある場合に,newしたインスタンスがnullになる

PHP

# PHPで呼び出しているクラス内にエラー(変数間違いなど)がある場合に,newしたインスタンスがnullになる. # はまった...

IPアドレスで接続するのが面倒なのでホスト名を登録した.

# IPアドレスで接続するのが面倒なのでホスト名を登録した. $ sudo vi /private/etc/hosts ++ nn.nnn.nnn.nnn XXX.HOST.NAME

シェルのエラーをメモ.

# シェルのエラーをメモ. # コマンドの書き方がよくなかった. # 以下のサイトで確認. https://www.shellcheck.net/ > Could: command not found > Parse: command not found # 括弧の位置がおかしい.大括弧の間にスペースが必要. > [127

コマンドラインでの表示に色を付けてSTG環境,本番環境を見分けられるようにしている.

# 相変わらずBashを使っている. # コマンドラインでの表示に色を付けてSTG環境,本番環境を見分けられるようにしている. $ vi ~/.bashrcPS1='\n\[\033[1;34m\]\u \[\033[0m\]@ \[\033[0;31m\]本番\[\033[0m\]\n\[\033[1;36m\]\w/ \[\033[0m\]\n\[\033[0;31…

古いメモがでてきたので,雑に貼る.

# 古いメモがでてきたので,雑に貼る.未検証. # 最短マッチ preg_match_all('/alt=".*?"/', HTML_DTATA_1, HTML_DATA_2, PREG_PATTERN_ORDER); # IE9でplaceholderを使う http://enjoy-pcworks.com/archives/104 https://code.google.com/p/complete-place…

MySQLでテーブル定義をCSV形式で出力した.

# MySQLでテーブル定義をCSV形式で出力した. > select case ordinal_position when 1 then table_name else '' end, column_name, column_type, is_nullable, column_key, column_default, extra from information_schema.columns where table_schema = sch…

MySQLが起動しなかったので対応した.

# MySQLが起動しなかったので対応した. # 下記コマンドで見ると幾つかのエラープロセスがあったので順番にkillした. # 原因はmysql.sockがなかったため. $ ps aux |grep mysq[l]

Elasticsearchのエラーが出たので対応した.

# Elasticsearchのエラーが出たので対応した. $ elasticsearch > Exception in thread "main" ElasticsearchException[failed to read [id:... $ rm -rf /usr/local/var/elasticsearch/DATA_NAME $ elasticsearch > ... (略)

Slackにインテグレーションを追加したときのキャプチャをメモ.

# Slackにインテグレーションを追加したときのキャプチャをメモ. # 最後の画面で取得できるURLを使ってCurlを実行したり.

Homebrewでインストールしたアプリケーションを自動起動するようにした.

# Homebrewでインストールしたアプリケーションを自動起動するようにした. # なにを使っているか意識するために毎回起動していたけれど,もういいかなと. $ brew tap homebrew/services > .. (略) .. $ brew install homebrew-services > .. (略) .. $ bre…

Dockerで'Could not read CA certificate'というエラーが出たので,対応した.

# Dockerで'Could not read CA certificate'というエラーが出たので,対応した. # boot2dokcerをmac用のツールと入れ替えている時に発生した. $ docker ps > Could not read CA certificate "/PATH/TO/.boot2docker/certs/boot2docker-vm/ca.pem": open /P…

Vagrant packageで作業を短縮する

# 年末年始,ぼけっとコマンドラインのヘルプを読んでいると便利なものを見つけた. # 毎回`yum update`などしているので,その時間がもったいない.予めboxにしておく. # 公開までしなくても,自分のよく使う便利なところで止めて,box化しておけばよかっ…

Slackでリマインダを設定した.

# Slackでリマインダを設定した. # 改行する時はそのまま入力する. こういうのとか /remind @here @here MTGの10分前です。 at 19:50 every wednesday参考: slack の /remind 機能まとめ

Bitbucketなどで削除したリモートのブランチを反映する.

Git

# Bitbucketなどで削除したリモートのブランチを反映する. $ git branch -a > remotes/origin/aaa > remotes/origin/bbb > remotes/origin/ccc > remotes/origin/ddd > ... (省略) $ git fetch -p > ... (省略) $ git branch -a > remotes/origin/ccc > rem…

composer installでエラーが出たので対応した.zmqのプラグインがなかった.

# composer installでエラーが出たので対応した.zmqのプラグインがなかった. $ composer install --no-scripts > You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug > …

HomebrewでMySQLをupgradeした時に実行しておくコマンド.

# HomebrewでMySQLをupgradeした時に実行しておくコマンド.# MySQLWorkbenckがエラーになる.$ brew upgrade mysql $ mysql_upgrade -u USER_NAME -p > Enter password: > Checking if update is needed. > Checking server version. > Running queries to …

gulpでエラーが出たので対応した.

# gulpでエラーが出たので対応した. $ gulp module.js:474 throw err; ^ Error: Cannot find module 'internal/fs' at Function.Module._resolveFilename (module.js:472:15) at Function.Module._load (module.js:420:25) at Module.require (module.js:50…

VirtualBoxが入っていなかったので,インストールした.

# VirtualBoxが入っていなかったので,インストールした. $ vg up > ... (中略) > If you believe you already have a provider available, make sure it > is properly installed and configured. You can see more details about > why a particular prov…

platoでJavaScriptの静的解析をした.

# platoでJavaScriptの静的解析をした.$ cd /usr/local/src $ sudo curl -L git.io/nodebrew | perl - setup > ... (省略) $ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc $ nodebrew install-binary stable > ... (省略) $ nodebre…

CentOS6でFailed: npm.noarch 0:1.3.6-5.el6というエラーが出たので対応した.

# CentOS6でFailed: npm.noarch 0:1.3.6-5.el6というエラーが出たので対応した. $ cat /etc/redhat-release > CentOS release 6.8 (Final) $ sudo yum install --enablerepo=epel -y nodejs npm > ... (中略) > Failed: > npm.noarch 0:1.3.6-5.el6 $ sudo …

CentOSにNew Relicをインストールする.

# CentOSにNew Relicをインストールする. $ cat /etc/redhat-release > CentOS release 6.8 (Final) $ rpm -Uvh https://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm $ sudo yum install -y newrelic-sysmond $ nrsysmond-conf…

ファイル名の変更を短いコマンドで行う.

# ファイル名の変更は,こういう書き方もできるのか. $ mv /PATH/TO/FILE{,_bk}

Homesteadを使用した時のメモ.

# Homesteadを使用する.使ったことがなかった. # 作業環境の作成とHomesteadのインストール $ mkdir /PATH/TO/WORKDIR && !$ $ git clone https://github.com/laravel/homestead.git ./ $ composer update $ ./homestead make $ bash init.sh # 試しにLara…

Ubuntuのバージョン確認方法をいつも忘れるのでメモ.

# Ubuntuのバージョン確認方法をいつも忘れるのでメモ. $ cat /etc/lsb-release > DISTRIB_ID=Ubuntu > DISTRIB_RELEASE=16.04 > DISTRIB_CODENAME=xenial > DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

公開鍵関連の設定を行ったのでメモ.

# 公開鍵関連の設定を行ったのでメモ.# 鍵の作成 $ mkdir ~/.ssh/PATH/TO/DIR $ chmod 700 ~/.ssh/PATH/TO/DIR $ cd ~/.ssh/PATH/TO/DIR $ ssh-keygen -t rsa -b 2048 $ chmod 600 id_rsa $ pbcopy < id_rsa.pub # 接続 $ ssh root@XXX.XXX.XX.XX # ユーザ…

curlでSlackに投稿する.

# curlでSlackに投稿する. プラグインを使うと,ほかの箇所に影響が出たので一旦curlで行う. 参考: https://api.slack.com/incoming-webhooks $ curl -X POST --data-urlencode 'payload={"channel": "#CHANNEL_NAME", "username": "USER_NAME", "text": "…