我正在 MacBook Pro 上设置一个 Vagrant 盒子(同样,因为向 Apple Silicon 的过渡发生了很大变化),并使用 Ubuntu 20.04 作为客户操作系统。我尝试使用配置脚本完成所有操作,一切都很顺利,直到我开始安装 phpMyAdmin。
以前,我使用的脚本会使用 传递的参数中的用户名和密码来安装 phpMyAdmin,无需用户交互Vagrantfile
。该脚本不再起作用(并且由于我的版本控制能力较差,因此完全丢失了)。这是我目前遇到的情况,它在 phpMyAdmin 安装过程中停滞(我必须先终止Vagrant
Mac 上的进程,然后才能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 吗?