1.虛擬機環境架設
Ubuntu載點:https://www.ubuntu-tw.org/modules/tinyd0/ 選擇桌面版本、18.04、64位元
Virtualbox載點 Windows hosts
https://download.virtualbox.org/virtualbox/6.1.30/VirtualBox-6.1.30-148432-Win.exe
1.開啟 Virtualbox 並新增新的虛擬機與進行環境設定
依順序執行檔進行設定(以記憶體:2048MB、硬碟:20GB為例)
建立完後進入設定頁面更改環境
系統-處理器 CPU改為4顆
進入存放裝置-磁碟檔中放入剛所下載的iso檔
網路設定選擇橋接介面卡
2.設定完後開啟虛擬機,開始安裝流程
3.安裝 VirtualBox Guest Additions 讓操作更方便
執行完後跳出即可
並設定雙向功能,讓虛擬機可貼上複製內容
虛擬機的基礎環境就架設完畢喽~
2.SQL架設&簡易指令測試
(1)SQL架設
1.開啟終端機
以 sudo 身份運行以下命令,以便從 APT 存儲庫安裝 MySQL
$ sudo apt-get update
$ sudo apt-get install mysql-server
2.隨後運行隨附的安全腳本進行安全配置
$ sudo mysql_secure_installation
下圖步驟選擇 N,其他選擇 Y 即可
3.設定完後確認有無正常運行
$ systemctl status mysql.service
如未運行,則用以下命令來啟動該服務:
$ sudo systemctl start mysql
(2)簡易指令測試
啟動 mysql
$ sudo mysql
以下指令為顯示資料庫
SHOW DATABASES;
以下指令為建立出一個名為dbname的資料庫
CREATE DATABASE dbname;
USE dbname;
以下指令為顯示目前資料庫中的所有表格
SHOW TABLES;
以下指令為建立名為users的表格,這個表格有兩個欄位。第一個欄位是userid,儲存的資料型別是tinyint SIGNED(有號8-bit整數),必須NOT NULL(不能是空的),且作為每列(row)資料的PRIMARY KEY(主鍵),會AUTO_INCREMENT(自動遞增)。第二個欄位是username,儲存的資料型別是varchar(50)(最大可以存50個字元)
CREATE TABLE `users` (
`userid` tinyint SIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
`username` varchar(50)
);
以下指令為顯示users表格是怎麼被建立的
SHOW CREATE TABLE users;
以下指令為查詢users表格中的所有資料
SELECT * FROM users;
以下指令為插入字串Bob、Mary...至users表格中
INSERT INTO `users` (`username`) VALUES ('Bob');
INSERT INTO `users` (`username`) VALUES ('Mary');
INSERT INTO `users` (`username`) VALUES ('John');
INSERT INTO `users` (`username`) VALUES ('Joe');
INSERT INTO `users` (`username`) VALUES ('test');
以下指令可建立出能從本地端(localhost)登入 MySQL 伺服器的使用者 dbuser,密碼為 test
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'test';
以下指令可讓從本地端(localhost)登入 MySQL 伺服器的使用者 dbuser,擁有 dbname 資料庫的所有權限
GRANT ALL ON dbname.* TO 'dbuser'@'localhost';
以下指令可建立出能從本地端(localhost)登入 MySQL 伺服器的使用者 dbsuperuser,密碼為 test,並讓 dbsuperuser,擁有所有資料庫的存取權限,而且可以把權限再分出去。
CREATE USER 'dbsuperuser'@'localhost' IDENTIFIED BY 'test';
GRANT ALL ON *.* TO 'dbsuperuser'@'localhost' WITH GRANT OPTION;
基礎指令測試完即可輸入 quit,結束執行 mysql。
3.phpmyadmin web架設
(1)簡易架設 nginx web server
輸入以下指令
$ sudo apt-get install nginx -y
$ sudo systemctl status nginx
檢查是否可以訪問預設網頁,在虛擬機的瀏覽器中輸入:
http://127.0.0.1 或 http://localhost
如果配置正常,可以看到一個類似於下面的頁面,說明 nginx 伺服器是正常的
(2)透過 nginx 執行 PHP 程式
執行以下指令可以安裝PHP的執行環境:
$ sudo apt install php-cli -y
輸入以下指令可以查看PHP的版本:
$ php -v
執行以下指令安裝 FPM
$ sudo apt-get install php-fpm php-cgi php-mysql php-common php-pear php-mbstring -y
驗證 php fpm 是否安裝並啟用成功
先用以下指令安裝 socat
$ sudo apt install socat -y
執行以下指令來判斷 FPM 有沒有正常工作:
$ echo /dev/null | sudo socat unix:/var/run/php/php7.2-fpm.sock - && echo "Working!" || echo "Not working!"
設定 php.ini
打開 php.ini 將 cgi.fix_pathinfo 取消註解並設為 0:
$ sudo gedit /etc/php/7.2/fpm/php.ini
重啟 php-fpm
$ sudo systemctl restart php7.2-fpm
編輯nginx預設組態, 新增index.php預設執行php網頁, phpMyAdministrator會使用到
並修改php區塊, 去除註解, 並注意fpm版本是否正確
$ sudo gedit /etc/nginx/sites-available/default
修改下圖中紅字部分
可複製:try_files $uri $uri/ /index.php?q=$uri&$args;
重啟 nginx 驗證設定檔格式是否有錯
$ sudo systemctl reload nginx
$ sudo nginx -t
(3)安裝 phpMyAdmin
$ sudo apt install phpmyadmin
1.
安裝過程需要設定phpMyAdmin,一開始會要求選擇網頁伺服器,因為我們的伺服器環境是Nginx+PHP(via FPM)+MySQL,所以這邊什麼都不選。直接按Enter鍵確認選擇。
最後會詢問是否要設定dbconfig-common,選擇「是」(Yes)吧!
dbconfig-common將需要建立一個新的MySQL使用者來操作運行phpMyAdmin資料庫管理工具時需要額外用到的資料表,預設的使用者名稱為phpmyadmin,所以接著要設定phpmyadmin這個MySQL使用者的密碼。
再輸入一次剛才輸入的phpmyadmin使用者的密碼。
新的MySQL使用者phpmyadmin建立完成後,phpMyAdmin就算是安裝完畢了
2.
設定Nginx
phpMyAdmin的PHP程式放置在/usr/share/phpmyadmin目錄中,我們可以利用Nginx設定檔的root命令來製作一個phpMyAdmin的location區塊。設定方式如下
$ sudo gedit /etc/nginx/sites-available/default
將程式碼插入下圖位置
location = /phpmyadmin {
return 301 /phpmyadmin/;
}
location ^~ /phpmyadmin/ {
root /usr/share;
allow 127.0.0.1;
deny all;
fastcgi_read_timeout 1440s;
fastcgi_send_timeout 1440s;
if ($uri ~ \.php$) {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
include fastcgi.conf;
}
重啟 nginx,驗證設定檔格式是否有錯
$ sudo systemctl reload nginx
$ sudo nginx -t
phpmyAdmin 錯誤修正, 主要因 php 不同版本函數問題
(1)
$ sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak
$ sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
查找 (count($analyzed_sql_results['select_expr'] == 1)
然後多新增括號 ((count($analyzed_sql_results['select_expr']) == 1)
完成後存檔離開
(2)
$ sudo cp /usr/share/phpmyadmin/libraries/plugin_interface.lib.php /usr/share/phpmyadmin/libraries/plugin_interface.lib.php.bak
$ sudo gedit /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
查找
if ($options != null && count($options) > 0)
然後新增(array)
if (! is_null($options) && count((array)$options) > 0)
完成後存檔離開
4.在本機使用 phpmyadmin (不需使用linux)
下載 xampp 8.1.4
https://www.apachefriends.org/zh_tw/download.html
跑完程式後,改用系統管理員身分執行以便開啟 MySQL 的 admin
隨後修改 Apache 設定,以開啟 admin
完成後在瀏覽器上輸入 localhost:8000/dashboard 再按右上角的 phpmyadmin 即可使用 phpmyadmin