使用Ubuntu作為伺服器主機,完整架設流程(Apache + PHP 8.4 + MySQL)
系統更新
$ sudo apt update && sudo apt upgrade -y
語系調整
查看目前語系
$ localectl
安裝中文語系
$ sudo apt install language-pack-zh-hant -y
切換語系
$ sudo localectl set-locale LANG=zh_TW.UTF-8
自動校時
$ sudo timedatectl set-timezone Asia/Taipei
$ sudo apt install chrony -y
$ sudo systemctl enable chrony
$ sudo systemctl start chrony
安裝 Apache
$ sudo apt install apache2 -y
$ sudo systemctl enable apache2
$ sudo systemctl start apache2
安裝 PHP 8.4
首先加入 PHP PPA
$ sudo add-apt-repository ppa:ondrej/php -y
$ sudo apt update
接著安裝 PHP 及常用模組
$ sudo apt install php8.4 libapache2-mod-php8.4 -y
$ sudo apt install php8.4-mysql php8.4-cli php8.4-common php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip php8.4-gd php8.4-bcmath php8.4-intl -y
啟用 PHP 模組並重啟 Apache
$ sudo a2enmod php8.4
$ sudo systemctl restart apache2
確認 PHP 版本
$ php -v
安裝資料庫(MySQL 8)
$ sudo apt install mysql-server mysql-client -y
$ sudo systemctl start mysql
$ sudo systemctl enable mysql
執行安全性設定
$ sudo mysql_secure_installation
設定 root 密碼與建立新帳號
$ sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
CREATE USER 'root'@'你的IP' IDENTIFIED BY '你的密碼';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'你的IP' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
防火牆設定(UFW)
設定常用的 80、443、22、3306 port
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 3306/tcp
$ sudo ufw enable
$ sudo ufw status
Git
$ sudo apt install git -y
Composer
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
Node.js(前端編譯用)
$ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
$ sudo apt install nodejs -y
Carbon 1 目前已經棄用,取而代之的是 Carbon 2,許多Solspace套件都依賴Carbon運作
使用Laravel orwhere時,在SQL語法上常常需要多個where條件,此時搭配or要如何指定or的群組呢,正確用法應該使用閉包的方式
架設好網站後,卻遲遲無法透過搜尋引擎找到嗎?快手動登入你的網站讓搜尋引擎找到
TLS 1.0 存在漏洞,在Acunetix 弱點掃描中如果沒有停用TLS 1.0將會被列為中度風險,以apache為例教學關閉 TLS 1.0
2020年7月27日,Laravel 開發團隊針對Laravel 6及Laravel 7發佈了基於安全性問題的更新,此次更新在於解決使用Cookie的漏洞