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サイト作りの試み3 設計
いきおいでログイン画面までは通したものの、
これから具体的な実装に入るので、
具体的にどんなもの作るかを考え、設計しなくてはならない。
とはいっても最初は小さいものを作ろうと思うので、
そこまで大変ではないはず。
とりあえず忘れないうちにdevelopブランチだけ生成
(おそらく作るブランチはこれだけだと思う)。
続きを読む
SNSサイト作りの試み1 Laravelの環境構築
ポートフォリオ的なものが欲しいと思い、
LaravelでSNSサイトっぽいものを作ろうと思った。
以前面談で話したときに「モノが完成していなくても、どういうコードを書く人がわかればよい」と聞けて、なるほどと思った。
Webサイトもいいけど、暇があったらAndroidの簡単なアプリも作ってみたいな。
以下、Laravelの環境構築なのだけれども、
これは以前、以下の記事で書いている。
Vagrantを用いたLaravel環境構築 - addictionwhite’s diary
ただ、忘れてまた一から調べ持ってやるという愚かなことをしてしまったけれど、
少し違う過程を通ったので、参考程度に以下に残しておく。
続きを読む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/
// ドキュメントルート配下で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