addictionwhite’s diary

考え中のことを整理と忘備録のために綴ります。ここに書かれている考えは翌日には変わる可能性があります

GitHubからcloneした際のPermission denied (publickey).エラー

久々にMacのPCで環境を構築しようとした際に

GitHubからcloneコマンドを叩くとエラーになった。


git clone git@github.com:kenjis/vagrant-fuelphp-centos6.git vagrant

 

以下のエラーが出る
Permission denied (publickey).
......

 

以下対応

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "xxxxxx@yyyyy.com" // 自分のGitHubアカウント

# macなら
$ pbcopy < ~/.ssh/id_rsa.pub

GitHubのSetting から SSH and GPG keys
id_rsa.pubの中身を貼り付け


■備考
接続確認のコマンド
ssh -T git@github.com

 

参考(ほぼ引用に近い)

[GitHub] 公開鍵登録の際に、Permission denied (publickey). が出続ける場合の対応 (vagrantからsshする場合の注意も)
https://qiita.com/colorrabbit/items/6c3e96c394bb0f753ea0

 

SNSサイト作りの試み4 プロフィール編集画面実装

 

前回から時間が空いてしまった。
主な理由は実装にすこし手こずってしまったこともあるのだけれど、
何よりポートフォリオを見せることなく就活の選考が進んでしまったからだよ。


ポートフォリを実装するにあたって、
ブログに書こうと思ったことが断片的にメモしてあるので、
記憶を辿りながら綴ろうとおもう(おそらくいくらか抜けは発生してそう)。

 

実装した機能
・プロフィール更新


今回は見切り発車が過ぎて、かなり無駄が生じたので、あえて過程を残しておく。

続きを読む

SNSサイト作りの試み3 設計

 

いきおいでログイン画面までは通したものの、
これから具体的な実装に入るので、

具体的にどんなもの作るかを考え、設計しなくてはならない。

 

とはいっても最初は小さいものを作ろうと思うので、

そこまで大変ではないはず。

 

とりあえず忘れないうちにdevelopブランチだけ生成
(おそらく作るブランチはこれだけだと思う)。

 

続きを読む

SNSサイト作りの試み2 ログイン画面の追加

通常のフレームワークならログイン機能は既に用意してくれていると思うので、

実装と書かず追加とした。

 

laravelプロジェクト直下にて以下のコマンドを叩く

php artisan make:auth

 

それでログイン及びユーザー登録機能が追加される。

以下のコマンドでルーティングを確認すると、ログイン画面が追加されていることが確認できる。
php artisan route:list

f:id:addictionwhite:20171011234102p:plain

 

特に凝ったログイン機能でなければ、これでよさそう。

ただ問題がいくつか残っている。

ざっくりいうと
・URLがダサい
・DBの設定(及び構築)ができていない 

 

続きを読む

SNSサイト作りの試み1 Laravelの環境構築

ポートフォリオ的なものが欲しいと思い、

LaravelでSNSサイトっぽいものを作ろうと思った。

 

以前面談で話したときに「モノが完成していなくても、どういうコードを書く人がわかればよい」と聞けて、なるほどと思った。

Webサイトもいいけど、暇があったらAndroidの簡単なアプリも作ってみたいな。

 

以下、Laravelの環境構築なのだけれども、

これは以前、以下の記事で書いている。

Vagrantを用いたLaravel環境構築 - addictionwhite’s diary

 

ただ、忘れてまた一から調べ持ってやるという愚かなことをしてしまったけれど、

少し違う過程を通ったので、参考程度に以下に残しておく。

続きを読む

Docker Toolboxで詰まった話

タイトルが正確ではないような気もするけれど。

 

Docker toolsをインストールし、
Kitematicを立ち上げると、通常であればDocker Hubのログイン画面が開くのだが、
ログイン画面が出るべき画面に赤文字のエラーが表示された。

 

Could not determine IP from docker-machine.

 

いろいろコマンドやらを試して試行錯誤していると、
原因はわからないけど、DockerマシンにSSHできないように見えた。

続きを読む

Vagrantを用いたLaravel環境構築


LaravelはHomesteadの環境を公式で提供されているため、

自分で環境作る必要はないのだが、

ある程度環境を柔軟に自分で作れるようになっておきたかったので。

 

// プロジェクトルートに以下のVagrantfile配置
https://github.com/addictionwhite/vagrant1
// centos7.1のboxを使用しているので、なければ追加しておく(これVagrantfileで自動化できそう)
vagrant box add centos7.1 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.1/vagrant-centos-7.1.box

// 仮想環境立ち上げ
vagrant up

// Hello world確認(プロビジョニングファイルで用意されている
http://192.168.33.10/

// 仮想環境ログイン
vagrant ssh

// ドキュメントルート配下でLaravelプロジェクト作成
cd /var/www/html/
// Laravelコマンド使用しないなら不要かも
// composer global require "laravel/installer"

// Laravelプロジェクト追加
composer create-project --prefer-dist laravel/laravel blog


// document Root変更
sudo vi /etc/httpd/conf/httpd.conf
  ----------------
  DocumentRoot "/var/www/html"

  →DocumentRoot "/var/www/html/blog/public"
  ----------------
  <Directory "/var/www">

  →<Directory "/var/www/html/blog/public">
  AllowOverride None
  # Allow open access:
  Require all granted
  </Directory>
  -----------------

// Apache再起動
systemctl restart httpd.service

// 作成したLaravelプロジェクト配下にてcomposer install 

// *具体的な時間は計っていないがかなり時間食った
composer install
  *composer installがタイムアウトしてしまった場合の注意
  タイムアウト後の処理としてディレクトリを削除しようとしているが、
  裏でgit cloneが動いているのでディレクトリ消えずにエラーになっているとのこ と。
  // composerのタイムアウトを一時的に伸ばす(デフォルト300秒)
  export COMPOSER_PROCESS_TIMEOUT=2000
  // 裏で動いているgitプロセスを切る
  ps aux | grep git
  kill xxxx(プロセスID)

// アプリケーションキーにランダムな文字列を設定
// (ドキュメントには"ComposerかLaravelインストーラを使ってインストールしていれば、php artisan key:generateコマンドにより、既に設定されています。"
// とあるが、以下のコマンドを叩かないと動かなかった
php artisan key:generate

// 以下のURLをブラウザでアクセス。Laravelのトップページを確認できれば成功
http://192.168.33.10/

 

メモ

 DBへの接続、動作検証がまだ。
 Redisやmemcachedのインストールがまだ。
 Laravelプロジェクトのインストールも自動化するべきかもしれないが、
 Laravelプロジェクト特化というよりは、PHPの汎用的な環境を作りたかったので、どこまで自動化の範疇にいれるか微妙。
 ApacheでなくNginxの方がいいかもしれない(Homesteadがそうであったため)。


 少しずつブラッシュアップしていきたいところ。

 


// 参考

// 公式
https://laravel.com/docs/5.5/installation

// composer で Could not delete エラーで先に進めなくなった場合の対処法
https://qiita.com/waterada/items/b47daf501e5fe1a70743

// composer install でタイムアウトする場合の対処法
https://qiita.com/nyanchu/items/d3f3a278e8953cb2ebf3
// Vagrant入門~仮想Webサーバ構築~
http://ferretdayo.hatenablog.com/entry/2016/03/12/000753