タグ別アーカイブ: 環境構築

Composerを久々にダウンロードしようとしたらちょっとハマった

投稿日: 2016/10/25

もう田舎は寒いですよ。

Composerを久々にダウンロードしようとしたらちょっとハマったのでメモしておきます。

前提条件

ローカル(Mac)での話です。
PHPのバージョンはPHP 5.6.24 (cli) (built: Aug 8 2016 16:58:37)です。

発端

Download Composer に書いてある通り(こんなにコマンドあったっけ?と思いつつ)以下をッターンしたんですが、

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"

最初のphp -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"でこんなんでました。

Warning: copy(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in Command line code on line 1

Warning: copy(): Failed to enable crypto in Command line code on line 1

Warning: copy(https://getcomposer.org/installer): failed to open stream: operation failed in Command line code on line 1

え、ちょっとまってこんなの知らない。挫けずにちょっとググってみると
ComposerからLaravelを導入しようとしてOpenSSL周りのエラーで困った件 – Qiita
を発見しました。
でも何かphp.iniとかに設定を書くのは気が引けます。

2016-10-26 ここから追記
もう少し調べてみると、SSL通信時に発生する証明書エラーで結構知られているようですね。
※ クライアント側の証明書がちゃんと正しいかどうか(有効期限切れとか)

ですので、上記サイトの通りルート証明書ファイル(CA)を取得して設定するのもよさそうです。
SSL認証を無視させる方法もあるみたいですが。。

SSL認証を無視させる

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php', stream_context_create(
    array(
      'ssl' => array (
        'verify_peer' => false,
        'verify_peer_name' => false)
      )
    )
  );"

こうすればエラーにならないんですけど、
参考 : Quick Fix – SSL operation failed with code 1. OpenSSL Error messages

I know disabling SSL verification isn’t the best thing to do but I was running out of time because we had to ship quickly.

とある通り出来ればあまり真似しないほうがよさそうです。

でも大体curlでエラーになるっていう情報で溢れているんですが、

$ curl -sS https://getcomposer.org/installer | php

(いつもやっていた)これは動くんですよねぇ。。なんなんだろ。。
2016-10-26 ここまで追記

他の方法

他に方法は無いかなぁと探してみると冒頭の Download Composerhow to install Composer programmatically なるリンクがあるので見てみます。
うん。シェルが書いてありますね。
続きを読んでみようかな…

shimabox.netをcertbot(let’s encrypt)でSSL対応したけど苦戦した話

投稿日: 2016/06/28

というわけで、shimabox.netを常時HTTPS化させました。
その際、結構苦戦した所があったのでメモとして残しておきます。
※ 苦戦したのはmod_sslのインストールですが、詳しくは後述します

背景

Google様のこれとか

Apple様のこれ

とかあって時代がHTTPSを求めているなと。これはこの先を考えるとやるしかないなと。でも証明書の料金がなぁ。。こんなショボいサイトに金使うのかぁ。。。とグズグズしながら、無料 SSL証明書 でググってみると、ざわ、ざわ…ざわ…、Let’s Encrypt?というキーワードが巷で溢れかえっているではありませんか。

Let’s Encrypt – Free SSL/TLS Certificates

こちら、なんと無料です。

で、更に使い方を調べてみると、Let’s Encrypt の使い方 – Let’s Encrypt 総合ポータルに出会います。
このサイトは CentOS 6 で発生するエラーの対処法 – Let’s Encrypt 総合ポータルよくある質問 – Let’s Encrypt 総合ポータル というような救いの手をきちんと書いてくれていたので、こちらを参考に進めました。

続きを読んでみようかな…

GitLabをCentOSにインストールして躓いた時のメモ

投稿日: 2015/07/02

雨が続いてますね。何で雨上がりって臭いんですかね。

さて、ちょっとしたあれでGitLabをCentOSにインストールしてみました。
で、その時ちょっと躓いた所があったのでメモしておきます。

CentOSのバージョン

  • CentOS release 6.3 (Final)

    • apacheとか入っていない状態

作業手順

https://about.gitlab.com/downloads/
の、CentOS 6 (and RedHat/Oracle/Scientific Linux 6)を参考に以下を実行

$ sudo yum install curl openssh-server postfix cronie
$ sudo service postfix start
$ sudo chkconfig postfix on
$ sudo lokkit -s http -s ssh
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

GitLabのインストールは簡単になったと、インターネッツの皆が言う通りここまでは本当にスラスラといきました。

エラー発生

で、問題は次

$ sudo yum install gitlab-ce

これをッターンしたら、

〜 中略 〜
ERROR You need to update rpm to handle:
rpmlib(TildeInVersions) <= 4.10.0-1 is needed by gitlab-ce-7.12.0~omnibus.1-1.x86_64
RPM needs to be updated
 You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx-2015-07-01-10-18pOSfIU.yumtx

こんなエラー。
まじかよ!全然カンタンじゃねー!!みんなの嘘つき!!

でも、

何事も人のせいにしてはいけません。
そう過ごしてきた結果が今のあなたの姿ではないですか?

と、どこからか聞こえた気がして、きちんとエラーメッセージに向き合いました。
っていうか、RPM needs to be updatedじゃね?
めっさ分かりやすいわ。

続きを読んでみようかな…

mailcatcherが働かなくなったんだが(先人の知恵を借りて)解決した話

投稿日: 2015/01/30

はじめに

それは2015年1月初旬の事だった。
新たな案件の環境作りを行う際に、うはっww、chef-solo+Vagrantのレシピ書いてあるから一発やで、うはっwww(最近書き始めて興奮している)。
なんて意気込んでいたのも束の間、去年の中旬まで動いていたはずだったmailcatcherを使ってのmail送信が失敗していたのだ。

※ mailcatcherはダミーのSMTPサーバー?を立ててくれて、ローカルでメールの送受信が確認出来る優れもの(UIも提供してくれる!!)
※ 詳しくはググっていただければと

新年早々なんということでしょう。私は愕然としました。
だって、去年の中旬まではテストでメールの確認は出来てたじゃないか。
同じレシピなのに。。ぐすん。

でも、僕は諦めなかった。
ちゃんとログを見たんだ。

そうしたらこんなのを見つけた。

/usr/local/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)
        from /usr/local/lib/ruby/2.0.0/net/protocol.rb:152:in `rbuf_fill'
        from /usr/local/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
        from /usr/local/lib/ruby/2.0.0/net/protocol.rb:144:in `readline'
        from /usr/local/lib/ruby/2.0.0/net/smtp.rb:932:in `recv_response'
        from /usr/local/lib/ruby/2.0.0/net/smtp.rb:555:in `block in do_start'
        from /usr/local/lib/ruby/2.0.0/net/smtp.rb:942:in `critical'
        from /usr/local/lib/ruby/2.0.0/net/smtp.rb:555:in `do_start'
        from /usr/local/lib/ruby/2.0.0/net/smtp.rb:520:in `start'
        from /usr/local/lib/ruby/gems/2.0.0/gems/mail-2.6.3/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
        from /usr/local/lib/ruby/gems/2.0.0/gems/mail-2.6.3/lib/mail/message.rb:2141:in `do_delivery'
        from /usr/local/lib/ruby/gems/2.0.0/gems/mail-2.6.3/lib/mail/message.rb:238:in `deliver'
        from /usr/local/lib/ruby/gems/2.0.0/gems/mailcatcher-0.5.12/bin/catchmail:50:in `<top (required)>'
        from /usr/local/bin/catchmail:23:in `load'
        from /usr/local/bin/catchmail:23:in `<main>'

?!ふぇっ!!?!?!
なんたる仕打ち。。

くぅっ。負けるものか。
僕には、いや、僕らにはグーグル先生がいるじゃないか。

続きを読んでみようかな…

さくらvps(CentOS) mysqlのセットアップではまった

投稿日: 2012/05/06

さくらのVPS 1G にプランを乗り換えました。
それで今、乗り換えた方のサーバー構築中なのですが
mysqlのセットアップに何度も失敗してハマったのでメモ。

mysqlのインストールは
さくらのVPS を改めて使いはじめる 5 – MySQL をセットアップする | アカベコマイリ
こちらの記事を参考にさせて頂きインストールを試みましたがどうしても

sudo /etc/init.d/mysqld start

でエラーがでてしまう。。orz
mysqlの再度インストールを行いましたが同じエラー。。orz

続きを読んでみようかな…