[Filament] 如何在 Ubuntu 24.04 LTS 上安裝 PHP



〈1〉安裝 Ubuntu 基礎套件

步驟 1: 加入 ondrej/php PPA,為 Ubuntu 提供不同的 PHP 版本(5.6 ~ 8.2)

sudo add-apt-repository ppa:ondrej/php

步驟 2: 升級 Ubuntu

sudo apt update

步驟 3: 這些工具和軟體包覆蓋了從網路管理、安全、數據處理到系統監控的多種需求,對於開發者或系統管理員來說,這些都是非常實用的工具

sudo apt -y install curl network-manager unzip net-tools libnss3-tools jq xdg-utils openssl ca-certificates xsel htop

  • ● -y 參數:表示自動回答 "yes" 以安裝所有必要的軟體包,而不提示使用者確認
  • ● curl:用於從命令行介面進行數據傳輸的工具,支持多種協議(如 HTTP、FTP 等)
  • ● network-manager:用於管理網路連接的工具,常用於桌面環境
  • ● unzip:用於解壓 ZIP 壓縮檔案的工具
  • ● net-tools:包含了一組用於網路配置和排除網路故障的工具,如 ifconfig、netstat 等
  • ● libnss3-tools:包含一些網絡安全服務(NSS)工具,用於管理憑證、加密和安全協議
  • ● jq:用於處理 JSON 資料的命令行工具
  • ● xdg-utils:包含一組與桌面環境交互的工具,如打開 URL、查找應用程式等
  • ● openssl:用於實現安全通信的工具和庫,支持多種加密算法和協議
  • ● ca-certificates:包含了一組可信任的根憑證,用於驗證 SSL/TLS 連接
  • ● xsel:用於在 X Window 系統中訪問剪貼簿的工具
  • ● htop:一個互動式的進程查看工具,比 top 提供了更多的功能和更好的使用體驗

〈2〉安裝 nodejs 和 npm sudo apt install nodejs
sudo apt install npm
node -v 查看當前 Node.js 的版本

〈3〉啟用 cron sudo vi /etc/rsyslog.d/50-default.conf
將 cron.* 前面的 # 註解拿掉

〈4〉安裝 php

步驟 1: 安裝 PHP 8.2 以及多個常用的擴展模組,使 PHP 能夠處理更多樣的任務

sudo apt -y install php8.2-common php8.2-cli php8.2-curl php8.2-redis php8.2-bcmath php8.2-mbstring php8.2-xml php8.2-zip php8.2-posix php8.2-sqlite3 php8.2-pgsql

  • ● php8.2-common:提供 PHP 8.2 的一些通用功能
  • ● php8.2-cli:提供命令行介面的 PHP 8.2
  • ● php8.2-curl:提供 PHP 8.2 的 cURL 擴展,用於處理 URL 資源
  • ● php8.2-redis:提供 PHP 8.2 的 Redis 擴展,用於與 Redis 資料庫交互
  • ● php8.2-bcmath:提供 PHP 8.2 的 Bcmath 擴展,用於高精度數學運算
  • ● php8.2-mbstring:提供 PHP 8.2 的多位元組字串處理擴展
  • ● php8.2-xml:提供 PHP 8.2 的 XML 處理功能
  • ● php8.2-zip:提供 PHP 8.2 的 ZIP 檔案處理功能
  • ● php8.2-posix:提供 PHP 8.2 的 POSIX 擴展
  • ● php8.2-sqlite3:提供 PHP 8.2 的 SQLite3 資料庫支持
  • ● php8.2-pgsql:提供 PHP 8.2 的 PostgreSQL 擴展

步驟 2: 查看當前 PHP 版本

php --version

〈5〉安裝 Composer

步驟 1: 查看當前 Composer 版本

composer --version

步驟 2: 將 Composer 的全局安裝路徑添加到 PATH 環境變數中

1. nano ~/.profile 打開 ~/.profile 文件
2. 在文件末尾添加這一行 export PATH="$PATH:$HOME/.config/composer/vendor/bin"
3. 保存並退出編輯器(在 nano 中按 Ctrl+O,然後按 Enter,再按 Ctrl+X 退出)
4. source ~/.profile 為了使修改立即生效,執行這行命令重新加載 ~/.profile 文件

〈6-1〉安裝 MariaDB sudo apt update 更新軟體包索引
sudo apt install mariadb-server 安裝 MariaDB
sudo systemctl start mariadb 啟動 MariaDB 服務
sudo systemctl enable mariadb 設置 MariaDB 以開機自動啟動

sudo systemctl status mariadb 顯示 MariaDB 服務的詳細狀態資訊
sudo systemctl stop mariadb 停止 MariaDB 服務
sudo systemctl disable mariadb 禁用它的自動啟動

sudo apt remove --purge mariadb-* 刪除所有與 MariaDB 相關的套件
sudo apt autoremove --purge 自動清理不再需要的套件和依賴
mariadb --version 檢查 MariaDB 的版本

[解決方案] valet install --mariadb 命令中的 --mariadb 選項無效,這表示 valet-linux-plus 版本不支持該選項。你可以按照以上步驟,手動安裝和配置 MariaDB


[解決方案] 遇到 "Invalid database credentials" 的錯誤,這表示提供的用戶名或密碼不正確。以下是可能的解決方案


# 進入 MariaDB 管理介面
sudo mysql -u root -p

# 創建了一個名為 test 的新用戶,並賦予它所有資料庫的所有權限
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 退出 MariaDB 管理介面
exit

[解決方案] 使用 HeidiSQL 圖形界面來管理 MariaDB 資料庫

Connect WSL's MySQL from Windows Host Machine

# 以 root 用戶身份登入 MariaDB,並且使用 sudo 命令來提升權限,無需輸入 MariaDB 的密碼
sudo mysql -u root

# 查詢用戶帳號
SELECT user, host FROM mysql.user;

# 退出 MariaDB 管理介面
exit

# 指定的 MariaDB 用戶(例如 test)登入 MariaDB,並且需要輸入該用戶的密碼登入 MariaDB
mysql -u test -p

# 重設其他用戶的密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

# 退出 MariaDB 管理介面
exit

# 指定的 MariaDB 用戶(例如 root)登入 MariaDB,並且需要輸入該用戶的密碼登入 MariaDB
mysql -u root -p

# 列出伺服器上的所有資料庫
show databases;

# 退出 MariaDB 管理介面
exit

〈6-2〉安裝 PostgreSQL

步驟 1: 連線 PostgreSQL 官網

PostgreSQL
Install PostgreSQL16.2 on Ubuntu 24

步驟 2: 使用手動設定

# Import the repository signing key:
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

# Create the repository configuration file:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Update the package lists:
sudo apt update

# Install the latest version of PostgreSQL:
# If you want a specific version, use 'postgresql-16' or similar instead of 'postgresql'
sudo apt -y install postgresql-16

步驟 3: 檢查 PostgreSQL 服務的狀態

sudo systemctl status postgresql

# 使用 su 命令切換到該用戶
sudo su - postgres

# 在 psql 提示符下輸入 (q 鍵: 退出分頁工具,返回到 psql 提示符)
# 顯示 PostgreSQL 伺服器的完整版本信息
select version();

# 重設用戶密碼
alter user postgres with password 'postgres';

# 列出所有資料庫的名稱
select datname from pg_database;

# 查看
\l

# 退出 psql
\q

步驟 4: 使用 pgAdmin 圖形界面來管理 PostgreSQL 資料庫

pgAdmin
How to install PostgreSQL on WSL Ubuntu and connect pgAdmin

步驟 5: 其他指令

sudo apt install postgresql 安裝 PostgreSQL
sudo systemctl start postgresql 啟動 PostgreSQL 資料庫服務
sudo systemctl enable postgresql 使 PostgreSQL 服務開機自動啟動

sudo systemctl status postgresql 檢查 PostgreSQL 服務的狀態
sudo systemctl stop postgresql 停止 PostgreSQL 服務
sudo systemctl disable postgresql 禁止 PostgreSQL 服務開機自動啟動

sudo apt remove --purge postgresql* postgresql-client* postgresql-contrib* 刪除所有與 PostgreSQL 相關的套件
sudo apt autoremove --purge 自動清理不再需要的套件和依賴
psql --version 檢查 PostgreSQL 的版本

〈7〉安裝 Valet Valet 是一個輕量級的 Laravel 開發環境
composer global require genesisweb/valet-linux-plus 使用 Composer 安裝 Valet 的 Linux 擴展版本
composer global show genesisweb/valet-linux-plus 確認 Valet 是否已經安裝
valet install
valet --version 檢查 Valet 命令是否可用,如果一切正常,應該會顯示 Valet 的版本號
valet fix 檢查和修復 Valet。Nginx 的日誌通常位於 /var/log/nginx 目錄中
valet status 一個非常有用的工具,可以幫助你了解 Valet 和相關服務的運行情況

〈8〉Hello, Valet!

步驟 1

pwd 顯示當前所在的目錄的完整路徑
mkdir ~/php-projects
cd ~/php-projects
mkdir my-first-project
cd my-first-project // 在專案目錄中創建 PHP 文件
valet link // 將當前目錄添加到 Valet 管理
valet links // 查看已管理的目錄
valet restart
valet status



[解決方案] 如何透過 VS Code 編輯 WSL 環境中的專案

在 WSL 中開發

[解決方案] 不需要的鏈接,無法在 Valet 管理的專案列表中移除

// 進到 Valet 符號鏈接的目錄
cd ~/.config/valet/Sites

// 刪除符號鏈接
rm abc.test.test

// 重啟 Valet
valet restart

// 再次檢查 Valet 管理的符號鏈接
valet links

[解決方案] 刪除專案

// 將當前目錄從 Valet 管理中移除
valet unlink 

// 強制刪除目錄
rm -rf my-first-project 

// 刪除證書
cd ~/.config/valet/Nginx
rm my-first-project.test

// 刪除 windows 證書
C:\Users\user\cert

// 移除 windows hosts 文件裡的 url
C:\Windows\System32\drivers\etc\hosts

// 重啟 Valet
valet restart

// 確認 Valet 和相關服務的運行情況
valet status

步驟 2:

在 Windows 中,打開 C:\Windows\System32\drivers\etc\hosts 手動編輯 hosts 文件
假設你希望通過 my-first-project.test 訪問本地的 PHP 專案,可以添加類似以下的行:
127.0.0.1 my-first-project.test

步驟 3:

訪問你的專案   http://my-first-project.test

步驟 4:

通過 HTTPS 訪問你的專案   https://my-first-project.test

// 進到你的專案
cd my-first-project

// 為你的專案生成和安裝 SSL 證書
valet secure 

// 在 window 的 cmd 執行指令 (C:\Users\user\cert)
mkcert -cert-file my-first-project.test.pem -key-file my-first-project.test.key.pem my-first-project.test

// 編輯證書,將 ssl_certificate、ssl_certificate_key 指向 window 產生的證書
cd ~/.config/valet/Nginx
vi 證書
ssl_certificate /mnt/c/Users/user/cert/my-first-project.test.pem;
ssl_certificate_key /mnt/c/Users/user/cert/my-first-project.test.key.pem;

// 確保 Valet 的服務已重新啟動並應用了新的證書
valet restart

// 確認 Valet 和相關服務的運行情況
valet status


Source

ubuntu使用PPA安裝其它php版本
how To Install PHP On Ubuntu 20.04 or 22.04
How to install Laravel 11 on Ubuntu 24.04 LTS [ PHP 8.3, Composer, SQLite ] | Create Laravel project
How to Install PHP (from 8.3 down to 5.6) on Ubuntu 24.04
簡單介紹 Laravel Valet 如何安裝與使用
INSTALL LARAVEL VALET LINUX IN WINDOWS PC (UBUNTU WSL) ★
valet linux
How to remove MySQL server completely from Ubuntu 24.04 LTS (Linux) ★

Image Source

How To Install & Uninstall PHP on Ubuntu

沒有留言:

技術提供:Blogger.