升級php以及Mariadb

脫線的伺服器使用一台很久的老機器,是一台10年前i7的桌上型電腦,還不是伺服器等級,老機器有老機器的優點,散熱簡單,沒那麼耗電,不過這兩天顯卡出了狀況,還好硬碟沒壞,所以直接把硬碟拔到一台二手桌上型電腦裝,馬上開機馬上可以使用。

一、挑選PHP版本

但是,因為軟體固定要更新,ubuntu預設的php是8.4,moodle和wordpress可能版本舊,不支援到php8.4,也因為現在是學期中,一旦升級出狀況會很麻煩,所以我將php8.3也安裝起來。

現在是系統內有二個php,要如何讓系統執行我想要跑的php8.3呢?

1.檢查/etc/apache2/conf-enabled,看看裡面是php8.3-fpm.conf或php8.4-fpm.conf,如果是php8.4-fpm.conf,使用

a2disconf php8.4-fpm
a2enconf php8.3-fpm

2.啟動php8.3,關閉php8.4

a2dismod php8.4
a2enmod php8.3

3.參考http://onnocenter.or.id/wiki/index.php/USB_OFFLINE:_Ubuntu_24.04_Install_Moodle,_Apache2,_MariaDB,_PHP_8,調整php.ini的設定值,重點是這幾個數值要調大

upload_max_filesize = 100M
post_max_size = 48M
memory_limit = 512M
max_input_time = 1000
max_input_vars = 5000
max_execution_time = 600

其實還有另一種作法,但我沒測試過:參考https://www.depal.com.tw/blog/multiple-php

重點在步驟五

讓我們分別為 demo.com 建立虛擬主機,並測試使用 php 不同版本
cd /etc/apache2/sites-available>
 
sudo vi demo.com.conf

添加以下配置並儲存文件。

<VirtualHost *:80>
ServerAdmin admin@demo.com
ServerName demo.com
ServerAlias www.demo.com
DocumentRoot /var/www/demo.com
<Directory /var/www/demo.com/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
<FilesMatch \.php>
SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/err-demo.com.log
CustomLog ${APACHE_LOG_DIR}/demo.com.log combined
</VirtualHost>

您可以使用 apachectl 檢查語法是否正確。

sudo apachectl -t

使用以下命令啟用網站。

sudo a2ensite demo.com.conf

創建 DocumentRoot 目錄。

sudo mkdir /var/www/demo.com

創建 PHP 資訊頁面。

cd /var/www/demo.com
sudo vi info.php

添加以下配置並儲存文件

<?php
phpinfo();
?>

重新啟動 Apache2。

sudo systemctl restart apache2

現在打開您的瀏覽器來驗證 PHP 版本

我不是虛擬網站,所以修改了設定檔demo.conf

Alias /demo "/var/www/html/demo/"

<Directory /var/www/html/demo>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews
  Satisfy Any

    <FilesMatch \.php$>
       <If "-f %{REQUEST_FILENAME}">
        SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
       </If>
    </FilesMatch>

</Directory>

 

 

二、升級mariadb

ubuntu升級mariadb其實很簡單,安裝第三方支援就好

參考https://www.kjnotes.com/devtools/109,目前長期穩定板是11.4

sudo apt-get install apt-transport-https curl ca-certificates software-properties-common -y
curl -fsSL https://mirror.mariadb.org/PublicKey_v2 | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mariadb.gpg > /dev/null
echo "deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/mariadb.gpg] https://mirror.mariadb.org/repo/11.4/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list

然後

sudo apt update

sudo apt upgrade

sudo apt-get install mariadb-server mariadb-client -y

我試了不改設定值,系統沒出問題

分類: server, ubuntu Mint LMDE Manjaro。這篇內容的永久連結