手上有多個網站 都是 Laravel 5.8,放在一台 Ubuntu 18.04 的機器上(租用 Linode 機器)

四、五年了,一直沒去更新,最近終於下定決心來更新

首先把 Laravel 5 -> 6 -> 7 分多次升級,然後部署

都還算順利,官方的 upgrade guide 很清楚,簡單照做就完成

但是無法升到 laravel 8 因為需要 php 8

我那台 ubuntu 18.04 安裝 php 8 一直失敗

直接升級 OS 也失敗,一堆問題會出現

最後決定,在 Linode 租一台新的 Ubuntu 22.04 然後把專案通通搬過去


因為專案中很多「用戶上傳的圖片」放在 local,所以都需要一起搬運

最後是用 scp 硬搬檔案

然後用 mysqldump 搬運資料

才終於順利升級到 laravel 8.83 了

詳細用到的指令大概像這樣

scp -r [email protected]:/{PATH}/{FOLDER} /{PATH}
scp -r [email protected]:/etc/apache2/sites-available/{CONF_FILE} /etc/apache2/sites-available/
a2ensite
service apache2 reload

create mysql user & database with phpmyadmin
mysqldump --column-statistics=0 --default-character-set=utf8mb4 -h xxx.xxx.xxx.xxx -u {USER} --single-transaction -p{PASSWORD} {DATABASE} > /home/dump.sql;
mysql -u root -p{PASSWORD} {DATABASE} < /home/dump.sql

artisan down legacy site
composer install -> new site is now online

簡單筆記分享一下,希望能幫到一些人~

Refs

  • https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-22-04#how-to-find-your-server-s-public-ip-address
  • https://itslinuxfoss.com/install-laravel-ubuntu-22-04-lts/
  • https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-ubuntu-18-04
  • phpmyadmin password left blank, so it's random now
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-22-04
  • skip the whole Step 2 — Adjusting User Authentication and Privileges
  • ssh-keygen because I need a public key

共有 0 則留言