ubuntuへDockerのインストール

Dockerを自宅サーバに導入します.
Dockerとはコンテナ型仮想化技術を実現するもので,環境構築を簡便にしてくれます.
そう文章で言われてもわからないので,実際に使って便利さを実感していきましょう,


Dockerのインストールを行います.
今回はubuntuのパッケージマネージャーaptでインストールする方法を紹介します.
まず,aptのパッケージリストを更新します.

sudo apt update -y


次にDockerの依存コンポーネントをaptで取得します.

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common


公式の公開鍵を取得します.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


Dockerのパッケージリポジトリをaptに登録します.
安定版であるStableと開発版であるEdgeが提供されていますが,今回は安定版を利用します.

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


最後にインストールします.

sudo apt update -y
sudo apt install -y docker-ce


インストール後に

docker version

を実行してversion情報が正しく出れば成功です.

ubuntu自宅サーバにsshで外部からアクセス

自宅サーバを構築したいと思います.
まず最初のステップとして,sshで外部からアクセスできるようにします.

以前さくらVPSを借りてsshでログインできるようにした記事を参考に行います.
今回は自宅サーバで固定IPを取得しないのでDDNSというサービスを使っていきます.

サーバ

まずは,ssh-serverを導入します.端末を起動させて,以下でインストールします.

sudo apt install openssh-server

次にsshの設定ファイルをいじってパスワード認証を許可にしておきます..

sudo nano /etc/ssh/ssh_config

//パスワードによる認証を許可
PasswordAuthentication yes

設定を反映させるためにsshを再起動させます.

service sshd restart

次にクライアント側で鍵を生成していきますが,そのときに公開鍵を送れるようにサーバのIPアドレスを調べておきます.

hostname -I

で設定されているローカルIPアドレスがわかります.

クライアント側

公開鍵と秘密鍵のペアを生成します.

ssh-keygen -t rsa

途中で以下の文章が出てくるので,どのサーバの鍵かわかるように名前を付けます(今回はubuntuという名前を以下でつけました).

Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa):~/.ssh/ubuntu

その後,秘密鍵に設定するパスフレーズの入力が求められますが、特に設定しなくてもいいので何も入力せずリターン2回押してスキップします.
ちなみにrsaとは2つの桁数が多い素数をかけ合わせた数の素因数分解が困難であることを利用した暗号化方式です.

次にサーバに公開鍵を送ります.
今回作成した公開鍵(.pubファイル)をUSBでもメールでもscpコマンドでも何でもいいのでサーバに送ります.
下記はscpで送るときの例.Xに先程調べたIPアドレスを入力.

scp ~/.ssh/ubuntu.pub  ホスト名@XXX.XXX.XXX.XXX:

サーバ側

公開鍵(.pubファイル)を~/.sshフォルダにauthorized_keysに名前を変えて(.pubも消す)移動させます.
そしてパーミッションを適切なものに設定します.

cat ubuntu.pub >> .ssh/authorized_keys
rm id_ras.pub
chmod 700 .ssh
chmod 600 .ssh/authorized_keys


次にsshの設定ファイルをいじってパスワード認証を不許可にしておきます.
加えてPortを10022など標準の22から変えてセキュリティを上げておきます.

sudo nano /etc/ssh/ssh_config

PasswordAuthentication no
Port 10022

設定を反映させるためにsshを再起動させます.

service sshd restart

ローカルIPアドレスを固定

今後の手順でポート開放する必要がありますが,開放したローカルIPアドレスが勝手に切り替わってしまうといけないので,
以下のサイトを参考にローカルIPアドレスと固定化します.

Ubuntu 18.04 LTSで固定IPアドレスを設定する方法【デスクトップ編】 | Linux Fan

ポート開放

私はWimaxだったので,以下でルータに接続して,グローバルIPを取得しました.
http://192.168.179.1

ネットワーク設定→プロファイル設定のプロファイルリストでnosetupを選び,以下情報を入力して新規にプロファイルを作成します.
プロファイル名(任意): Global
APN(接続先情報): wx2.uqwimax.jp
ユーザ名: global@wx2.uqwimax.jp
パスワード: 0000 (ゼロ4つ)
認証タイプ: CHAP
IPタイプ: IPv4

その後,ネットワーク設定→接続設定で新たにつくったプロファイルを選びます.

次にポート開放するために,詳細設定→ポートマッピング設定で追加をし,
LAN側IP:先ほど固定したローカルIP
ポート: 10022など22から変えた数字
優先度:1~50の任意の数字

以上入力したら保存を押します.

グローバルIPアドレスの設定

グローバルIPアドレスを調べます.
www.cman.jp

MyDNSというサイトでドメインを取得します.右上のjoin usから登録し,IDとPassがメールで送られてくるのでログインします.
Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP
そしてDMAIN INFOからドメインを取得します.取得したドメインに対し,IP ADDR DIRECTから先程調べたグローバルIPアドレスIPv4のところに入力して,ドメイングローバルIPを紐づけます.

グローバルIPの自動更新

グローバルIPは固定IPでないと自動更新されてしまうのでDDNSで取得したドメインとの紐付けをやり直さないといけません.

それを今回はcronで自動的にやります.

# crontab -e

(以下の1行を追加して保存)
*/10 * * * * wget -q -O /dev/null http://(mydns.jp のマスターID):(mydns.jp のパスワード)@www.mydns.jp/login.html

これで10分おきにMyDNSに対してHTTPリクエストを発行するようになります.

ヘアピンNAT回避

同一のネットワーク内からグローバルIPにアクセスしようとするとルータが対応していないと拒否されてしまいます.
以下で設定しておけば,拒否されなくなるので登録しておきます.

sudo nano /etc/hosts

(以下の1行を追加して保存)
固定したサーバのローカルIP MyDNSで取得したドメイン名

自宅サーバへのSSH

以下で自宅サーバへつながれば完了です.

ssh -p 10022 ドメイン名

さくらVPSにPythonをAnacondaを利用して導入

こんにちは

前回はさくらVPSの初期設定を行いました。

さくらVPSの初期設定 - 勇往邁進


今後は実際にサーバを活用していきたいと思います。

今回はさくらVPSをさらに活用していくためにプログラミングの開発環境を入れたいと思います。

とりあえず、Pythonをいれておきます。

今後他の言語の開発環境も導入するかもしれません。

Anaconda(Python)を導入

AnacondaとはPythonと必要な科学技術、データ分析などで用いるライブラリを一括でインストール可能にしたパッケージです。

Python単体だけを導入してもいいのですが、後々導入することになるパッケージの導入をまとめてやっておいた方が楽だと思います。

さくらVPSにはOSとしてCentOS6.7が入っているのですが、これにはもとからPython2.6がインストールされています。

Pythonに関しては現在Python2.X系とPython3系があってPython3の方が新しいのでこちらを導入していきます。

導入に関しては以下のサイトさまを参考にさせていただきました。

pppurple.hatenablog.com

また、Python3だけでも導入可能です。

その場合は以下のサイトさまを参考にして下さい。

hqac.hatenadiary.com

完全に上のサイトさまを参考にさせていただきました。

コマンドの意味が説明されていて勉強になりますので、こんな記事よりもこちらを見て下さい。

yumの設定

Pythonをアップデートした場合にパッケージを取得してインストール/アップデートをするyumが使えなくなるエラーが発生することがあります。

これはyumPythonで書かれているかららしいです。

そこで元々入っていたPythonを指定する必要があります。

まず、viでyumを開きます。

sudo vi /usr/bin/yum

そして一行目を以下の様にpythonの後にcentOSに元々入っていたバージョンである2.6を追加します。

#!/usr/bin/python2.6

これで終了です。

さくらVPSの初期設定

前回サーバを起動するところまで行きました。

MacでさくらVPSを使ってサーバ構築
frute.hatenablog.com


今回は初期設定を行っていきます。

パスワードの変更

基本的にはこちらを参考に行いました。
qiita.com

作業用ユーザの作成と設定までならって進めて下さい。

途中に出てくるサーバのログアウトの仕方ですが、exitとコマンドを打てばできます。


またvim(エディタ)のコマンドに関しては
haya14busa.com
こちらのサイト様が参考になります。


公開鍵認証の設定

さくらVPSは基本的にパスワードで認証します。

しかしパスワード認証はパスワードが流出してしまった場合簡単に侵入できてしまうのでセキュリティ上弱いです。

そのため公開鍵認証という認証の仕方に変更します。

これは鍵を持った人のみサーバにアクセスできるようになることを意味します。

この鍵は2つ存在していて、パソコンに置いておく「秘密鍵」とサーバ側に置いておく「公開鍵」があります。

秘密鍵さえ流出しなければ、他の人からアクセスされることはなくなります。

では実際に公開鍵認証の設定を行っていきます。

Mac側の設定

まずMac側でターミナルを開いて、ホーム(/Users/ユーザ名)にいることを確認した後に以下を入力して下さい。

mkdir .ssh
chmod 700 .ssh

mkdirはmake directoryの略で.sshというフォルダを作っています。

.sshディレクトリがあれば1行目は行わなくても良いです。ls -laというコマンドで確かめられます。

2行目のchmodはchange modeの略で権限の変更を行うコマンドです。

700で.sshディレクトリは本人しか読み書きできなくしています。

cd .ssh
ssh-keygen

cdはchange directoryの略で.sshディレクトリに移動します。

次に2行目で先ほど述べた秘密鍵と公開鍵を作ります。

Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa):

と出て来るところでどのサーバの鍵かわかるように名前を付けます。今回はsakuraとしました。名前を入力してリターンを押します。

その後に秘密鍵に設定するパスフレーズの入力が求められますが、特に設定しなくてもいいので何も入力せずリターンその後再確認を求められるのでもう一度リターンを押します。

lsで確認すると、sakuraとsakura.pubがあると思いますが、それぞれ秘密鍵と公開鍵です。

この公開鍵はサーバ側においておく必要があるので

cat sakura.pub

で表示される内容をコピーしておいて下さい。

サーバ側の設定

今度はサーバ側で先ほど設定したadminでログインします。

mkdir .ssh
chmod 700 .ssh
cd .ssh

同様に.sshディレクトリを作ります。

vim authorized_keys

vimを開いてiキーでインサートモードにして、先ほどコピーした公開鍵の文字列を貼り付けます。

:wqコマンドで終了し、以下のchmodコマンドで、このファイルを自分のみ読み書き可能にしておきます。

今後別のパソコンからもサーバにアクセスしたくなった場合はここにそのパソコンで生成した公開鍵を追記していきます。

chmod 600 authorized_keys

再度Mac側の設定


続いて簡単にアクセスできるようにするためにssh configの設定をします。

qiita.com
こちらを参考に行っていきます。

Mac側でホームディレクトリから

cd .ssh
vim config

vimを開きます。そして以下をiでインサートモードにして入力して:wqで閉じます。

あくまで今回用いている設定なので自分の環境に合わせて変える部分は変えて下さい。

Host 任意の接続名(sakura)
HostName IPアドレス
User admin
Port 22
IdentityFile ~/.ssh/sakura

そうすると任意の接続名(今回はsakura)で以下のように簡単にサーバにアクセス出来ます。

ssh sakura

パスワード認証を禁止

公開鍵認証ができることを確認したら、通常のパスワード認証が出来る状態では意味ないのでこれを禁止します。

先ほど参考にさせていただいたサイト様をもう一度参考にします。
qiita.com

上記サイトのポート番号の変更、rootによるログイン禁止、パスワードでのログイン禁止の章を見て下さい。

そこのポート番号の変更は行わなくても良いので、他2つのrootによるログイン禁止、パスワードでのログイン禁止を設定して下さい。

ファイアウォールの設定

次にサーバはまだセキュリティが何もない状態なので、ファイアウォールの設定をします。

これはiptablesというものから設定します。詳細は長くなりますのでさくらのサイトに譲ります。

help.sakura.ad.jp

こちらをそのまま行って下さい。

STEP4の許可する通信の設定ではポート番号はsshで使う番号のみ(今回は22)開放して下さい。



以上で初期設定はおしまいです。お疲れ様でした。

MacでさくらVPSを使ってサーバ構築

こんにちは
なんとなくサーバが欲しくなり導入してみました。

備忘録代わりにまとめていきたいと思います。

サーバ導入

今回はさくらインターネットが提供しているさくらVPSというサーバを契約します。

vps.sakura.ad.jp



サーバって何?VPS?って方はこちらを参照するとわかりやすいです。
サーバって何?初心者でもわかる4つのサーバの種類 | 構築ツール | 知る・学ぶ | Marketing Bank (マーケティングバンク)



とりあえず今回は最も安い512プランで契約してみました。

クレジットカードで決済登録すると2週間無料キャンペーンをやっているようです。

プランの登録は誘導どおりに行えば問題ないです。

その後ログインを行います。

サーバーを起動

会員メニュートップ > 契約情報 > 契約サービス一覧-表示

に飛びまして、下の方にあります[サーバ設定]をクリックします。

そうするとコントロールパネルに飛びますので、緑色の起動ボタンを押してサーバを起動します。


ターミナルからサーバに接続

まずsshのためのポートを開けます。ssh使用したことある人などは飛ばして下さい。

こちらのサイトさまに詳しくまとまっていますので参照してください。
mdkpiiiya.hatenablog.com

途中でviエディタを用いるのですが、記述する内容をcommand+Cでコピペした後sshのポートを設定して下さい。

通常は22を用いると思いますので特にこだわりがなければXXXXXの部分はそうして下さい。

その後escキーでINSERTモードを抜けてコマンド :wq で保存して終了してください。:でコマンドモードになってwはwrite, qはquitです。

もしエラーになった場合はviをsudoで管理者権限で実行して下さい(sudo vi ...)。

そしてサーバに接続します。ターミナルで以下を入力します。xxの部分はさくらVPSで契約したサーバのIPアドレスを入れて下さい。先ほどの起動を行ったコントロールパネルに書いてあります。

ssh  root@xx.xx.xx.xx

接続するか確認されますのでyesを入力して接続します。

オタクが服を買うまで

オタク、服を買う

服なんて何着ていいかわからないっていう人いると思います。

今回は、最低限ブランドの知識をつけたいとか

とりあえず外に出ても迫害されない程度の服を買いたいって人に向けて方法を紹介します。

対象は大学生くらいのメンズです。

注意事項として到達地点は高くはないです。



オタク、服を買うための服を買う

服買うったって買いに行く服がないよ!!!

ええ、そうでしょう。私もそうでした。

まず一般的なオタクの初期装備はオカンが買ってきた服か中学生くらいからずっと着ている服だと思います(偏見

こんな服で服屋にいってもリア充アパレル店員さんに蔑まれた目で見られると思うと服を買いにもいけません。

なので、まずレベル1でも買える服を買いに行きましょう。

ユニクロと無印とコンバース

まずリア充店員さんがいなければ外にも出れるという人はユニクロと無印に行きましょう。

靴はコンバースのシンプルのものを買いましょう。

引きこもりで外に出れない場合は通販を使いましょう。

ZOZOTOWNやZOZOUSEDで買いましょう。
ファッション通販ZOZOTOWN
ブランド古着の通販・買取 - ZOZOUSED


ユニクロと無印では店員さんが話しかけてくることはありませんので周りの目を気にせず買い物が出来ます。

ここで買うのは無地でシンプルなものを買いましょう。

目指す服装はこんな感じです。

http://d2kwcz501vadsp.cloudfront.net/p/news/wp-content/uploads/2015/09/11.jpg

絶対にこんなんは買わないで下さい。

f:id:fn09-wz7hagv7h7:20161026233031j:plain

ここで一番注意するのはサイズです。

基本的にオタクはダボダボの服を着る傾向にありますがダサいというか清潔感が低く見られるのでやめましょう。

サイズはいつも買ってるのよりワンサイズ小さいものを買いましょう。

上なら身長180cm以下ならブランドによって違いますがMサイズでも良いです。羽織るものよりTシャツのが丈が長くならないようには注意してください。

太ってるなどであまりにピチピチになるようだったら大きくして下さい。

ズボンに関してはベルトなしでもずり落ちないくらいでピチピチにならない程度のサイズです。

一通り買っても一万円くらいで手に入ると思います。

これで服を買いにいける装備が整いました。


大学生御用達ブランドを学ぶ

で?服はどこに買いに行けばいいんだ!!

そうですね。どこに行けばいいかわからないですね。

なのでまずは知識を蓄えましょう。

大学生御用達ブランドを学ぶことによって世の中にあるブランドが知ってる状態に引き上げられます。

学び方ですがこの方がスレを立てて解説してくれています。

blog.livedoor.jp

この解説の真偽はわからないんですが、知ったかぶりできるくらいの知識はつきますので3回は読みましょう。

ここから、自分のイメージと合いそうなブランドをいくつかメモっておきましょう。

個人的にはお値段的にもグローバルワーク、レイジブルー、チャオパニックあたりで買うといいのではと思います。



いざ買いに行かん

では学んだ知識を生かして街に繰り出して見ましょう。

いつもは気に留めなかった服屋が目に入ってくるようになっているでしょう。

まだまだセンスは磨かれていないので、安めのところでマネキン一式買いするといいと思います。

それか、街中でおしゃれな人を観察して似たようなファッションを先ほどの店で揃えて見て下さい。

再度忠告しますが、サイズだけは適切なものを選んで下さい。

しっかり試着して鏡などで見たりして気をつけないとダボダボの服を選んでしまいがちです。

服を買った後は徐々に自分らしさを高めていくのもよし、服はそこそこにアニメを見るのもよしです。

ゴルフ始めました

こんにちはfruteです。

なんとなくですがゴルフを始めました。

もともと興味はあったのと何かスポーツを始めたいという思いからやってみることにしました。

現時点の実力はゴルフクラブは持っていますが、人生で打ちっぱなしに行ったことが3回くらいというレベルです。

クラブの握り方も曖昧な程度の知識からスタートしていきたいと思います。

初心者がどのようにして上達していけるか記録していければと思ってます。

目標として半年で100切るという無謀な挑戦をしていきます。

目標設定に深い意味は無いのですが、なんとなくゴルフは100切るものだという認識があったので

とりあえず右も左もわからないので、

基本のゴルフレッスン―DVDでマスター!

基本のゴルフレッスン―DVDでマスター!

この本を買って勉強します。

また最低週1回は練習して目標に向けて頑張ります。