[Pi]架設網頁伺服器
總算是要來個經典組合:
Linux + Apache + PHP + MySQL
首先更新一下。
sudo apt-get update
sudo apt-get upgrade
安裝網頁伺服器(apache2)
sudo apt-get install apache2
接著我們要測試是否運作正常。首先要先確定 Raspberry Pi 的 IP 位置,可以使用 ifconfig
指令,若是跟我一樣是用遠端連線那 IP 位置就不用再費心查了。拿到 IP 位置後,直接開電腦或手機的瀏覽器,輸入自己機器的 IP。
若是出現以上畫面表示建置成功!
或者是用以下指令測試也行:
sudo systemctl status apache2
安裝 PHP 語言
sudo apt-get install php
寫個簡單的網頁
事實上這一步也算是測試而已。首先移動到以下資料夾並建置一個名為my.php
的網頁檔案:
sudo nano /var/www/html/my.php
打一段簡單的 php 網頁。
<h1>Hello, this is Alex!</h1>
<?php
phpinfo();
?>
這裡所使用的編輯器叫做 nano,至於如何使用就看它下面的提示即可。我現在想要儲存並且關閉,因此我是按 Ctrl + O,改完檔名後再按 Ctrl + X 關閉。
接著試試看在剛才的瀏覽器的網址列中自己的 IP 後面加上自己的檔名,像我的就是 /my.php
。
最上方是我剛剛打的標題,下面是有關 php的相關資料,看起來都跟我剛才設置的網頁一樣。
安裝設定MySQL資料庫系統
基本上指令是(相關書籍裡提供的):
sudo apt-get install mysql-server
sudo apt-get install mysql-client
但我這裡出現了錯誤訊息,可能是改名了之類的,因此改為:
sudo apt-get install mariadb-server
sudo apt-get install mariadb-client
若要查這個下載包的名字的話,可以試試這個指令:
apt-cache search mysql-server
並且安裝正確的名字,應該就不會和我一樣突然出現問題了。或者也可以試著讀讀看錯誤訊息,通常都會提供你想要下載的 package 的對應名字。
設定資料庫的安全性
sudo mysql_secure_installation
安裝 php-mysql
接著再安裝 php-mysql 模組
sudo apt-get install php-mysql
使用看看 MySQL 的介面:
sudo mysql -u root -p
密碼亂輸好像沒什麼差別,這個問題我要再思考看看,不過有出現相關介面應該沒什麼問題。
安裝 Adminer
最後一步就是安裝 Adminer。其實大家比較常聽到的應該是 phpMyAdmin,但在安裝以及設定上我被弄到很火大(自己能力不足惱羞成怒 XD),偶然發現 Adminer 不論何種意義上都相當簡單且輕量,因此決定試試看。
首先要去 Adminer 的網站 查詢要下載的項目網址。
例如我要下載的是螢光筆畫的那一項,按滑鼠右鍵「複製連結網址」:
將工作目錄移動到/var/www/html/
底下,並且輸入以下指令:
sudo wget https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8-mysql.php
飛快地完成了安裝,基本上到這邊環境應該是已經建置好了。
資料庫基本的使用
先進入到 MariaDB 的介面。
sudo mysql
以下指令都是在介面裡面下的:
- 查看目前的使用者:
SELECT USER();
- 顯示已建立的 database:
SHOW databases;
現在我們要試試看建一個資料庫,並新增一個表格,還要新增使用者:
- 建立名字叫做 example 資料庫:
CREATE DATABASE example;
- 跳至 example 這個資料庫工作:
USE example;
- 拋棄 example 資料庫:
DROP DATABASE example;
不過先別那麼快丟掉 exampel 這個資料庫,我們先在裡面運作一些其他的指令:
- 建立 testTable 資料表:
create table testTable(name varchar(10), join_date date) DEFAULT CHARSET=utf8;
當然,這資料表的規格就依照自己需求去設定。
- 查看:
DESC testTable;
- 刪除:
DROP TABLE testTable;
- 清空資料:
DELETE FROM testTable;
再來是蠻重要的步驟:
- 建立使用者
CREATE USER 'testUser'@'localhost' IDENTIFIED by '(這裡寫testUser要設置的密碼)';
- 接著要設定權限:
GRANT ALL PRIVILEGES ON wordpress.* TO 'testUser'@'localhost';
- 更新權限表:
FLUSH PRIVILEGES;
Adminer 基本使用
這裡其實蠻簡單的,剛才裝完了 Adminer 可以在網址列自己機器的ip後面加上:/adminer.php
這樣就是有順利安裝。接著在帳號、密碼的地方輸入剛剛設置的使用者,例如我是 testUser,我就在帳號的地方輸入 testUser。
YA! 成功登入,而且應該是可以看到自己剛才建置的資料表。
對了,中間有遇到出現錯誤的狀況: apache2:adminer-所有支援的PHP擴充套件(MySQLi,MySQL,PDO_MySQL)都不可用
如果有出現此訊息,第一個可能是還沒安裝 php-mysql,第二個可能是沒有重啟伺服器 sudo service apache2 restart
。
留言