LoginSignup
7
5

More than 5 years have passed since last update.

ConohaのUbuntuの設定からDockerにlaradocしてLaravelの文字を表示するまで(win)

Last updated at Posted at 2018-12-08

はじめに

なんだか低コストで色々勉強できそうなので、Conohaの一番安いやつ契約しました。
契約してから、ララベルの文字出すまでのメモです。
:beginner:※めちゃめちゃに初心者が作ったメモなので、流用にはご注意ください:beginner:

Conohaのサーバー作成

アカウントを作る

https://www.conoha.jp/
Conohaの公式サイトでアカウント作ります。この前誕生日だったんですけど、500円のクーポンもらった:relaxed:

アプリケーションを選ぶ

サーバー追加>容量選ぶ>アプリケーション>Docker>パスワード設定
■容量について
630円のやつだと拡張できないらしいんで拡張するつもりだったら900円のやつが良いかも:relieved:

■アプリケーション
OS選んで自分でdocker入れるほうがきっといいと思うんですけど、違いがよくわからないので入れてくれてるやつ選びました。勝手にうぶんつが入ります。ほかのOSじゃなきゃって人はOS選んだら良いと思う。

:bangbang:パスワードはメモしておく!

サーバーへのアクセスを確認

:bangbang:出来上がったサーバーのIPをメモしとく
Conohaのサイト上のコンソールめちゃくちゃ使いづらかったので、自分のマシンに入ってるコンソールを使う想定です。
IPアドレスが123.45.67.890のとき

ssh root@123.45.67.890 -p 22

パスワード入れてログイン確認できればOK:ok_hand::ok_hand::ok_hand:

うぶんつ初期設定

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に変更する

sshd_config
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
sshd_config
PasswordAuthentication no

そしてサーバー再起動

3.ポート番号の変更

ポート番号を変更する

sudo vi /etc/ssh/sshd_config
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」と打つだけでサーバーに接続したい

config
#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入れてくれるついでに入れててくれればいいのにね…
:bangbang:最新版を確認すること!バージョンのところの数字を置き換えてください
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にアクセス

ららべるのいつもの画面!

おわり

わたしがまた作り直す時用なので、初歩的な注釈がおおくてずるずる長くなってしまいました。
あと、後半のメモ不足で、もしかしたらどっか間違えてるかもしれないです。
指摘あったら教えてください!:open_hands:

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5