5.Raspbian-Server製作3
5-1検討経過
主に下記のような検討をしてきたが、いろいろな所で問題が発生し、解決できずに行き詰った。
問題点の主な点は、
①RaspberryPi 3B + USB-HDD(3TB) CentOS7(armhfp用) 再起動時にHDDからの起動ができない。
②RaspberryPi 3B + USB-HDD化した内蔵HDD(40GB) HDDからの起動に変更できない。
③RaspberryPi 3B + USB-HDD(3TB) Raspbian(Stretch) WordPressを導入・仕様。外部公開で画像がうまく表示しない。
SSLリダイレクトが正しく機能しない。
④RaspberryPi 3B + USB-HDD(3TB) Raspbian(Jessie) ③と同様。従来のhttml文でのWebページの公開を実施。
現状成功している部分に関して整理しておく。
6.目標(まとめ)
・サーバーの種類:WebServer、FileServer、DatabaseServerを共存させる。
・USB-HDD:上記のサーバーを共存させ、HDDは当面三分割して使う。
・Database用 ・FileServer用(NAS) ・予備
*********************************************************************
RaspberryPi 3B + USB-HDD(3TB)--Raspbian--のサーバー化
*参考記事
Raspberry Pi3のApacheにSSL環境を導入する
http://itemy.net/?p=1052
RaspberryPiで快適コンピュータライフ(NAS構築偏) (Qiita @3no3_twの投稿)
§ Raspberry Pi 3 Model Bに「Raspbian Stretch」をインストールしてみた
Ⅴ. LAMPのインストール(Raspberry Pi3 + Raspbian Stretch編)
http://marchan.e5.valueserver.jp/cabin/comp/jbox/arc112/doc11205.html
1.システム構成
RaspberryPi 3B OS:2017-07-05-raspbian-jessie-img
USB-HDD HD-LDU3(3TB)
2.RaspberryPiの準備
・上記OS・ssh(txtファイル)を書き込んだmicroSDCard 32GBをRaspberryPiにセット。
・下記の設定を実行
Network HostName,WiFi …web1,logitec52
Localization 言語,TimeZone
Interface SSH,VNC
IP固定化 eth0:192.168.0.80 wan0:192.168.0.81 (/etc/dhcpcd.conf、/etc/wpa_supplicant/wpa_supplicant.conf)
user,password:pi tako3212
root 3212tako7653
takasan 7653taka
以上の後、sudo reboot
3.パッケージのアップデート、ファームウェアのアップデート
pi@web1:~ $ sudo apt-get update
pi@web1:~ $ sudo apt-get upgrade
pi@web1:~ $ sudo rpi-update
以上の後、sudo reboot
4.microSDcardのメモリ域の拡張確認(2019.8.19最終現状の状況)…メモリ領域が全て使用可能になっているか?
pi@web1:~ $ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 15G 4.6G 9.0G 34% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 13M 451M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 23M 19M 55% /boot
tmpfs 93M 0 93M 0% /run/user/1000
/dev/sda2 916G 77M 870G 1% /mnt/HD-LCU3-2
/dev/sda1 1.4T 7.3G 1.3T 1% /mnt/HD-LCU3-1
tmpfs 93M 0 93M 0% /run/user/1001
5.Webサーバーの作成
*Webページを公開するためのネットワーク関連の準備は、下記の点を完了済み
・ドメイン取得 tfujiwara.work お名前.comで取得
・DDNS設定 お名前.comのサーバーで設定
・ポート開放 80 443
5-1Apache2インストール
pi@web1:~ $ sudo apt-get install apache2
5-2Apache2の動作確認
ブラウザでRaspberryPiのIPアドレスにアクセス。…"Apache2 Debian Default Page"を表示
スマホ4Gモードのブラウザで、http://tfujiwara.workにアクセス。…"Apache2 Debian Default Page"を表示
5-3/var/www/htmlのパーミッション変更
root以外のユーザーでも書き込み可能にする。 755→777
pi@web1:/var/www $ sudo chmod 777 html/
6.WebSerberのセキュリティ…WebページのSSL化
6-1WebページのSSL化…Let's Encryptの利用
6-1-1 証明書取得クライアントのインストール
pi@web1:~ $ sudo apt-get install git
pi@web1:~ $ cd /usr/share
pi@web1:/usr/share $ sudo git clone https://github.com/certbot/certbot
pi@web1:/usr/share $ cd certbot
pi@web1:/usr/share/certbot $ ./certbot-auto
*python絡みのパッケージが色々インストールされるようだ。
以下この端末にSSL対策のためのクライアントを導入する過程。
Installing Python packages... ここで結構時間かかる
Installation succeeded.
/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py:163: CryptographyDeprecationWarning: OpenSSL version 1.0.1 is no longer supported by the OpenSSL project,please upgrade. A future version of cryptography will drop support for it.
utils.CryptographyDeprecationWarning
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): tfujiwara@zeus.eonet.ne.jp
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
(以下省略)
IMPORTANT NOTES: 下記のような文が表示され、SSL証明用のファイルができる
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/tfujiwara.work/fullchain.pem
Your key file has been saved at:
(以下省略)
6-1-2 証明書の取得
pi@web1:~ $ sudo service apache2 stop
pi@web1:/usr/share/certbot $ ./certbot-auto certonly --standalone -d tfujiwara.work -m tfujiwara@zeus.eonet.ne.jp --agree-tos
*IMPORTANT NOTES: 以下の表示が出たので、証明書は発行されたと思える。
(以下省略)
*証明書は、
/etc/letsencrypt/live/tfujiwara.work/fullchain.pem
/etc/letsencrypt/live/tfujiwara.work/privkey.pem
6-2Apacheの設定
6-2-1Apacheのvirsion確認 pi@web1:~ $ apache2 -v
Server version: Apache/2.4.10 (Raspbian)
6-2-2default-ssl.confに追記
pi@web1:~ $ sudo nano /etc/apache2/sites-available/default-ssl.conf
SSLEngine on
(隠す) #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
(隠す) #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
(追記) SSLCertificateFile /etc/letsencrypt/live/tfujiwara.work/fullchain.pem
(追記) SSLCertificateKeyFile /etc/letsencrypt/live/tfujiwara.work/privkey.pem
6-2-3Apache2でSSLの有効設定の反映
pi@web1:~ $ sudo a2ensite default-ssl
pi@web1:~ $ sudo a2enmod ssl
pi@web1:~ $ systemctl restart apache2
pi@web1:~ $ sudo reboot
6-3証明書の確認
ブラウザでサイトにhttpsでアクセスし、証明書を確認する。
・ローカルネット内 https://(ローカルIPアドレス)
・インターネット空間(無料WiFiスポットなど) https://tfujiwara.work
ローカルからネット空間同等を実行するならスマホを4G回線にしてテストするのが早い。
7.WebSerberのセキュリティ…WebページのSSL化、リダイレクト
http://tfujiwara.workへのアクセスをhttps://tfujiwara.workへ変更させる。
7-1/var/www/html/.htacessを作成し、下記を記入
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
*リダイレクトの検討で、正しく動作しなかったのは、.htacessの記載内容・ファイルの存在場所、
port443が開放されてなかった、などが原因と思われる。
7-2Webページデータの配置
ホームページV4を使用し、以前公開していた"laotourの離れ"を再編集した"laotourの離れ2"を作成し、
データを/var/www/html/に送信し、公開する。
8.アプリケーションの追加インストール
当面は使用しないが、Database関連で、下記をインストールしておく。
pi@web1:~ $ sudo apt-get install php5
pi@web1:~ $ sudo apt-get install mysql-server phpmyadmin
9.USB-HDDの準備
NASとして利用、将来Databaseサーバとしても利用するため、USB-HDDは当面3分割して使用する。
・Database用 約1.0TB ・FileServer用(NAS) 約1.5TB ・予備 約0.5TB
9-1現状のストレージ構成
pi@web1:~ $ sudo fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 93596 85405 41.7M c W95 FAT32 (LBA)
/dev/mmcblk0p2 94208 30375935 30281728 14.5G 83 Linux
Disk /dev/sda: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1ACFB32A-79C3-435E-9235-D2B2AE3D320A
Device Start End Sectors Size Type
/dev/sda1 2048 5860533134 5860531087 2.7T Linux filesystem
*HDDに関しては、パーティションを切らずにext4フォーマットの様である。
9-2パーティション作成
pi@web1:~ $ sudo fdisk /dev/sda
最終結果として
Device Start End Sectors Size Type
/dev/sda1 2048 2930266112 2930264065 1.4T Linux filesystem …NAS用
/dev/sda2 2930268160 4883776853 1953508694 931.5G Linux filesystem …Database用
/dev/sda3 4883777536 5860533134 976755599 465.8G Linux swap …予備
9-3ディスクフォーマット(sda1、sda2)…共にext4フォーマット
pi@web1:~ $ sudo mkfs -t ext4 /dev/sda1
pi@web1:~ $ sudo mkfs -t ext4 /dev/sda2
9-4UUID確認
pi@web1:~ $ sudo blkid
/dev/mmcblk0p1: LABEL="boot" UUID="3AFB-2896" TYPE="vfat" PARTUUID="097c5dfa-01"
/dev/mmcblk0p2: UUID="62ca0b6d-6291-4c40-b1fd-11bc291e4a38" TYPE="ext4" PARTUUID="097c5dfa-02"
/dev/sda1: UUID="68f1b1a7-855f-474d-825d-1beebf52aa2a" TYPE="ext4" PARTUUID="36795981-c17c-4b31-93f3-13661ef73b81"
/dev/sda2: UUID="978ba2ff-6c6b-4e3f-b5da-51c1585eb239" TYPE="ext4" PARTUUID="49c48feb-4ac6-45a7-9545-24eec3b38007"
/dev/mmcblk0: PTUUID="097c5dfa" PTTYPE="dos"
/dev/sda3: PARTUUID="b1f2f313-03fe-4d90-aaa1-af9d45b635a3"
10.ファイルサーバー(NAS)の作成
10-1HDD接続とマウント確認
10-1-1マウントポイント作成、ポインタは、誰でも読み書き可能とする。
pi@web1:~ $ sudo mkdir /mnt/HD-LCU3-1
pi@web1:~ $ sudo chmod 777 /mnt/HD-LCU3-1
pi@web1:~ $ sudo mkdir /mnt/HD-LCU3-2
pi@web1:~ $ sudo chmod 777 /mnt/HD-LCU3-1
10-1-2fstabへ追記
pi@web1:~ $ sudo nano /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=fade97a8-01 /boot vfat defaults 0 2
PARTUUID=fade97a8-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
UUID=68f1b1a7-855f-474d-825d-1beebf52aa2a /mnt/HD-LCU3-1 ext4 defaults,nofail 0 0 …追記
UUID=978ba2ff-6c6b-4e3f-b5da-51c1585eb239 /mnt/HD-LCU3-2 ext4 defaults,nofail 0 0 …追記
10-1-3HDDのマウント
pi@web1:~ $ sudo mount -t ext4 /dev/sda1
pi@web1:~ $ sudo mount -t ext4 /dev/sda2
10-1-4マウントの確認…OKの場合、システム再起動
pi@web1:~ $ sudo mount -a
pi@web1:~ $ sudo umount /dev/sda1
pi@web1:~ $ sudo umount /dev/sda2
pi@web1:~ $ sudo reboot
10-1-5システム再起動後の自動マウント確認
pi@web1:~ $ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 15G 4.6G 9.0G 34% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 6.4M 457M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 23M 19M 55% /boot
/dev/sda2 916G 77M 870G 1% /mnt/HD-LCU3-2
/dev/sda1 1.4T 77M 1.3T 1% /mnt/HD-LCU3-1
tmpfs 93M 0 93M 0% /run/user/1000
10-1-6Sambaインストール
pi@web1:~ $ sudo apt-get install samba
10-1-7Sambaの設定…変更前のconfファイルは保存
pi@web1:~ $ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org
pi@web1:~ $ sudo nano /etc/samba/smb.conf 最後尾に追記
[global]
workgroup = WORKGROUP
interfaces = 192.168.0. 127.0.0.0/8 eth0
bind interfaces only = yes
hosts allow = 192.168.0.
max log size = 100
security = user
[nas2]
comment = NAS2
path = /mnt/HD-LCU3-1
public = yes
read only = no
browsable = yes
force user = takasan
10-1-8Sambaの起動
pi@web1:~ $ sudo /etc/init.d/samba restart
[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.
[ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.
10-1-9Windows10のExplolorからアクセステスト
ネットワークで\\192.168.0.80にアクセス
テキストファイルの双方向コピーに成功(Winndows⇔NAS)