-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
17 changed files
with
222 additions
and
1,166 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,105 +1,71 @@ | ||
# -*- mode: ruby -*- | ||
# vi: set ft=ruby : | ||
|
||
# All Vagrant configuration is done below. The "2" in Vagrant.configure | ||
# configures the configuration version (we support older styles for | ||
# backwards compatibility). Please don't change it unless you know what | ||
# you're doing. | ||
Vagrant.configure(2) do |config| | ||
# The most common configuration options are documented and commented below. | ||
# For a complete reference, please see the online documentation at | ||
# https://docs.vagrantup.com. | ||
Vagrant.configure("2") do |config| | ||
config.vm.box = "generic/fedora30" | ||
config.vm.network "private_network", ip: "192.168.50.10", virtualbox__intnet: false | ||
|
||
# Every Vagrant development environment requires a box. You can search for | ||
# boxes at https://atlas.hashicorp.com/search. | ||
|
||
config.vm.box = "centos/7" | ||
# Disable automatic box update checking. If you disable this, then | ||
# boxes will only be checked for updates when the user runs | ||
# `vagrant box outdated`. This is not recommended. | ||
# config.vm.box_check_update = false | ||
#config.vbguest.auto_update = true | ||
# Create a forwarded port mapping which allows access to a specific port | ||
# within the machine from a port on the host machine. In the example below, | ||
# accessing "localhost:8080" will access port 80 on the guest machine. | ||
# config.vm.network "forwarded_port", guest: 80, host: 8080 | ||
|
||
# Create a private network, which allows host-only access to the machine | ||
# using a specific IP. | ||
# config.vm.network "private_network", ip: "192.168.0.115" | ||
if Vagrant.has_plugin? "vagrant-vbguest" | ||
config.vbguest.no_install = true | ||
config.vbguest.auto_update = false | ||
config.vbguest.no_remote = true | ||
end | ||
config.hostmanager.enabled = true | ||
config.hostmanager.manage_host = true | ||
config.hostmanager.manage_host = false | ||
config.hostmanager.manage_guest = true | ||
config.hostmanager.ignore_private_ip = false | ||
config.hostmanager.include_offline = true | ||
|
||
# Create a public network, which generally matched to bridged network. | ||
# Bridged networks make the machine appear as another physical device on | ||
# your network. | ||
|
||
config.vm.network "public_network" | ||
config.vm.hostname = 'mysql57' | ||
config.hostmanager.aliases = %w(mysql57.localdomain mysql57.local) | ||
# Share an additional folder to the guest VM. The first argument is | ||
# the path on the host to the actual folder. The second argument is | ||
# the path on the guest to mount the folder. And the optional third | ||
# argument is a set of non-required options. | ||
# config.vm.synced_folder '.', '/vagrant', disabled: true | ||
config.vm.synced_folder "./data", "/data" | ||
config.vm.hostname = 'fedora-generic' | ||
config.hostmanager.aliases = %w(fedora-generic.localdomain fedora-generic.local fcg.local) | ||
|
||
config.vm.synced_folder "/home/jmren/VagrantMachines/VagrantData", "/data" | ||
|
||
# Provider-specific configuration so you can fine-tune various | ||
# backing providers for Vagrant. These expose provider-specific options. | ||
# Example for VirtualBox: | ||
# | ||
config.vm.provider "virtualbox" do |vb| | ||
vb.name = "mysql57" | ||
vb.memory = "2048" | ||
vb.cpus = 2 | ||
vb.name="fedora-generic" | ||
vb.gui = false | ||
vb.memory = "3036" | ||
vb.cpus = 4 | ||
end | ||
# | ||
# View the documentation for the provider you are using for more | ||
# information on available options. | ||
|
||
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies | ||
# such as FTP and Heroku are also available. See the documentation at | ||
# https://docs.vagrantup.com/v2/push/atlas.html for more information. | ||
# config.push.define "atlas" do |push| | ||
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" | ||
# end | ||
|
||
# Enable provisioning with a shell script. Additional provisioners such as | ||
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the | ||
# documentation for more information about their specific syntax and use. | ||
config.vm.provision "shell", inline: <<-SHELL | ||
sudo yum -y update | ||
echo "secret" | sudo passwd --stdin root | ||
echo "secret" | sudo passwd --stdin vagrant | ||
sudo cp -pr ~vagrant/.ssh /root | ||
sudo chown -R root.root /root/.ssh | ||
sudo yum -y install git python | ||
sudo pip install --upgrade pip | ||
if [ ! -d "/data/MySQLTuner-perl" ]; then | ||
cd /data | ||
sudo git clone https://github.com/major/MySQLTuner-perl.git | ||
fi | ||
sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-fc23-7.noarch.rpm | ||
sudo yum -y install perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils | ||
sudo cpanm install File::Util | ||
sudo yum -y install mysql-community-server mysql-community-client wget | ||
sudo systemctl start mysqld.service | ||
PASSWORD=$(sudo grep -i "temporary password" /var/log/mysqld.log | cut -d':' -f4 | xargs -n 1 echo) | ||
echo "PASSWORD: $PASSWORD" | ||
mysql -uroot -p$PASSWORD --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySqlSecr3t#'" | ||
mysql -uroot -psecret -e 'select version();' | ||
cd /data | ||
[ -f "employees_db-full-1.0.6.tar.bz2" ] || sudo wget "https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2" | ||
sudo tar xvjf employees_db-full-1.0.6.tar.bz2 | ||
cd employees_db | ||
cat employees.sql | mysql -uroot -pMySqlSecr3t# | ||
sudo dnf -y update | ||
sudo dnf -y install telnet vim-enhanced net-tools git python python2-pip python34-PyYAML moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 chromedriver wget | ||
sudo dnf -y install python34-pip moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 wget python-beautifulsoup4 npm rclone golang yum-utils device-mapper-persistent-data lvm2 docker | ||
cd .. | ||
cd MySQLTuner-perl | ||
echo "alias h='function hdi(){ howdoi \$* -c -n 5; }; hdi'" >> /tmp/util.sh | ||
echo "alias s=sudo" >> /tmp/util.sh | ||
echo "alias h=history" >> /tmp/util.sh | ||
echo "alias hserver='python -m http.server 8000'" >> /tmp/util.sh | ||
sudo cp /tmp/util.sh /etc/profile.d | ||
cat /tmp/util.sh | ||
perl mysqltuner.pl --user root --pass MySqlSecr3t# --idxstat --dbstat | ||
SHELL | ||
config.vm.provision :hostmanager | ||
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 | ||
sudo dnf -y install dnf-plugins-core | ||
sudo dnf config-manager \ | ||
--add-repo \ | ||
https://download.docker.com/linux/fedora/docker-ce.repo | ||
sudo dnf -y install docker-ce docker-ce-cli containerd.io | ||
dnf list docker-ce --showduplicates | sort -r | ||
sudo systemctl start docker | ||
sudo systemctl enable docker | ||
sudo usermod -aG docker vagrant | ||
sudo systemctl daemon-reload | ||
true | ||
########################################## | ||
# Install container | ||
sudo systemctl restart docker | ||
SHELL | ||
config.vm.provision :hostmanager | ||
end | ||
|
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.