wget https://phpmyadmin.net
tar -zxvf phpMyAdmin-5.2.3-all-languages.tar.gz
sudo mv phpMyAdmin-5.2.3-all-languages /var/www/html/phpmyadmin
cd /var/www/html/phpmyadmin
sudo cp config.sample.inc.php config.inc.php
產生一組 32 字元的隨機密碼
openssl rand -base64 24
(複製畫面上產生出來的那段隨機字串)到記事本
sudo nano config.inc.php
填入金鑰:
找到 $cfg['blowfish_secret'] = ''; 這一行,將剛剛複製的字串填入單引號中
代碼: 選擇全部
$cfg['blowfish_secret'] = '你的32位元隨機字串';sudo chown -R www-data:www-data /var/www/html/phpmyadmin
sudo chmod -R 755 /var/www/html/phpmyadmin
phpMyAdmin 需要一個儲存快取與暫存檔的目錄,且必須讓網頁伺服器擁有讀寫權限
sudo chmod -R 777 /var/www/html/phpmyadmin/tmp
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
代碼: 選擇全部
Alias /phpmyadmin /var/www/html/phpmyadmin
<Directory /var/www/html/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride None
# 1. 限制只有指定 IP 可以使用
<RequireAny>
Require ip 127.0.0.1
Require ip 123.240.180.243
</RequireAny>
# 2. 將此目錄下的所有 PHP 檔案交給 PHP 8.5-fpm 處理
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.5-fpm.sock|fcgi://localhost"
</FilesMatch>
</Directory>
# 安全考量:禁止直接存取 phpMyAdmin 的內部目錄
<Directory /var/www/html/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /var/www/html/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /var/www/html/phpmyadmin/setup>
Require all denied
</Directory>
sudo a2enconf phpmyadmin
sudo apache2ctl configtest
sudo a2enmod proxy_fcgi setenvif
sudo a2enmod proxy
sudo systemctl restart php8.5-fpm
sudo systemctl restart apache2