正确获取 debconf-set-selections 以进行 phpMyAdmin 的脚本安装

正确获取 debconf-set-selections 以进行 phpMyAdmin 的脚本安装

我正在 MacBook Pro 上设置一个 Vagrant 盒子(同样,因为向 Apple Silicon 的过渡发生了很大变化),并使用 Ubuntu 20.04 作为客户操作系统。我尝试使用配置脚本完成所有操作,一切都很顺利,直到我开始安装 phpMyAdmin。

以前,我使用的脚本会使用 传递的参数中的用户名和密码来安装 phpMyAdmin,无需用户交互Vagrantfile。该脚本不再起作用(并且由于我的版本控制能力较差,因此完全丢失了)。这是我目前遇到的情况,它在 phpMyAdmin 安装过程中停滞(我必须先终止VagrantMac 上的进程,然后才能vagrant halt回滚到上一个快照)...

#!/bin/sh

# 09 Install phpMyAdmin

# Variables...
# 1 - PMA_USERNAME      = ⚠️ See Vagrantfile
# 2 - PMA_PASSWORD      = ⚠️ See Vagrantfile
# 3 - REMOTE_FOLDER     = "/var/www"

export DEBIAN_FRONTEND=noninteractive

# Add repository for phpMyAdmin
LC_ALL=C.UTF-8 sudo apt-add-repository -yu ppa:phpmyadmin/ppa

# Call the vm_upgrade.sh script
/var/www/provision/scripts/vm_upgrade.sh

# Set phpMyAdmin database user and password for debconf selections
echo "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2" | sudo debconf-set-selections
echo "phpmyadmin phpmyadmin/dbconfig-install boolean true"             | sudo debconf-set-selections
echo "phpmyadmin phpmyadmin/db/app-user string $1"                     | sudo debconf-set-selections
echo "phpmyadmin phpmyadmin/mysql/app-pass password $2"                | sudo debconf-set-selections
echo "phpmyadmin phpmyadmin/app-password-confirm password $2"          | sudo debconf-set-selections

# Install phpMyAdmin
sudo apt -qy install phpmyadmin

# Remove the default phpMyAdmin directory
sudo rm -rf /usr/share/phpmyadmin

# Copy phpMyAdmin to the specified folder
sudo cp -R $3/provision/html/phpmyadmin $3/html/phpmyadmin

# Set permissions
sudo chmod -R 755 $3/html/phpmyadmin

# Enable mbstring
sudo phpenmod mbstring

# Restart Apache to apply changes
sudo systemctl restart apache2

如果我删除export DEBIAN_FRONTEND=noninteractive所有sudo debconf-set-selections行,安装程序将以正常的用户交互方式运行。在那里我接受 2 个默认值(因为我使用的是 Apache),然后输入并确认密码。用户名预设为phpmyadmin。这与在会话中手动安装完全相同vagrant ssh,这就是我安装 phpMyAdmin 并继续前进的方式。

现在我决定在早期阶段更改一些细节,这为正确完成这一部分提供了机会。有人能告诉我如何debconf-set-selections正确使用 phpMyAdmin 吗?

相关内容