# 3000円以下で作れる自宅サーバー nanopi neo UBUNTU Linux # nanopi neoで自宅webサーバー 日本だと秋月電子通商から買えます。 ![nanopineo](./content/img/nanopi_neo_box.jpg) ![nanopineo](./content/img/nanopi_neo.jpg) マウスより小さいシングルボードコンピュータ 別途、マイクロSDカードを購入 (Class10) http://nanopi.io/nanopi-neo.html ## NanoPi NEO オフィシャルサイト ### ダウンロードサイト http://download.friendlyarm.com/nanopineo ![nanopineo_dl.png](./content/img/nanopineo_dl.png) official ROMs > nanopi-neo_sd_friendlycore-xenial_4.14_armhf_20190425.img.zip 最後の日付は、変わっていることがあります。 ### 解凍 アプリケーション > ユーティリティ > ターミナル OS付属のターミナル もしくは お使いのターミナルで。 ``` $ cd Downloads ダウンロードしたPATH&ファイル名で解凍 $ unzip nanopi-neo_sd_friendlycore-xenial_4.14_armhf_20190522.img.zip ``` ### imgファイルをマイクロSDに書き込む (macos Xの場合) Windowsの場合は、Win32DiskImagerなどの書き込みソフトをお使いください。  書き込み完了後は、macでもWindowsでも同じです。 ``` $ df ``` ``` /dev/disk2s1 60481536 4992 60476544 1% 0 0 100% /Volumes/NO NAME ``` SDカードの ポイントを探す 多くの方は /dev/disk2s1 でしょう。 #### unmountする ``` $ sudo diskutil unmount /dev/disk2s1 ``` /path/to/ はあなたの環境に書き換えてください。 ## SD へ書き込み開始 if= 書き込み元ファイル名 of= /dev/rdisk2 /dev/disk2s1 の場合は、 /dev/rdisk2 ``` sudo dd bs=1m if=/path/to/nanopi-neo_sd_friendlycore-xenial_4.14_armhf_20190425.img of=/dev/rdisk2 ``` 数分かかるので待ちましょう。 ## SDカードを取り出し SDカードを取り出し、nanopi neoにマイクロSDカードを挿し、LANケーブルを接続して起動。 # IPの確認作業 nanopi neoは、DHCPで起動いたします。 ``` $ arp -a コマンドやルーター管理画面 androidですと、 fing などのアプリで割り当てられたIPを探してください。 ``` ### nanopi neに接続 上で使ったターミナルより ``` ssh root@192.168.x.111 <== nanopi neo IP password: fa <== 初期値 ``` #### login画面 ``` _____ _ _ _ _____ _ _____ ____ | ___| __(_) ___ _ __ __| | |_ _| ____| | | ____/ ___| | |_ | '__| |/ _ \ '_ \ / _` | | | | | _| | | | _|| | | _|| | | | __/ | | | (_| | | |_| | |___| |___| |__| |___ |_| |_| |_|\___|_| |_|\__,_|_|\__, |_____|_____|_____\____| |___/ Welcome to Ubuntu 16.04.2 LTS 4.14.111 System load: 0.09 Up time: 5 min Local users: 2 Memory usage: 8 % of 493Mb IP: 192.168.x.xxx CPU temp: 31°C Usage of /: 2% of 27G * Documentation: http://wiki.friendlyarm.com/Ubuntu * Forum: http://www.friendlyarm.com/Forum/ ``` ### まずは アップデート ``` $ apt-get update $ apt-get upgrade -y ``` ``` *** issue.net (Y/I/N/O/D/Z) [default=N] ? Y ``` # 初期設定 ``` $ passwd root パスワード変更です。 セキュリティを考え16桁推奨 # passwd pi pi パスワード変更です。 セキュリティを考え16桁推奨 ``` ## IPアドレス固定 設定 ``` vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.x xxx <== nanopi neoのIP netmask 255.255.255.0 <== 自分のネット環境 netmask gateway 192.168.3.1 <== 自分のネット環境のgateway #auto lo #iface lo inet loopback ``` resolv.conf書き換える(削除&新規作成) ``` $ rm /etc/resolv.conf $ vi /etc/resolv.conf nameserver 192.168.x.xxx <== ルーターのIPもしくはプロバイダーから指定された参照DNSサーバーのIPアドレス ``` ## ここで 再起動 失敗すると、アクセスできなくなり、最初からやり直しになる可能性が大きいので、確認してから ``` $ reboot ``` # 再起動したらログイン ``` $ ssh root@192.168.x.xxx ``` # 私が作成した簡単インストーラー ``` mkdir -p /home/UBH/sh cd /home/UBH/sh wget http://jp2ubh.cqcqcq.info/server/repo/nanopineo/v0.1/first_Install_UBH.sh -O first_Install_UBH.sh wget http://jp2ubh.cqcqcq.info/server/repo/nanopineo/v0.1/add_domain_UBH.sh -O add_domain_UBH.sh chmod 700 *.sh ``` このコマンドをコピペしてターミナルに貼り付けてください ``` $ ls -la ``` ``` -rwx------ 1 root root 2302 Jun 30 02:25 add_domain_UBH.sh* -rwx------ 1 root root 2249 Jun 30 02:25 first_Install_UBH.sh* ``` 2つのファイルができていると思います。 # 自宅サーバー運用に必要なものをまとめてインストール ``` $ /home/UBH/sh/first_Install_UBH.sh jp2ubh.cqcqcq.info *** apache2 (Y/I/N/O/D/Z) [default=N] ? Y ----------------------------------------------- HOST ubh.cqcqcq.info IP 192.168.x.xxx Ubuntu 16.04.6 LTS \n \l ----------------------------------------------- この画面がエラーなく出たら設定成功です。 ``` jp2ubh.cqcqcq.info の箇所をfqdn方式で書き換えてください。 この場合、 サーバー名は、 jp2ubh.cqcqcq.info になります。 ## ドメイン追加 http://jp2ubh.cqcqcq.info の場合 ``` /home/UBH/sh/add_domain_UBH.sh cqcqcq.info password jp2ubh ``` ``` $ /home/UBH/sh/add_domain_UBH.sh ``` webブラウザから、nanopi neoのIPアドレスを叩いてみしょう。 ### 外部からアクセスさせる場合 ルーターの80ポートを、nanopi neoのIPへ NAT機能を使ってポートフォワード設定してください。 ## 内部からのアクセスは http://nanopi_neo_ip (192.168.x.xxx) ## 外部からのアクセスは http://jp2ubh.cqcqcq.info ## ルーター内部からも同じホスト名をシームレスな使い方 Unbound DNS 機能のあるルーターやオープンソースのルーター(OPNsense)などを使うと良いでしょう。 *まだ荒削りの紹介ですが、徐々にわかりやすくしていきます。 ## インストールしたもの ``` PHP 7.0.33-0ubuntu0.16.04.5 (cli) ( NTS ) with Zend OPcache Apache/2.4.18 (Ubuntu) ``` ## 終了したら消しておいてください ``` rm /home/UBH/sh/first_Install_UBH.sh ``` ## TimeZoneの変更 JSTへ ``` $ npi-config ``` ``` 4 Localisation Options ==> I2 Change Timezone ``` ![npi-config_1.png](./content/img/npi-config_1.png) ![npi-config_2.png](./content/img/npi-config_2.png)