#はじめに
なんだか低コストで色々勉強できそうなので、Conohaの一番安いやつ契約しました。
契約してから、ララベルの文字出すまでのメモです。
※めちゃめちゃに初心者が作ったメモなので、流用にはご注意ください
#Conohaのサーバー作成
###アカウントを作る
https://www.conoha.jp/
Conohaの公式サイトでアカウント作ります。この前誕生日だったんですけど、500円のクーポンもらった
###アプリケーションを選ぶ
サーバー追加>容量選ぶ>アプリケーション>Docker>パスワード設定
■容量について
630円のやつだと拡張できないらしいんで拡張するつもりだったら900円のやつが良いかも
■アプリケーション
OS選んで自分でdocker入れるほうがきっといいと思うんですけど、違いがよくわからないので入れてくれてるやつ選びました。勝手にうぶんつが入ります。ほかのOSじゃなきゃって人はOS選んだら良いと思う。
パスワードはメモしておく!
###サーバーへのアクセスを確認
出来上がったサーバーのIPをメモしとく
Conohaのサイト上のコンソールめちゃくちゃ使いづらかったので、自分のマシンに入ってるコンソールを使う想定です。
IPアドレスが123.45.67.890のとき
ssh root@123.45.67.890 -p 22
パスワード入れてログイン確認できればOK
#うぶんつ初期設定
1.rootユーザーのログイン禁止
2.パスワードでのログイン禁止(鍵認証にする)
3.ポート番号の変更
4.IP覚えるの面倒なのでconfig作る
##1. rootユーザーのログイン禁止
###最初に決めておくこと
・作業ユーザー名(例):gekimu
・作業ユーザーパスワード(例):syatikupass
・ポート番号(例):56789
ポート番号は1024~65535のなかでえらんでます。
使用中のポート番号の調べ方。
netstat -an | grep tcp | grep LISTEN
###作業ユーザー作成
サーバーにrootログインした状態で
adduser gekimu
パスワードを設定したあとのfullnameとかは全部空のままエンターし続ける
###SUDOを使うことができるメンバーに入れる
gpasswd -a gekimu sudo
###作業ユーザーでログインできるか確認
コンソールをもうひとつ開いて作業ユーザーでログイン
ssh gekimu@123.45.67.890 -p 22
###作業ユーザーでログインできたらrootからのログイン禁止設定を入れる
設定ファイルのバックアップ
sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
設定ファイルを編集する
sudo vi /etc/ssh/sshd_config
PermitRootLogin yesになってるのでnoに変更する
PermitRootLogin no
サーバー再起動
###rootユーザーで接続してもログインできなくなってる確認
ssh root@123.45.67.890 -p 22
##2. パスワードでのログイン禁止(鍵認証にする)
###サーバー側に鍵置き場をつくる。
作業ユーザーでログインした状態で、作業ユーザーフォルダ直下に鍵置き場をつくります。
ssh gekimu@123.45.67.890 -p 22
mkdir ~/.ssh
chmod 700 ~/.ssh
###ローカル環境に鍵をつくる。
あたらしくコンソールをひらいて、
以下のコマンドを打つとC:\Users\user.ssh配下に鍵(id_rsaとid_rsa.pub)ができる。
なんかトラブるときはだいたいパーミッションのせい。あとディレクトリが無いとか。
ssh-keygen -t rsa
###作った鍵を鍵置き場に転送する
ローカル側から鍵を鍵置き場に転送します。
scp ~/.ssh/id_rsa.pub gekimu@123.45.67.890:~/.ssh/authorized_keys
サーバー側で鍵のパーミッション変更
chmod 600 ~/.ssh/authorized_keys
###パスワード入れなくてもログインできるか確認
ssh gekimu@123.45.67.890 -p 22
###パスワードログインの禁止設定を入れる
sudo vi /etc/ssh/sshd_config
PasswordAuthentication no
そしてサーバー再起動
##3.ポート番号の変更
###ポート番号を変更する
sudo vi /etc/ssh/sshd_config
- Port 22
+ Port 56789
そしてサーバー再起動
###22番ポートからログインできない確認
ssh gekimu@123.45.67.890 -p 22
###新しいポート番号からログインできる確認
ssh gekimu@123.45.67.890 -p 56789
###4.IPとポート覚えるの面倒なのでconfig作る
こちらの記事をそのまま参考にしました。
https://qiita.com/0084ken/items/2e4e9ae44ec5e01328f1
ローカル環境でさっきつくった鍵のところにconfigファイルを作ります
touch ~/.ssh/config
「ssh conoha」と打つだけでサーバーに接続したい
#ConoHa
Host conoha
HostName 123.45.67.890
User gekimu
Port 56789
ログインできるか確認
ssh conoha
#Dockerにlaradocを入れる
###Dockerコマンドをsudoなしで使えるようにする
sudo groupadd docker
※もうありますよって言われるかも
sudo gpasswd -a gekimu docker
sudo service docker restart
###docker-composeを入れる
docker入れてくれるついでに入れててくれればいいのにね…
最新版を確認すること!バージョンのところの数字を置き換えてください
https://github.com/docker/compose/releases
sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
###docker-conposeを実行できるようにする
sudo chmod +x /usr/local/bin/docker-compose
ここ以降はこちらを参考にしています。
https://qiita.com/hosono/items/dd404f3f074722ef989d
###作業ユーザーのディレクトリ直下にプロジェクトディレクトリを作成
/home/gekimu/の下に任意のディレクトリを作ります
mkdir laradockpj
cd laradockpj
###ララベルをクローンする
git clone https://github.com/laradock/laradock.git
###環境ファイルを作る
cd laradock
cp env-example .env
※ここ以降で「ディレクトリ間違ってませんか?」みたいなエラー出るときはlaradock配下以外でコマンド打ってないか確認
###コンテナの起動
けっこう時間かかる
docker-compose up -d nginx
###コンテナが起動してるか確認
docker-compose ps
・docker-in-docker
・nginx
・php-fpm
・workspace
の4つが起動してるはず
###ワークスペースに入る
docker-compose exec workspace bash
###ララベルをインストール
ワークスペース内の/var/www直下で
composer create-project laravel/laravel testapp
###nginxに設定をいれます
まずdockerを止める
docker-compose stop
laradockディレクトリ配下に戻って設定ファイルをバックアップして編集
cp nginx/sites/default.conf nginx/sites/default.conf.bak
vi nginx/sites/default.conf
さっき作ったアプリ名のディレクトリを追加する
- root /var/www/public;
+ root /var/www/testapp/public;
nginxがログファイルへアクセスできるようにする
※もしかしたら777じゃないと動かないかもしれない
docker-compose exec workspace bash
chmod 775 -R /testapp/storage/
chmod 775 -R /testapp/bootstrap/cache/
###123.45.67.890にアクセス
ららべるのいつもの画面!
#おわり
わたしがまた作り直す時用なので、初歩的な注釈がおおくてずるずる長くなってしまいました。
あと、後半のメモ不足で、もしかしたらどっか間違えてるかもしれないです。
指摘あったら教えてください!