とーますメモ

Ruby on Rails / Goなどの学習メモ

2018-01-01から1年間の記事一覧

【Ubuntu】セキュリティアップデートを自動で行う方法

unattended-upgradesパッケージを入れて、自動設定を行えば、セキュリティ更新が自動アップデートされる。 1)インストール $ sudo apt install unattended-upgrades 2)自動設定 コマンド後、Yes/Noの選択画面が表示されるので「Yes」を選択 $ sudo dpkg-…

【Docker】VPSにDockerをインストールし、リモート操作を行ってみた

VPSは格安VPSのDigitalOceanで検証。ローカルからVPSにDockerをインストールするには「docker-machine」を使用する。 ※docker-machineは、色んなクラウドサービスに対応したドライバを搭載しており、AWSやAzuruなどにも対応している。 「digitalocean」ドラ…

【Docker】よく使うコマンドまとめ

バージョン確認 $ docker version index.docker.ioからイメージ取得 $ docker pull イメージ名[:タグ名] イメージ一覧 $ docker images イメージ詳細 $ docker inspect [イメージ名] イメージ検索(※前方一致で検索される) $ docker search ubuntu // 人気…

【サーバ】モニタリングツール「Glances」をMacに入れる。

以下の記事を参考にさせていただいた。 ひと目でわかるモニタリングツール『Glances』コマンドをMacに導入すごい見やすくて良い。

【ShopifyApp × Rails】Embedded(埋め込み)方式じゃないアプリの作成方法

公式にも詳細が載っていないので調べてみた。 TL;DR 以下の3つの設定が必要。① [必須] アプリ管理側画面で、「Embedded」設定をオフにする ② [必須] config/initializers/shopify_app.rbの「config.embedded_app」をfalseにする ③ [任意] layoutファイルを…

【Capistrano】puma起動後に、systemdのpuma.serviceを起動させる方法

以下のタスクをcapistranoのdeploy.rmに追加するだけ。 puma.serviceはすでに/etc/systemd/system/puma.serviceに存在する前提。 namespace :puma do after :start, :start_systemd_puma_service do on roles(:web), in: :groups, limit: 3, wait: 10 do wit…

【Rails5】Systemdを使用したPumaの自動起動設定

自分用メモ。Systemctlは、Systemdを管理するためのコマンド。 Systemdは、デーモンプロセスを自動立ち上げるるために使用される。 以下のサイトが詳しい。 Systemd メモ書き いまだにsysvinitの手癖が抜けない人のためのsystemd Linux女子部 systemd徹底入…

【Rails5】Production環境の罠

自分用メモ Autoloadの廃止 こんな感じのautoloadがproduction環境では動作しなくなる。。。 config.autoload_paths += Dir["#{config.root}/lib/**/"] [参考] Rails5: production環境でのAutoloadの廃止

【Rails5】アセットパイプライン(Asset Pipeline)についてのまとめ

自分用メモ。そもそもアセットパイプラインのプリコンパイルとは? プリコンパイルは、複数のファイルをいっこにまとめて、圧縮して、ファイル名にフィンガープリント(ダイジェスト)をつけて、公開ディレクトリにデプロイする、などの作業と解釈してます。…

【Rails】Production環境のために必要な設定

自分用メモ。1)環境変数の設定 以下の環境変数を「.bashrc」に設定。※Capistranoで読み込む環境変数の場合、.bash_profileだと読み込んでくれないため。 以下の詳細。 thoames.hatenadiary.jp①RAILS_ENV(設定しておけば、コマンドで逐一入れなくても良く…

【Capistrano】環境変数が読み込まれない!? その場合の対応方法

自分用メモ。環境変数を「.bash_profile」に設定した場合 読み込まれなかったため、原因を検索してみたら以下の記事がひかかった。Capistrano で.bash_profileに書いてある環境変数が読まれない件 ruby on rails - Capistrano and environment variables - S…

【Rails】Mac上でImagemagick + RMagickをインストール

Imagemagickはコマンドラインから画像の操作や表示ができるツール。 多くのOS及び言語から使用できるため人気がある。RMagickはRuby用のImagemagickインターフェース。 RubyからImagemagickを使用する場合は、このgemをインストールする。 Imagemagickのイン…

【Ansible】Macのbrew経由でAnsibleのバージョンを上げたら、ansible.cfgを読み込まなくなったっぽい。

自分用メモ。以前はansible.cfgを「/usr/local/bin/ansible/ansible.cfg」に置いており、 「/usr/local/bin/ansible/」内に「apps」ディレクトリを作成し、 さらにその中に各プロジェクトのディレクトリを作成し、プレイブックをその中に置いていた。こんな…

【Ansible】Macのbrew経由でPythonをインストールしたら、Ansibleが動作しなくなった。

表題のとおりだが、 今まで動いていたAnsibleが以下のエラーを吐くようになった。 dyld: Library not loaded: @executable_path/../.Python Referenced from: /usr/local/Cellar/ansible/2.5.2/libexec/bin/python2.7 Reason: image not foundいろんなサイト…

【Capistrano】リポジトリ変更時に行うこと

自分用メモ。以下のサイトがまとまっている。 capistrano3でリポジトリのURLを変更した時にやること - Qiita

【FTP】FTPのパッシブモードについて

FTP

自分用メモClientからパッシブモードで「FTPサーバ」に接続する場合は以下のようになるっぽい。 When Passive mode is used the Client first connects to the server on port 21. Then the client issues a PASV or EPSV command. The server then replies …

【初心者用】Nginxが何なのか、一から調べてみた。

そのそもよくNginxがわかっていないので自分用に内容を整理する。 1)Nginxの用途 ①「静的なコンテンツのWebサーバ」として利用 ・静的ファイルを配信するWebサーバとして利用 ②「動的なコンテンツのWebサーバ」として利用 ・Webアプリとの接続方法は、Fast…

【Sidekiq】Capistranoで独自タスクを書いてみた。

capistrano-sidekiqが微妙だったので、 自分でタスクを書いた。 append :linked_files, "config/database.yml", "config/secrets.yml", "config/sidekiq.yml" set :sidekiq_pid_path, -> { File.join(shared_path, 'tmp', 'pids', 'sidekiq.pid') } set :sid…

【Nginx】SSLセキュリティ設定について

以下のサイトの参考に設定すれば良さげ。 Generate Mozilla Security Recommended Web Server Configuration Files設定後、以下のサイトを使用しテストをする。 SSL Server Test (Powered by Qualys SSL Labs)A+とれてれば、OK.

【Shopifyアプリ】Nginxをリバースプロキシとして設定した場合のTips

自分用メモ以下のようにした場合、アプリ登録時にエラーになり redirect_urlにlocalhost:3000が表示される。 server { listen 80 default_server; location / { proxy_pass http://localhost:3000; } } 以下のようにしたら、正常に登録できた。 server { lis…

【Shopify】アプリ登録のURLはhttpsじゃないと駄目。

表題のとおりだが、開発環境でhttpでやろうとしてハマった。

【CircleCI】Capistranoでデプロイする設定

まずは、CircleCIからデプロイ先サーバに接続するために秘密鍵を登録する。 詳細は以下。 thoames.hatenadiary.jpそして以下設定を.circleci/config.ymlに追加。 ※「'xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx'」のフィンガープリントは 上記のリン…

【CircleCI】CapistranoでデプロイするためのSSH Permissions設定

前提として既にデプロイ先のサーバでは、共通鍵の設定が終わっている前提。以下参考。 thoames.hatenadiary.jp SSH Permissionsの箇所に秘密鍵を登録することでCircleCI側からデプロイできるようになるが、何回「Add SSH Key」を押して登録しようとしてみて…

【Rails】CapistranoでBitbucketからcloneしデプロイするまで試してみた

【環境】 Ubuntu + Rbenv + Rails + Puma + MySQL 1)SSH周りの設定 前提 公開リポジトリの場合は、Capistranoの設定は簡単だが、BitbucketのPrivateリポジトリからcloneする場合は、SSH認証が絡んでくるため、設定が少し複雑になる。ちなみにGithubのPriva…

【Ansible】デプロイ完了通知をSlackに流す方法

すごい簡単。 1)Slackで通知を送るチャンネル作成 説明省略 2)Incoming Webhooksのトークンを取得 以下のページから。 https://my.slack.com/services/new/incoming-webhook/1)で作成した、チャンネルを設定 3)タスク作成 roles/slack/tasks/main.ya…

【Ansible】MySQLのrootパスワードが変更できない

Ansibleはバージョン「2.2.0.0_2」を使用。 インストール先OSは、Ubuntu 16.04.そして以下のコード実行し、rootパスワードを変更を試みたが、 更新されず、パスワード無しでログインできてしまう。tasks/main.yml - name: Install the mysql packages in Deb…

【Ansible】Rbenvで「rbenv: command not found」というエラーが出た場合の対策

以下のサイトさんが詳しい。 www.bunkei-programmer.net要は、ansible経由の場合は、/bin/shシェルが使用され .bash_profileや.bashrcを読み込む、/bin/bashシェルが使用されないため 発生する現象ということっぽい。引用すると1)bashコマンドを「-l」オプ…

【ufw】Ubuntuで簡単にFirewallを設定できるufwを試す。

自分用メモ。すごい簡単に設定できる。 DigitaloceanのUbuntu16.04イメージに既に入っていたので ルールを追加して、有効化するだけで使えた。 現在のステータスを確認 $ ufw status デフォルトの通信ルール 通信拒否方法① $ ufw default DENY と通信拒否方…

【Ansible】「/usr/bin/python: not found」エラーに対する処理

Ubuntu 16.04ではpython3が入っているが、 pythonが入っていないため発生するエラー。以下のサイトが詳しい。 【小ネタ】Python3がインストールされているOSにansibleを実行する | Developers.IO ansible pythonが無い場合の対処 - vague memory自分の場合…

【Rails】Rails5で文字列の"true"や"false"をBooleanにキャストする方法

Rails5では以下のように書ける。 ActiveRecord::Type::Boolean.new.cast(0) # false ActiveRecord::Type::Boolean.new.cast(1) # true ActiveRecord::Type::Boolean.new.cast('0') # false ActiveRecord::Type::Boolean.new.cast('1') # true ActiveRecord::…