初期設定

HDMIモニタとマウス・キーボードをつないでXから設定する。

無線LANを設定
SSHが無効なので設定からSSHを有効にする。

ユーザの設定

ここからTeratermのSSHでpiユーザでログオンします。そのままXLTerminalでもOK
通常使うユーザpiadminを作成しsudoできるようにします。
その後、piをsudoできないようにします。
$adduser piadmin
$sudo nano /etc/sudoers
#pi ALL=(ALL) NOPASSWD: ALL コメントにします
piadmin ALL=(ALL) NOPASSWD: ALL 追記します

最低限のセキュリティ設定

デフォルトユーザpiのパスワードを変更します。
また、rootにはパスワードが設定されていないので誰でもrootアクセスできてしまいます。
そこでrootのパスワードを設定します
$sudo passwd pi
$sudo passwd root

ssh認証を公開鍵認証にする

teratermの「設定」-「SSH鍵生成」 生成ボタンを押す
鍵のパスフレーズとフレーズの確認を入力後、鍵を保存
生成


left

公開鍵を保存、秘密鍵はパスフレーズを入れて保存

left


teratermの「ファイル」-「SSH SCP」を使い、公開鍵id_rsa.pubを転送する。

left

ラズベリーパイに公開鍵を設定する。
$sudo mv ./id_rsa.pub ~/.ssh/authorized_keys
$sudo chmod 600 ~/.ssh/authorized_keys
teratermで秘密鍵を使ってSSH接続を確認。(鍵を作成したパスフレーズが必要)

秘密鍵で接続

teratermで秘密鍵を使ってSSH接続を確認。(鍵を作成したパスフレーズが必要)

left

Teratermショートカットの修正

ショートカットを編集してワンクリックで接続できるようにする。
"C:\Program Files (x86)\teraterm\ttermpro.exe" 192.168.11.** /ssh2 /auth=publickey /user=ユーザ名 /passwd=パスワード /keyfile=フォルダフルパス\id_rsa

自動ログインユーザの変更

デフォルトのpiから新規ユーザに変更します。
$sudo nano /etc/lightdm/lightdm.conf
50行付近
[SeatDefaults]
#autologin-guest=false
autologin-user=piadmin   ここを変更
#autologin-user-timeout=0

グループへの追加

$sudo gpasswd -a ユーザ グループ

OSのアップグレード

sudo apt-get update
$sudo apt-get upgrade

OSのバージョン等の表示

lsb_release -a


web関連のインストール(この記事は古い)

webサーバの基本モジュールを一気にインストールします。
$sudo apt-get install apache2
$sudo apt-get install php5
$sudo apt-get install mysql-server
$sudo apt-get install php5-gd
apacheの再起動 sudo /etc/init.d/apache2 restart

PHPの確認

/ver/www/html にphp確認用ファイルinfo.phpを作成して保存

$sudo nano /var/www/info.php
       
phpinfo
ブラウザで確認

vftpdのインストール

外からファイルを転送できるようにftpを設定します。
また、ルートをApacheの公開フォルダ/var/www/htmlにします。
$sudo apt-get install vsftpd
$sudo nano /etc/vsftpd.conf
anonymous_enable=NOコメントを外す
chroot_list_file=/etc/vsftpd.chroot_listコメントを外す
write_enable=YES
user_config_dir=/etc/vsftpd_user_conf追加
$sudo nano vsftpd.chroot.list新規作成
piadmin
$sudo mkdir vsftpd_user_conf
$sudo nano vsftpd_user_conf/piadmin新規作成
local_root=/var/www/html
vsftpdの再起動      
$sudo service vsftpd restart

ついでにsambaもインストール

$sudo apt-get install samba
 設定ファイルを編集します。
$sudo nano /etc/samba/smb.conf   最下行に以下を追加
[share]
path=/home/piadmin/
readonly=no
browsable=yes
guestok = yes
force user = piadmin
sambaの再起動
$ sudo service smbd restart

ファームウェアのアップデート

$sudo rpi-update

時刻合わせ NTPの設定

$ sudo nano /etc/ntp.conf
# (変更箇所のみ記載)
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst
NTPデーモンの再起動  
$ sudo service ntp restart
NTP動作状況の確認  
$ ntpq -p
タイムゾーンの変更  
$ sudo timedatectl set-timezone Asia/Tokyo
sudo apt-get install ntpdate

Apacheより高速だといわれるnginxとffmpegも一緒にインストール

$sudo apt update
$sudo apt install nginx php-fpm libnginx-mod-rtmp apache2-utils ffmpeg
/etc/nginx/sites-available/defaultを編集
$sudo nano /etc/nginx/sites-available/default
# 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/fpm/php7.3-fpm.sock;
#   # With php-cgi (or other tcp sockets):
#   fastcgi_pass 127.0.0.1:9000;
}
defaultファイルのチェック
$sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
php.infoを一行編集
$sudo nano /etc/php/7.3/fpm/php.ini
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
 792 ; http://php.net/cgi.fix-pathinfo
 793 cgi.fix_pathinfo=0

PythonのデフォルトをPython3に変更する

$sudo unlink python
$sudo ln -s python3 python