vagrant init debian/bullseye64
vagrant provision
vagrant up
# vagrant up --provision
vagrant ssh
@ /etc/apache2/apache2.conf
EnableSendfile Off
@ ./Vagrantfile
# Setup virtualbox
config.vm.provider :virtualbox do |vb|
vb.name = "debian-server-remote"
vb.memory = 2048
vb.cpus = 2
vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
# Setup ssh
config.ssh.port = 55555
# Setup network
config.vm.hostname = "debian.server.remote"
config.vm.usable_port_range = 2200..55555
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 443, host: 443, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 22, host: 55555, host_ip: "127.0.0.1", id: "ssh"
config.vm.network "private_network", ip: "192.168.33.10"
# Setup sync
UID = 1500
GID = 33
config.vm.synced_folder "./www", "/var/www",
create: true,
owner: UID, # webmaster
group: GID # www-data
# Setup provision
config.vm.provision "shell", path: "provisioner.sh"
# Update / Upgrade
apt-get update
apt-get upgrade -y
apt-get --purge autoremove -y
# Setup Apache Server
apt-get install apache2 -y
apt-get install libapache2-mod-php7.4 -y
a2enmod rewrite
a2dissite 000-default
a2dissite default-ssl
# Setup MySQL Server
apt-get install mariadb-server -y
service mysql restart
# Setup PHP
apt-get install php7.4-common -y
apt-get install php7.4-cli -y
apt-get install php7.4-curl -y
apt-get install php7.4-intl -y
apt-get install php7.4-imagick -y
# Setup PhpMyAdmin
apt-get install phpmyadmin -y
echo 'Include /etc/phpmyadmin/apache.conf' >> /etc/apache2/apache2.conf
# Setup Permissions
adduser --disabled-password --gecos "" webmaster --uid 1500
usermod --password $(echo 123456789 | openssl passwd -1 -stdin) webmaster
usermod -aG www-data webmaster
usermod -d /var/www -m webmaster
echo 'export APACHE_RUN_USER=webmaster' >> /etc/apache2/envvars
service apache2 restart
service ssh restart
# Install Composer
apt-get install composer -y
# Install WP-CLI
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod u+x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
# Install GIT
apt-get install git -y
vagrant reload
# vagrant reload --provision
vagrant status
vagrant plugin install vagrant-share
vagrant share
Disable-WindowsOptionalFeature -FeatureName ServicesForNFS-ClientOnly, ClientForNFS-Infrastructure
-Online -NoRestart
apt-get install nfs-common rpcbind
mount -v -t nfs -o vers=3 192.168.33.1:/c/www /var/www
vagrant ssh -- -t 'sudo mount -v -t nfs -o vers=3 192.168.33.1:/c/www /var/www; /bin/bash'
vagrant halt
vagrant destroy