script day.log

大学生がなんとなく始めた、趣味やら生活のことを記録していく。

ownCloudの構築

こんにちは。
テスト期間中なので、勉強しないといけないのですが、
どうもやる気が起きません。
そして今日のお話は、実は以前に組んだシステムのメモになります。

クラウドストレージ欲しい

はい、自前のクラウドストレージが欲しいです。
そう、覚えている方がいるかどうか怪しいので、
過去の記事を引用するので、思い出してください。

makose3p1229.hatenablog.com

そうです。サーバーを建てていましたね。
このサーバーはVPNだったり、Webだったり、
色々な機能を突っ込まれているのですが、
更にクラウドストレージを突っ込みます。
実際、保守の事を考えると分散するべきなのですが…
メインサーバーに仮想サーバーとかいいですねぇ。
せっかくのWindows Serverライセンスの持ち腐れ。
さぁ、落胆はこの辺にして、

なぜownCloud?

私が自前のクラウドストレージを作ろうと思ったとき、
思いついたのがownCloudだったから。
今ならNextCloudにする。

Let's 構築

構築環境としては、
ownCloud on nginx+PHP7+PHP-fpm+Let's Encrypt+ MariaDB
を想定してます。

今後、以下で紹介するコマンドが通らない場合、rootユーザで実行するか、
sudoコマンドを使うことで大抵は解決します(雑

普通に

yum install owncloud

しようと思っていたのですが、
パッケージを調べてみると、
「owncloud」と「owncloud-files」があるみたいで…
中身を見た感じ、
owncloud-files:owncloud単体
owncloud:Apache+PHPもインストールされるみたい。
MariaDBは入っていないみたいなので、
別インストールがおそらく必要。

ちなみに私はOSインストールの際に、MariaDBが入っているので
問題はなかったのですが…
最新バージョンが欲しい人はwgetして来ればいいと思うよ。

MariaDBのインストー

入れてない場合はインストールして。

$ yum -y install mariadb mariadb-server
$ rpm -qa | grep maria
mariadb-5.5.47-1.el7_2.x86_64
mariadb-server-5.5.47-1.el7_2.x86_64
mariadb-libs-5.5.47-1.el7_2.x86_64

my.cnfにて、文字コードの設定をしましょう。

[mysqld]
…
character-set-server=utf8
…

さあ、起動しましょう。

$ systemctl enable mariadb.service
$ systemctl start mariadb.service

MariaDBにowncloudユーザとデータベースを作成。

$ mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] ←空Enter
New password:   ←パスワード入力
Re-enter new password: ←パスワード入力
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] ←空Enter
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] ←空Enter
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] ←空Enter
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] ←空Enter
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

$ mysql -u root -p
Enter password: ←初期セットアップコマンドで決めたパスワードを入力
mysql> CREATE DATABASE owncloud;
mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud';
nginxをインストー
$ rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ yum -y update nginx-release-centos
$ yum -y --enablerepo=nginx install nginx
$ nginx -v
nginx version: nginx/1.8.1

CentOS7なので、間違えずnginx-release-centos-7-0.el7.ngx.noarch.rpm
リポジトリに追加し、インストール。

PHP7をインストー
$ yum install epel-release.noarch
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ yum install --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-devel php-fpm php-gd php-pdo php-dom php-mbstring php-mcrypt php-mysqlnd php-mssql php-pecl-xdebug php-openssl php-json php-pecl-apcu php-pdo_sqlite php-pdo_mysql php-pecl-memcached php-bcmath php-msgpack php-ldap php-pecl-imagick php-pgsql php-pecl-pthreads php-pecl-msgpack php-posix php-pecl-zip
nginxの設定 towards PHP-FPM(FastCGI)&ownCloud

/etc/php-fpm.d/www.confを以下のように変更。

sed -i -e 's/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm\/php-fpm.sock/' /etc/php-fpm.d/www.conf
sed -i -e 's/;listen.owner = nobody/listen.owner = nginx/' /etc/php-fpm.d/www.conf
sed -i -e 's/;listen.group = nobody/listen.group = nginx/' /etc/php-fpm.d/www.conf

とりあえず一時的な設定ファイルを書きます。

$ vi /etc/nginx/conf.d/cloud.conf
upstream php-handler {
  #server 127.0.0.1:9000;
  server unix:/var/run/php-fpm/php-fpm.sock;
}

server {
  listen 80;
  server_name cloud.example.com; #ここを自分のアドレスに変更

  # Path to the root of your installation
  root /usr/share/nginx/html/owncloud;
  # set max upload size
  client_max_body_size 10G;
  fastcgi_buffers 64 4K;

  # Disable gzip to avoid the removal of the ETag header
  gzip off;

  # Uncomment if your server is build with the ngx_pagespeed module
  # This module is currently not supported.
  #pagespeed off;

  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
  rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

  index index.php;
  error_page 403 /core/templates/403.php;
  error_page 404 /core/templates/404.php;

  location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
  }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
    deny all;
  }

  location / {
    # The following 2 rules are only needed with webfinger
    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
    rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

    try_files $uri $uri/ /index.php;
  }

  location ~ \.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTPS on;
    fastcgi_pass php-handler;
  }

  # Optional: set long EXPIRES header on static assets
  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    # Optional: Don't log access to assets
    access_log off;
  }
}

サービスの起動と自動起動設定。

$ systemctl start php-fpm
$ systemctl start nginx
$ systemctl enable php-fpm
$ systemctl enable nginx
さあ、owncloud本体のインストー
$ wget http://download.owncloud.org/download/repositories/9.0/CentOS_7/ce:9.0.repo -O /etc/yum.repos.d/ce:9.0.repo
$ yum --installroot=/usr/share/nginx/html
$ chown -R nginx /usr/share/nginx/html/owncloud

or

$ curl -O 'https://download.owncloud.org/community/owncloud-9.0.1.zip'
$ unzip owncloud-9.0.1.zip
$ rm -f owncloud-9.0.1.zip
$ mv owncloud/ /usr/share/nginx/html/
$ chown -R nginx /usr/share/nginx/html/owncloud

さあ、あとはSSL証明書を発行して、設定し直して終了。

Let's Encryptで証明書発行

gitが入っていなければ

$ yum list installed git
# if don't exist
$ yum -y install git

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/
$ ./letsencrypt-auto --help

# -d でドメインを指定してください(単数、複数可)。
# -m でメールアドレス設定可(省略可)
$ ./letsencrypt-auto certonly --standalone -d cloud.example.com -d cloud1.example.com -m 自分のメールアドレス --agree-tos

セットアップ終了後

$ ls -l /etc/letsencrypt/live/cloud.example.com/

を実行して、生成した鍵が表示されれば問題なしです。

nginxの設定 towards HTTP/2

脆弱性のためにも古い形式の通信は断ち切りましょう。

$ vi /etc/nginx/conf.d/cloud.conf
upstream php-handler {
  #server 127.0.0.1:9000;
  server unix:/var/run/php-fpm/php-fpm.sock;
}

server {
  listen 80;
  server_name cloud.example.com; #ここを自分のアドレスに変更
  # enforce https
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;
  server_name cloud.example.com;

  ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !DH !aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED';
  ssl_session_cache    shared:SSL:10m;
  ssl_session_timeout  10m;

  # Path to the root of your installation
  root /usr/share/nginx/html/owncloud;
  # set max upload size
  client_max_body_size 10G;
  fastcgi_buffers 64 4K;

  # Disable gzip to avoid the removal of the ETag header
  gzip off;

  # Uncomment if your server is build with the ngx_pagespeed module
  # This module is currently not supported.
  #pagespeed off;

  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
  rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

  index index.php;
  error_page 403 /core/templates/403.php;
  error_page 404 /core/templates/404.php;

  location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
  }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
    deny all;
  }

  location / {
    # The following 2 rules are only needed with webfinger
    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
    rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

    try_files $uri $uri/ /index.php;
  }

  location ~ \.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTPS on;
    fastcgi_pass php-handler;
  }

  # Optional: set long EXPIRES header on static assets
  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    # Optional: Don't log access to assets
    access_log off;
  }
}
$ systemctl restart nginx

ブラウザのアドレスバー横に緑色で証明書が信頼されていますという表示になっていて、
かつページが正常に表示されていればOKです。
ただ証明書の有効期限が3ヶ月と短いので、自動更新を設定されることを
おすすめします。

makose3p1229.hatenablog.com
makose3p1229.hatenablog.com

SSL評価をもっとあげたい場合は、ssl_dhparamや
HSTSヘッダを追加してあげると良いと思います。

評価サイトの紹介
www.ssllabs.com

最後に

よいクラウドライフを!

ssh公開鍵認証の実装

事の発端

自宅サーバーにssh接続しようと思い、
設定した?のでメモする。

Let's 実装

鍵の実装
$ ssh-keygen -t rsa
Enter file in which to save the key:id_rsa
Enter passphrase (empty for no passphrase):

実行後、カレントディレクトリに
秘密鍵と公開鍵が生成されます。
拡張子にpubがある方がpublicだよ。

公開鍵の配置
$ mv id_rsa.pub ~/.ssh 
$ cd ~/.ssh
#if exist authorized_keys
$ cat id_rsa.pub >> authorized_keys
$ rm id_rsa.pub
#else
$ mv id_rsa.pub authorized_keys

$ chmod 600 authorized_keys
秘密鍵の配置

秘密鍵をホストマシンの分かりやすい場所に置く。
セキュリティ的に、パーミッションを600へ。

$ chmod 600 id_rsa
疎通確認

ホストマシンにて

$ ssh -l [ユーザ名] -i [秘密鍵のパス] [接続先サーバのホスト名]

パスフレーズは設定したものを入力してください。
無事にSSH接続出来れば完了です。

More Easy SSH

.ssh/config 書きましょうって話です。

Host hoge
HostNama hoge.com( or 192.168.1.1 or etc..(
User hoge
Port ポート番号 #必要なら
IdentityFile 秘密鍵へのPATH(ex.~/.ssh/id_rsa)

これを記述すれば、以下のようにSSH接続できます。

ssh hoge

これでComplete!

New NoteBook💻

新しいノートパソコンを買いました。

f:id:makose3p1229:20170703220112j:plain

主要スペックとしては以下の通り。
ThinkPad E470
OS:windows10Home
メモリ:16GB
CPU:i7-7500U
GPU:GeForce940MX
SSD:256GB

指紋センサーとかつけたりしましたよ。
windows helloはいいね。
PINだったり、生体認証システムは最高です。

届いてからすぐに、
win10Home→win10educationへアップグレードしました。

色々セットアップをして、完了です。

いろいろな角度から

f:id:makose3p1229:20170703220238j:plain

f:id:makose3p1229:20170703220125j:plain

f:id:makose3p1229:20170703220132j:plain

これで外出しても、色々できますね。
ある程度使ったら、レビュー書く予定です。


本当はX1CarbonとかT470Sが欲しかったなんて言えない。

梅雨の晴れ間に🚗

金曜日の全休デーをうまく活用して、
いつもの友人と道の駅めぐりに行きました。
目的はドライブとランチです♪

クラフトの里へ

MAP🚩

ランチで食べる予定のお店は双海の方にあるのですが、
早めに準備が整ったので、早めに出発しました。
ところが、前日から朝にかけて雨が振り、
ドライブ始めは雨がポツポツしていました。
このまま雨で、路面も濡れてるのかな?なんて
心配をしていたのですが、国道56号線を伊予方面へ
走っていると、だんだん晴れてきて良かったです😊

無事到着して、何か買うわけでもなく、
クルマを降りるなり、2人ともトイレへGO!
トイレにはツバメが巣を作っていました。
そして、次の目的地に向けて出発する前に、
1枚写真を撮りました。

PHOTO📷
f:id:makose3p1229:20170630215637j:plain



道の駅内子フレッシュパークからりへ

MAP🚩

クラフトの里でトイレ休憩をしたあとは、
友人が道の駅内子フレッシュパークからりに
行ったことがない私のために、行こうと言ってくれたので、
付いて行きました。からりに行く道中は、雨が上がって、
晴れ間も見え、湿気がすごかったです💦
無事着いて、写真撮影&自然を感じに行きました。
前日の雨の所為か、川はあまりきれいではなかったのですが、
自然はしっかり感じることが出来ましたよ。
キャンプとか出来るみたいですね。
ただ、暑かったこともあり、すぐにクルマに戻って、
ご飯を食べに行こうとなりました。

PHOTO📷
f:id:makose3p1229:20170630220716j:plain

f:id:makose3p1229:20170630220739j:plain



ラ・メールにてランチ🍴

MAP🚩

ぐるーっとまわって、夕やけこやけラインの
途中にある喫茶店に入り、ランチです。
友人のオススメでした。
私はミートソース、友人はバジリコを食べたのですが、
料理の写真は撮り損ねました。
気づいたら食べてましたね…
ミートソース美味しかったです。
代わりに、店内の風景をお届けします。
この店内から見た海岸線が晴れ間によって、
物凄く爽やかに写っていたのですが、そこに
アクアが通り過ぎたときは"これぞ爽やか!"って感じでした。
街乗りで見るアクアとは違って見えました。

PHOTO📷
f:id:makose3p1229:20170630221742j:plain

f:id:makose3p1229:20170630221806j:plain



おなじみの道の駅 ふたみ ふたみシーサイド公園

ご飯を食べ、出発した私達ですが、
せっかく近くに来たので、寄っていこうってことで、
毎度おなじみふたみシーサイド公園です♪
クルマを止め、写真撮って終了です。
ただ、筑豊ナンバーのFITがいて、
珍しいナンバーが居るものだなぁと思いました。
ここからはお家へノンストップで帰りました。
友人はDへ、オイル交換しに行きました。

PHOTO📷
f:id:makose3p1229:20170630222250j:plain

f:id:makose3p1229:20170630222312j:plain




乗り換えました

f:id:makose3p1229:20170630222448j:plain

いや、冗談です。
友人がDでオイル交換している間に、
試乗車を借りてきたので、しかも乗せてくれるということで、
喜んで横乗りしました。なんと1時間も!!!

観光港の公園で写真撮影会をして、
Dへ向かっていきました。
運転している間、ずーっと友人は、
"いいなぁー、これ。楽しいなぁ。くれんかなぁ?"
なんて言ってました。横に乗っているだけでも
楽しかったのですが、やはりドライバーには敵わないね。
まあ、MTはたまにでいいという友人にとっては、
1時間の運転が筋トレだと言ってました。

PHOTO📷
f:id:makose3p1229:20170630223157j:plain

f:id:makose3p1229:20170630223221j:plain

f:id:makose3p1229:20170630223245j:plain



次は県外に行きたいなぁ…

Emacs25.2 へ

Emacs25.2が2017/4/21にリリースされましたので、
今頃(6/22)になって、アップグレードしましたよ。
ビビって、インストールしなかったんじゃないんだからねっ!

さあ、アップグレード

私はDebianを使っているのですが、普通にaptで
パッケージインストールしようとすると、
Emacs24かEmacs25.1までしか入らないので、
ソースビルドしてインストールします。

$ wget http://public.p-knowledge.co.jp/gnu-mirror/emacs/emacs-25.2.tar.xz
$ unar emacs-25.2.tar.xz
$ cd emacs-25.2.tar.xz
$ ./configure --with-x-toolkit=gtk3 --with-sound=no --with-x --with-xwidgets

ココで私の場合、libpng12.so.0とlibgif4が無いと怒られたので、
これらをインストールしてから、再び挑戦します。
しかし、aptインストールしようとしても、パッケージが見つからず、
???ってなっていたのですが、Debian stretchのパッケージを見てみると、
なんとパッケージがありませんでした。
前回、stretchのパッケージのみに設定していましたので、
(/etc/apt/source.list)
これを編集して、jessieのパッケージからも
インストール出来るように設定します。
編集の仕方は前回を参考に…

makose3p1229.hatenablog.com

$ apt update
$ sudo apt install libpng12-0
$ sudo apt install libgif4
$ ./configure --with-x-toolkit=gtk3 --with-sound=no --with-x --with-xwidgets
$ make
$ sudo make install
$ sudo reboot //一応再起動
$ emacs --version
GNU Emacs 25.2.1
…

$ emacs

起動しようとすると、"Could not create connection emacswiki 443" のようなメッセージが出てきた
emacswiki関係にアクセスしてるのはauto-installかpackageぐらいなので、とりあえずviで設定する。
私の場合は "(auto-install-update-emacswiki-package-name t)" をコメントアウトで解決。
しかし、この後package listをアップデートしようとしたら、"Could not create connection marmalade-repo.org 443"
のようにmarmaladeも繋げないと怒られ、フリーズ。
原因はmarmaladeの証明書切れっぽい?
とりあえずの対策として、以下のようにmarmaladeのパッケージにアクセスしないようにコメントアウト。

(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
                         ;; ("marmalade" . "https://marmalade-repo.org/packages/")
                         ("melpa" . "https://melpa.org/packages/")))

一応これで動きました。

最後まで読んでくれたあなたへ

marmalade関係で解決している方はアドバイスいただけると助かります。

Debian バージョンアップ(8.8→9.0)

久し振りに技術ブログっぽいことをします。
タイトルの通り、6月17日にDebian 9 "Stretch" がリリースされたので、
ユーザーとしてはアップグレードしなければならない(謎の使命感)

私が行った手順は以下の通り。
途中省略している部分もある。

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.8 (jessie)
Release:	8.8
Codename:	jessie

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade

$ sudo reboot

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

$ sudo vi /etc/apt/sources.list
  jessie→stretch

sample output
deb http://httpredir.debian.org/debian          stretch  main contrib 
deb http://security.debian.org/ stretch/updates main

$ sudo apt-get update

$ sudo apt list --upgradable

$ sudo apt upgrade
$ sudo apt dist-upgrade

$ sudo apt autoclean
$ sudo apt autoremove

$ sudo reboot
$ lsb_release -a
:No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.0 (stretch)
Release:	9.0
Codename:	stretch

とある平日の過ごし方

先週の金曜日は授業スケジュールの
予定で全休でしたので、
ドライブへ行ってきました🚗

道の駅八幡浜みなっとへ

行きは山を登り、帰りは海沿いのいつも通りです♪

平日の昼前に出発したので、そこまで渋滞に捕まることもなく、気持ちよく走っていると、
気付けば西予市まで行っていました。少し行き過ぎました💦

f:id:makose3p1229:20170618221103j:plain

道の駅に着くと、お昼だったので、駐車して、
すぐにご飯へGO!

「どーや食堂」で海鮮丼(並)をいただきました。
土日はお客さんが多いらしいので、平日に来たのですが、
お昼時ぴったりだったせいか、結構お客さんが多かったです。
非常に美味しかったです😊
オススメです。

f:id:makose3p1229:20170618221125j:plain

帰りは海沿いを走って、休憩にふたみシーサイドパークに寄りました。

f:id:makose3p1229:20170618221718j:plain

そこで、私は抹茶バニラを食べました。
夕焼けというオレンジ味もあったのですが、抹茶が自分の脳内では優勢でした。
外でベンチに座って、食べながら、前にココに来たときの話をしてました。
すると、上から声が聞こえてくるので、上を見てみると、人が飛んでいました(語弊)。

f:id:makose3p1229:20170618221747j:plain

行きが順調だったため、思いの外、時間が余ったので観光港の方へ行き、
更に免許センターの方まで、海沿いを走って、ぐるーっと走って、ご帰宅でした。

最近感じていること

割りとMR-Sの燃費が良い気がする…