映像檔下載
請到官網下載 Raspbin, 選擇 Raspbian Buster Lite, 將下載的zip檔解壓縮
製作sdcard
下載 balena, 選取sdcard位置及映像檔後, 即可開始flash
安裝注意事項
更改密碼 : 密碼更改後, 還是可以自動登入
The screen show a black border around the desktop 打勾, 下次開機就可以全螢幕了
畫面大小
偏好設定->screen configuration, 再更改為 192*1080
偏好設定->外觀設定->預設, 再選取For large screens : Set Defaults
偏好設定->外觀設定->選單列, 位置選底部
更改Partition
1. 先使用Linux的gparted更改後面的ext4 partition大小及位置
2. 再使用Windows的 EaseUS Partition Master 13.5 更改boo區的fat32 partition
桌面版禁止螢幕保護
sudo vim /etc/lightdm/lightdm.conf, 找到下面的設面
#xserver-command=X
修改為
xserver-command=X -s 0 -dpms
然後重新開機
更改帳密
Raspbian預設帳號密碼 : pi/raspberry
sudo useradd -m -s /bin/bash thomas sudo passwd thomas sudo adduser thomas sudo logout後, 使用新帳號登入 sudo userdel -r pi sudo visudo #加入 thomas ALL=(ALL) NOPASSWD: ALL 然後Ctrl+O, Ctrl+x
自動登入帳號
更改如下檔案
sudo vim /etc/lightdm/lightdm.conf
[Seat:*]
autologin-guest=false
autologin-user=thomas
autologin-user-timeout=0
Raspbian 系統很奇怪, 就算使用其它帳號登入, 但還是會有幾支行程使用pi帳號執行. 使用kill -9 刪除後, 還是會自動生出來, 所以請不要把 pi 帳號砍掉。(想砍也砍不掉)
安裝vim
sudo apt-get install vim
設定IP
首先使用 sudo raspi-config , 設定SSID及密碼
再設定IP : sudo vim /etc/dhcpcd.conf
# 如果要設定的是無線網路的固定IP,則把下列 eth0 改成 wlan0
interface eth0
static ip_address=x.x.x.x/24
static routers=x.x.x.x
static domain_name_servers=x.x.x.x
範例如下:
# 無線網路介面: wlan0
# IP: 192.168.8.8, Submask: 255.255.255.0, Gateway: 192.168.8.1
# DNS: 1.1.1.1 1.0.0.1
interface wlan0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=168.95.1.1 168.95.192.1
上述設定完成後,重開機就會套用設定了。
備註:
上述方法的前提是 dhcpcd 和 networking 要開機時就預設啟動,指令如下:
systemctl enable dhcpcd
systemctl enable networking
Failed to start dhcpcd on all interfaces.
sudo systemctl disable dhcpcd.service
啟動ssh
sudo update-rc.d ssh enable
設定時區
Raspbian 已自動啟動網路時間校正(ntp), 但時區需手動更改, 請輸入如下指令
sudo raspi-config
然後選取Localisation Options/Change Timezone/Asia/Taipei
完成後, 下達 date 指令即可看到目前時間
Git Server
只要安裝 git git-core即可
sudo apt-get install git git-core
git repository 一定要放在 ext4內. 如果放在ntfs裏, 則會因為權限無法上傳.
假設儲存庫為 /GitRepos, 則權限設定如下
sudo groupadd git sudo usermod -a -G git 帳號 sudo chgrp -R git /GitRepos sudo chmod g+rwx -R /GitRepos
更新系統
sudo apt-get update sudo apt-get upgrade
安裝ftp
安裝套件 : sudo apt-get install vsftpd
設定 : sudo vim /etc/vsftpd.conf, 並於最後加入如下
write_enable=YES # 啟用可以修改文件的 FTP 命令 local_umask=022 # 本地用戶創建文件的 umask 值 xferlog_std_format=YES # 保持標準日誌文件格式 chroot_local_user=YES #變更ftp目錄為根目錄, 防止跳脫ftp之外 allow_writeable_chroot=YES utf8_filesystem=YES #防止中文亂碼
重新啟動 : sudo systemctl restart vsftpd
ftp 掛載其他目錄
sudo vim /etc/init.d/mountftp
#!/bin/sh mkdir -p /home/thomas/server mount --bind /server /home/thomas/server
sudo chmod 755 /etc/init.d/mountftp
cd /etc/rc3.d
sudo ln -s ../init.d/mountftp S99mountftp
sudo reboot
安裝MariDB
MariaDB是MySQL關聯式資料庫管理系統的一個復刻,由社群開發,有商業支援,旨在繼續保持在GNU GPL下開源。MariaDB的開發是由MySQL的一些原始開發者領導的,他們擔心甲骨文公司收購MySQL後會有一些隱患。
MariaDB打算保持與MySQL的高度相容性,確保具有庫二進位奇偶校驗的直接替換功能,以及與MySQL API和命令的精確匹配. MariaDB內建了一個新的儲存引擎Aria,它可以替代MyISAM,成為預設的事務和非事務引擎. 它最初使用XtraDB作為預設儲存引擎, 並從10.2版本切換回InnoDB。
它的首席開發人員是米卡埃爾·維德紐斯,他是MySQL AB的創始人之一,也是Monty Program AB的創始人。2008年1月16日,MySQL AB 宣布它已經同意被昇陽電腦集團以大約10億美元的價格收購。該項收購已於2008年2月26日完成。MariaDB是以Monty的小女兒Maria命名的,就像MySQL是以他另一個女兒My命名的一樣。
sudo apt install mariadb-server
sudo mysql -u root #登入MySQL
設定權限 use mysql; create user 'account'@'%' identified by 'password'; grant all privileges on *.* to 'account'@'%';
mariadb預設只能本地端登入, 若要能遠端登入, 需修改如下設定
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1 bind-address = 192.168.1.10
重啟mariadb
sudo systemctl restart mariadb
Safe Updae Mode
在Safe Update Mode開啟的狀態下,在沒有 WHERE 或 LIMIT 條件的 UPDATE 或 DELETE 動作會拒絕執行,而即使是有 WHERE 和 LIMIT 條件,但沒有 KEY column 的 WHERE 條件也會拒絕執行。
要關閉Safe Update Mode 可執行 “SET SQL_SAFE_UPDATES=0“ 指令
MySQL資料匯出匯入
匯出 : mysqldump -u account -p –routines wordpress > wordpress_20191101.sql
匯入 : mysql -u account -p wordpress < wordpress_20191101.sql
請注意, 由mysql 匯出的.sql 再匯入mariadb時, 時若發生 Unknown collation: ‘utf8mb4_0900_ai_ci’, 則需將 .sql的檔案使用notepad++打開, 將 ‘utf8mb4_0900_ai_ci’ 改為 ‘utf8mb4_general_ci’
MySQL自動輸入密碼
每次在本機登入, 備份, 還原, 都要輸入密碼, 實在太麻煩了, 以下方法, 可以不用輸入密碼. 不過這只適用Linux系統.
注意喔, 只有在本機不用輸入密碼喔. 如果在遠端不用輸入密碼, 那還得了.
vim ~/.my.cnf
[client] password=YOUR_MYSQL_PASSWORD
然後就不用輸入密碼了
mysql -u 帳號 mysqldump -u 帳號 --routines wordpress > wordpress.sql mysql -u 帳號 wordpress< wordpress.sql
安裝Apache2
安裝
sudo apt-get install apache2
設定
sudo vim /etc/apache2/apache2.conf
請注意, 需把Indexes刪除, 否則會看到目錄下的所有列表, 會有安全性的問題
<Directory /server/wordpress/> OptionsIndexesFollowSymLinks AllowOverride None Require all granted </Directory>
sudo vim /etc/apache2/sites-available/000-default.conf
DocumentRoot /server/wordpress
網頁權限
網頁根目錄需設定使用者及群組使用者為 www-data
sudo mkdir /server
sudo mv ~/wordpress /server
sudo chown -R www-data:www-data /server/wordpress
重啟
sudo systemctl restart apache2
安裝php
安裝
sudo apt-get -y install php7.3 libapache2-mod-php7.3
sudo apt-get -y install php7.3-mysql php7.3-curl php7.3-gd php7.3-intl php-imagick php7.3-imap php7.3-mbstring php-gettext php-zip
設定 : sudo vim /etc/php/7.3/apache2/php.ini
upload_max_filesize = 200M #單檔最大容量
post_max_size = 20M
SDCard備份
備份 : 在Windows下, 使用 winDisklmanger 進行備份即可
縮小 : winDisklmanger備份後, SDCard有多大, 檔案就有多大. 此時可以使用Linux下的 pishrink將 img縮小, 比如64G的SDCard映像檔, 可以縮成 6G左右
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh chmod +x ./pishrink.sh sudo ./pishrink.sh ./raspbian.img
請注意, 新映像檔會取代原檔案
桌面版開機畫面
預設的 splash.png 置於 /usr/share/plymouth/themes/pix內, 但開機時並不會用到
1. 請準備一張 png檔, 大小為螢幕解析度, 檔名改為splash.png, 然後copy到 /opt目錄
2. sudo apt-get install fbi
3. 新增 /etc/systemd/system/splashscreen.service
[Unit] Description=Splash screenDefaultDependencies=no After=local-fs.target [Service] ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /opt/splash.png StandardInput=tty StandardOutput=tty [Install] WantedBy=sysinit.target
4. sudo systemctl enable splashscreen
5. sudo systemctl start splashscreen
6. 禁用顏色測試 sudo vim /boot/config.txt, 最後加入
disable_splash=1
7. 禁用角落 Pi 標誌, 請在 /boot/cmdline.txt 加入
logo.nologo consoleblank=0 loglevel=1
檔案總管閃退
sudo apt-get dist-upgrade
上述指令會把衝突的套件移除, 檔案總管就不會閃退了