OrbStack 安裝 Ubuntu 22.4, php 5.6 及 apache2
某個專案還在老舊的 php 5.6 環境,macOS 15 Sequoia 目前已無法正常執行 XAMPP。在不小心升級 macOS 後,測試 php 5.6 程式是讓人困擾的問題。
原本想要使用 OrbStack 的 docker containers 功能,然而 container 需要不少設定,反而是一種麻煩的做法。後來還是以 VM 的方式來處理。OrbStack 的安裝就不贅述。
安裝 ubuntu vm
# *** 安裝 ubuntu vm ***
# orb create --help
# orb create [flags] DISTRO[:VERSION] [MACHINE_NAME]
orb create ubuntu:jammy # 預設的 machine name 為 ubuntu
# *** 從 mac ssh 連線 vm ***
# ssh [用戶名]@[虛擬主機名]@orb
ssh root@ubuntu@orb
# *** 使用 vm 的 domain ***
# ping [虛擬主機名].orb.local
ping ubuntu.orb.local
# mac host 的 ip 可以直接使用區域網路 ip
在 vm 中可以透過 /mnt/mac
路徑找到 mac 的對應檔案。
安裝 php 5.6
以 ssh 登入 vm 後,依下列步驟安裝 php 5.6
# *** 1. 更新系統 repo 資料
apt update
# *** 2. 安裝 software-properties-common 以管理 PPA (Personal Package Archives)
apt install software-properties-common
# *** 3. php 5.6 已經不是官方維護的版本,需依賴 PPA
add-apt-repository ppa:ondrej/php
# *** 4. 再更新系統 repo 資料一次
apt update
# *** 5. 安裝 php 5.6
apt install php5.6
# *** 6. 安裝 php 常用套件
apt install php5.6-mysql php5.6-curl php5.6-json php5.6-cgi php5.6-xml php5.6-mbstring php5.6-gd
# *** 7. 確認 php 版本
php -v
# *** 8. 啟用 apache2 模組
# 在安裝 apache2 之後才可以執行
# a2dismod php8.3 # 若有需要先關閉新模組
a2enmod php5.6
安裝 apache2
apt install apache2
# 啟用 rewrite module
a2enmod rewrite
# /etc/apache2/mods-enabled 裡啟用的模組參考
access_compat.load -> ../mods-available/access_compat.load
alias.conf -> ../mods-available/alias.conf
alias.load -> ../mods-available/alias.load
auth_basic.load -> ../mods-available/auth_basic.load
authn_core.load -> ../mods-available/authn_core.load
authn_file.load -> ../mods-available/authn_file.load
authz_core.load -> ../mods-available/authz_core.load
authz_host.load -> ../mods-available/authz_host.load
authz_user.load -> ../mods-available/authz_user.load
autoindex.conf -> ../mods-available/autoindex.conf
autoindex.load -> ../mods-available/autoindex.load
cache.load -> ../mods-available/cache.load
cache_disk.conf -> ../mods-available/cache_disk.conf
cache_disk.load -> ../mods-available/cache_disk.load
deflate.conf -> ../mods-available/deflate.conf
deflate.load -> ../mods-available/deflate.load
dir.conf -> ../mods-available/dir.conf
dir.load -> ../mods-available/dir.load
env.load -> ../mods-available/env.load
expires.load -> ../mods-available/expires.load
file_cache.load -> ../mods-available/file_cache.load
filter.load -> ../mods-available/filter.load
headers.load -> ../mods-available/headers.load
mime.conf -> ../mods-available/mime.conf
mime.load -> ../mods-available/mime.load
mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
mpm_prefork.load -> ../mods-available/mpm_prefork.load
negotiation.conf -> ../mods-available/negotiation.conf
negotiation.load -> ../mods-available/negotiation.load
php5.6.conf -> ../mods-available/php5.6.conf
php5.6.load -> ../mods-available/php5.6.load
reqtimeout.conf -> ../mods-available/reqtimeout.conf
reqtimeout.load -> ../mods-available/reqtimeout.load
rewrite.load -> ../mods-available/rewrite.load
setenvif.conf -> ../mods-available/setenvif.conf
setenvif.load -> ../mods-available/setenvif.load
socache_shmcb.load -> ../mods-available/socache_shmcb.load
ssl.conf -> ../mods-available/ssl.conf
ssl.load -> ../mods-available/ssl.load
status.conf -> ../mods-available/status.conf
status.load -> ../mods-available/status.load
安裝 Mariadb 10
# *** 1. 更新套件資訊
apt update
# *** 2. 查看可以安裝的子版本
apt-cache policy mariadb-server
# *** 3. 安裝
apt install mariadb-server
# 以 mysql client 使用 root 登入
mysql -uroot
# 變更 root 密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
# 建立管理用戶給 phpmyadmin 使用
CREATE USER 'pmauser'@'localhost' IDENTIFIED BY 'pmauser';
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 查看使用者
SELECT User, Host FROM mysql.user;
沒有留言:
張貼留言