アメグラ2号のブログ

1980年代後半の古き良きビデオゲームのほか、オッサンの個人的備忘録

ラズパイゼロ 小型サーバーにする手順

ラズパイゼロを小型サーバーにする手順を整理しておく。

f:id:game-allergy:20210506143923j:plain

◆ラズパイOS
・RaspberryPi imagerによりOS書き込み

・SDカード内に、wifi設定ファイルを入れる
・SDカード内に、sshファイルを置く

 

◆.ssh\known_hostsの事前確認
C:\Users\*****\.ssh\known_hosts
古い情報のフィンガープリントが残っている場合は競合してしまっているので、
古い情報を削除する。

 

◆ラズパイにssh接続
>ssh pi@raspberrypi.local
※初期パスワード:raspberry
初回はこれで接続

 

◆固定IP設定
$ sudo nano /etc/dhcpcd.conf

以下を追記する。
------------------------------------------------
interface wlan0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=219.110.4.80
------------------------------------------------

…100のところは任意に(200までかな?)
デフォルトゲートウェイのIPアドレス
…DNSサーバーのIPアドレス

ttp://192.168.0.100/で公開(固定IP)になる

◆raspi-config
localizationやっとく

◆raspi-config
hostname, passwordやっとく

◆アップデート
sudo apt-get update
sudo apt full-upgrade

 

◆nginxインストール

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

 

◆htmlの確認
sudo nano /var/www/html/index.html
------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>

<body>
Test Hello World from nginx
</body>
</html>
------------------------------------------------

ブラウザへのアドレス入力
/var/www/html/index.htmlは、ttp://192.168.0.100/index.html

 

phpのインストール
sudo apt install php7.3-fpm

 

◆nginxのphp設定ファイル
------------------------------------------------
sudo nano /etc/nginx/sites-available/default

・index.phpの追記
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;

・#を削除してコメント解除
location ~ \.php$ {
include snippets/fastcgi-php.conf;

# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
------------------------------------------------
・リブート
sudo systemctl restart php7.3-fpm
sudo systemctl restart nginx

 

phpの設定ファイル
------------------------------------------------
sudo nano /etc/php/7.3/fpm/php.ini

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0
------------------------------------------------
・リブート
sudo systemctl restart php7.3-fpm
sudo systemctl restart nginx

 

phpの表示確認
------------------------------------------------
sudo nano /var/www/html/test.php

<?php
phpinfo();
?>
------------------------------------------------
下記へアクセスしてページ表示されればOK
ttp://192.168.0.200/test.php

※グーグルキャッシュではまることあり
設定からオールクリア

 

◆web公開用ページの設定
sudo mkdir -p /var/www/html/weather/fig

パーミッション変更
sudo chmod 777 /var/www/html/weather

WinSCPで、表示用phpファイルを置く
/var/www/html/weather/index.php

phpスクリプトは長くなるので割愛

スタイルシートを設置(任意)
index.phpと同じディレクトリ内に配置

 

◆pipの入れ替え
◆まずは古いpipの削除(入れてなければ次へ)
apt-get remove python-pip

◆python3,pipインストール
・Python3の開発用パッケージをインストール
~$ sudo apt-get -y install python3-dev

・Python3のpipをインストール
~$ sudo apt-get -y install python3-pip

◆チェック
pi@raspberrypi:~ $ pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

 

あとは、都度必要なモジュールをインストール。

あ、次回はpipでしっかり管理したいなぁ。。。。

今回installがぐちゃぐちゃだし。。。