Category "Backend"を表示しています。
2019.11.4 月
静的外部IPアドレスの予約 リージョン指定しない場合は--globalでどこでも使える静的外部IPを指定します。 $ gcloud compute addresses create [name] --global --ip-version IPV4 リージョンが予め決まっていてリージョン指定する場合は、--regionでリージョンを指定します。Terraformで指定するときにあらかじめリージョンが決まっているときなどはこの方法で予約しないとリージョンがないと言われてエラーになります。 $ gcloud compute addresses create [name] --region asia-northeast1 静的内部IPアドレスの予約 $ gcloud compute address...
2019.11.4 月
# yum list installed | grep postgresql Existing lock /var/run/yum.pid: another copy is running as pid 29910. Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum Memory : 74 M RSS (396 MB VSZ) Started: Mon Nov 4 13:18:30 2019 - 00:02 ago State : Sleeping, pid: 29910 pidを削除してあげると、Lockが解除されます。 # rm -f...
2019.10.28 月
SSHの接続はいろいろセキュリティー上面倒な部分なので、そこらの部分含めると結構テクニカルなことになってしまうので割愛。 ポートの変更 既存のsshd_configのバックアップとっておきます。 # cd /etc/ssh # cp -p sshd_config sshd_config.org ポートを変更します。コメントアウトしてある場合は、外してください。 #Port 22 ↓ Port 2222 保存してからsshd -tで構文チェックしてください。 再起動。既存ポートでは接続できなくなるので十分注意してください。 # systemctl restart sshd.service
2019.10.19 土
Ansibleをまだ使ったことがない人が基本的な使い方ができるようになるまで解説します。 SSHでホストに接続できるようにしておく Ansibleの実行ユーザーとSSHの実行ユーザーを同じにしておくことを前提に、対象hostにSSHで接続できるようにしておきます。いつものように.ssh/configに接続情報を書いておきます。その接続情報をAnsibleで使うことになります。 接続先のホスト情報はインベントリ(在庫リスト)と呼ばれていますが、これは、Ansibleが複数のhostに対して実行できるため、こういった呼び名になっています。Ansibleが各hostへ接続するためには常にこのインベントリを使います。 対象ホストが複数台あるときは複数のHost情報をconfigに設定しておいてくださ...
2019.10.19 土
AnsibleでSSHの基本的な設定をします。ホストに接続できるようになっていることを前提としています。接続シていない場合は、対象のマシンに接続しておいてください。 Ansibleのインストールと基本的な使い方 SSHの設定 SSHの設定は、 チェック (ドライラン) $ ansible-playbook --check -i inventory/hosts sshd.yml 実行 ansible-playbook -i inventory/hosts sshd.yml Ansible でSSHのセキュリティ設定
2019.10.8 火
今どきこんな作業することになるとは。 # yum list | grep cvs cvs.x86_64 1.11.23-35.el7 @base なんかあるっぽい。安定版の最新が1.11.23。 # yum -y install cvs バージョン確認 # cvs --version Concurrent Versions System (CVS) 1.11.23 (client/server) 場所 # which cvs /usr/bin/cvs なるほど。 /home/cvsrootを使いたいので、対象ディレクトリで初期化。 私の場合は既存のcvsのファイルを別サーバーから移動してきて行いました。とくに問題なくinitできたようです。 # cvs -d /home/cvsroot in...
2019.10.4 金
Python3でAnsibleが使えるようにします。以下、参考。 MacにPythonの開発環境を作る Ansileのインストールと設定 Pythonをバージョンによって使い分ける ここでやること Macへansibleをインストール リモートホストへの接続 userでのHello world. root(sudo)でのHello world. Install Macにインストールするには、brew使うのがいちばんいいと思います。brewを更新、またはアップデートしておきます。Doctorもやっておいてエラーなどを解消しておいた方がいいです。 $ brew update $ brew doctor $ brew upgrade 現行でインストールできるansibleを確認します。 $ bre...
2019.10.2 水
CentOS7にAnsibleをインストールする例です。 # yum install epel-release # cd ~ # yum -y install ansible バージョン確認。ansible 2.8.5が入りました。 # ansible --version ansible 2.8.5 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/s...
2019.9.21 土
source .bash_profileの実行し忘れというのではなく、起動するたびに設定が反映されていないときがありました。なんで? そもそもパスが通っていないのかもしれない。echo $HOMEとかで確認。 そもそもログインシェルが違うのかもしれない。 一度ログアウトしてからログインするとまた元に戻っていて設定が反映されていないという始末。再起動時も同じ。毎回source .bash_profileやsource .bashrcを実行するのは何か変。そもそもデーモン化したアプリとかはどうすんのよ。 ってのは、.bash_profileや.bashrcはログインシェルがbashのときに起動するということなので、ログインシェルとしてbashが起動していないという可能性が大きい。ログインシェルの...
2019.9.16 月
php artisan tinkerを実行すると以下のようなエラーで実行できないことがあります。 In Configuration.php line 363: [ErrorException] mkdir(): Permission denied -vvvvをつけて、デバックモードでコマンドを実行してみます。 $ php artisan tinker -vvvv In Configuration.php line 363: [ErrorException] mkdir(): Permission denied Exception trace: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n...
2019.5.7 火
バージョン確認 select * from v$version Oracle Database 11g Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production テーブル一覧 select table_name from user_tables;
2019.3.25 月
docker-compose.ymlで以下のように設定します。 .... phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=root - PMA_PASSWORD=SET_PASSWORD links: - mysql ports: - 8080:80 volumes: - /sessions 最終的にはこんなようなカタチになります。 version: '3' services: wordpress: image: wordpress:latest ports: - "3001:80" environment: WORDPRESS_DB_NAM...
2018.11.5 月
# Linux CentOS7 .bash_history .bash_logout .bash_profile .bashrc .cache .config .ssh .viminfo # my backup batch logs #public tmp
2018.10.26 金
Postgresqlの最新をインストールします。 基本はここから最新を探してくる。 PostgreSQL RPM Building Project – Repository Packages リポジトリの登録 CentOS 7 – x86_64をインストールします。 # yum -y install https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm インストール # yum -y install postgresql11-server postgresql11-devel postgresql11-contrib バージョン確認 # psql --versi...
2018.10.19 金
デバック方法は数ある中でも最終的に頼りになるデバック方法を備忘録として書いておこうと思いました。いろいろな武器はかなりの性能を発揮するのですが、それがいつでもどこでもどの環境でも使えるわけではないというわけで、とりわけサバイバルナイフ一本でどこまでできるかというような趣旨になります。 そして「プログラムは嘘をつかない、いつかは必ずみつかるバグ」をモットーにがんばりましょう! Grep いわずと知れたgrepコマンドですが、grepはシステムを制すなのです。 ほとんどの場合、他のコマンドをパイプでつないで使います。出力した内容をそのままパイプで渡して文字列検索をします。 パイプを使う $ cat index.php | grep -n "include" -nオプションを入れておくと行数が出て...
2018.10.8 月
HDDがいつの間にかいっぱいになっちゃったという原意の100%はログといっても過言ではありません。 なのでlogrotateサービスを設定しておく必要ありです。 # rpm -qa | grep logrotate logrotate-3.8.6-15.el7.x86_64 ファイルは以下のようになっています。 – /etc/logrotate.conf ログローテーション全体の管理ファイル – /etc/logrotate.d/* ログファイル個々の設定ファイル – /var/lib/logrotate/logrotate/status 「最後にローテーションした日時」を管理するファイル 基本的な設定 /etc/logrotate.confのデフォルト。...
2018.9.6 木
いろいろ解説は他のサイトにもあるので、まずはDocker Hubに登録してみましょう。 https://hub.docker.com/ ここでアカウントを取得しておくと Githubみたいに自分で作ったDockerの管理ができるようになります。(自分のローカル内で管理するより数段いい。) MacにDocker環境を作成する ダウンロードとインストール Dockerをダウンロードしてきます。Stableの方でOKかと。499MBぐらいなのでそんなに重くないんですね。 https://store.docker.com/editions/community/docker-ce-desktop-mac 通常のアプリケーションと同様dmgファイルからインストールします。 上部にDockerのアイコンが...
2018.8.29 水
サーバーが死にそうになっているときのマニュアルです。 サーバークラスタリングとかスケールアウトとかスケールアップとか考えた方がいい。クラウドフロント辺りのキャッシュサーバでもいいかも。 原因は?と聞かれますがたいていは「サーバースペックがショボいから」というのが大半。 急いでやるやつ rootでログイン 簡易的に状態をみる load average 目でだいたいの状態を把握する top HDDの容量 df ブラウザーアクセスやSSHでログインして明らかに操作が遅延したり見た目で動きがもっさりしていたりする、あるいは監視のアラートメールが来たりしているピーク時に目視するのが目的のコマンドになります。 落ち着いてやるやつ procs memory swap io system cpu プロセスを...
2018.8.22 水
各ユーザーのデフォルトの挙動を追加したりするにはLinuxのprofileの仕組みを使います。この機能についてはなんか全般的に名前ってないんですかね。 各設定は継承されるようになっていて/etc/profileが最優先で読み込まれ設定されます。これは全ユーザーに反映されます。~/から各ユーザーに個別に設定することが可能になっています。 設定される優先順位 /etc/profile /etc/profile/profile.d/* ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/bashrc となっています。 設定 PATH 環境変数の設定 (例) export PATH=$PATH:/usr/local/mysql/bin PS...
2018.8.1 水
AWSのEC2でLinux2を使っている場合「amazon-linux-extras」というAWS独自のライブラリーを使うと便利です。 https://aws.amazon.com/jp/amazon-linux-2/faqs/#Amazon_Linux_Extras Amazon Linux Extras Q: Amazon Linux Extras とは何ですか? Extras は、安定したオペレーティングシステムで新しいバージョンのアプリケーションソフトウェアを利用可能にする Amazon Linux 2 のメカニズムで、2023 年 6 月 30 日までサポートされます。Extras は、OS の安定性を確保しつつ、最新のソフトウェアを利用できるようにするうえで役立ちます。例えば、5...
2018.8.1 水
時々しかやらないのでハマりました。要は普通の80のバーチャルホストとほとんど同じです。 NameVirtualHost *:443を設定するのを忘れないようにする。 Defaultはアスタリスクにする。(上記と共に) これで複数設定できるようになります。 最低限必要な設定は以下のような感じになります。 <VirtualHost *:443> DocumentRoot "/home/user/www" ServerName example.com:443 <Directory "/home/user/www"> AllowOverride All </Directory> RewriteEngine On RewriteOptions inherit Err...
2018.7.27 金
AWSとかSaas系のサービスではプロンプトがローカルIPアドレスになったりするのだけどかなり見づらいので変更します。 この方法はホスト名に影響を与えないで変更するので、各ユーザーでやらないといけない設定なので、/etc/skelに設定しておく方がいいと思います。 HOSTNAME@USERNAME 00:00: という風にします。 .bashrcを開いて以下を追加します。 # シンプルなところで。 PS1="[\u@hostname \W]#" # いろいろカスタマイズしたい人は。。 PS1='\[\e[33m\]bluma@\u \[\e[34m\]\t \[\e[37m:' 使える変数がいっぱいあるのでお好みで。 反映するときは、 $ source .bashrc これでOKです。 L...
2018.7.17 火
全然使う用途がないんですが、ときどきこういう公開鍵が送られてきます。 ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20180101" ADDAB3NzaC1yc2EAABCDBJQAAAIBQ5cXFWwodlNv0GxavqchaBphe444q9bK2g7nl f8/Yt6p9xK5YxwwML+lJzROe3S7gL5MrOCeyBalwH9i2MiD9cp+TpDD9XjVB9lqh zKbwZdqd4RcAUhdTzzUUbjnL/O1XJuAb3+VOoookqn0UlUgy4WnCHG01WE1Q1Pum 123456== ---- END SSH2 PUBLIC KEY ---- これ、SECSH形式です。OpenSSL...
2018.7.13 金
DMMアフィリエイト API
2018.6.27 水
プロと言えどもエラーは出ます。いろんな環境で仕事するので。 $ ssh foo@example.com Permission denied (publickey). まずはsecureを見ます。 tail -f /var/log/secure Jun 27 13:44:46 hostname sshd[32175]: User repos not allowed because account is locked Jun 27 13:44:46 hostname sshd[32175]: input_userauth_request: invalid user repos [preauth] Jun 27 13:44:46 hostname sshd[32175]: Connection c...
2018.6.19 火
個人利用 その名の通り個人向け 7ドル/月 個人アカウント 無制限の公開リポジトリ 無制限のプライベートリポジトリ 無制限の共同編集者 一部学生に無料。(いわゆるアカデミーパック) チーム利用 小規模チーム向け。個人利用の延長で小さなチームで作業するときぐらいの規模。非公開でお互いにpullリクするぐらいがちょうどいいぐらいのアカウントです。 9ドル/月 組織アカウント 無制限の公開リポジトリ 無制限のプライベートリポジトリ チームとユーザーのアクセス許可 ※本人を含めて最初の5ユーザーまでは月額25ドル/月 組織利用(Business::Hosted on) 会社規模の利用。10人20人とプロジェクトがやたらと増えてくる場合はこれぐらいがいいです。中小企業の制作会社向け。 21ドル/月 組...
2018.6.4 月
今回はさくらのクラウドIaasサービスのCPU2、メモリ1GBでインスタンスに接続しているストレージSSDプラン20GBを40GBに拡張したいと思います。 さくらのクラウド さくらのクラウド ログイン さくらのクラウド ドキュメント ストレージの拡張手順 手順は、 サーバーインスタンスを停止する 利用中のストレージ(20GB)のアーカイブ(コピー)を作成する 新規でストレージを作成する(40GB) 作成したアーカイブを新規作成したストレージ(40GB)に流し込む 利用中のストレージ(20GB)の切り離し 新規ストレージ(40GB)をインスタンスに接続(アッタチメント) という流れになります。AWSみたいに無停止でできないっぽいです。 https://knowledge.sakura.ad.j...
2018.3.4 日
rsyncなどの実行をWEBページインターフェイスから実行しようと思うとそもそものユーザーではなくApacheがユーザーとして実行するので思うように実行できないことがります。更にSSHでリモート接続するときは実行ユーザーが全く違うので秘密鍵を読めないということになります。 しかし開発をしているとごく頻繁にいわゆるログインユーザーとApacheユーザーを併用したいという状況が訪れます。以下のユーザーを例にして説明します。 user: sampleuser Apache: apache PHPの実行ユーザーは以下で取得できます。 posix_getpwuid(posix_geteuid())['name'] cliでコマンドラインで実行すると想定通りのsampleuserとなりますが、webから...
2017.12.27 水
[command]+[K]が面倒くさいと思う人はマウントしておけばいいです。 mount_smbfs //admin@192.168.1.10/system /Users/hogehoge/system Password: リモートにあるホスト(192.168.1.10)のsystemディレクトリをマウントしたいときは、上記のような感じです。 adminとパスワードでログインするような感じですかね。 ※Sierra においては mount_smbfs は非推奨で、mountコマンドでいけるらしいです。 https://qiita.com/mach3/items/e7021b9e50f2b536a86b
2017.12.25 月
Gitでリモートリポジトリにプッシュしたときにリモートリポジトリの内容を開発環境に反映させるというやつを作ります。 正確にいうと開発者がpushしたタイミングで開発環境(として設定しているホスト)が自分でpullをするという仕組みです。 hook (post-receive) リモートリポジトリの中にhooksというディレクトリがあって、その中にフックのサンプルが幾つか入っています。pushしたときに発動してくれるのが REMOTE_REPOSITORY/hooks/post-receive というやつになります。post-receive.sampleとなっているので、post-receiveにリネームして使います。中身見てみるとわかるのですが、ただのbashの実行ファイルです。pushした...