Hiện nay, chúng ta khi phát triển hệ thống website luôn thao tác mọi thứ trên Linux, Nếu bạn bạn là lập trình viên PHP thì sẽ càng có lợi hơn khi sử dụng Linux, Ngoài ra trong một số trường hợp, bạn muốn tạo một máy chủ ảo Linux riêng để phục vụ cho việc học chẳng hạn, mà bạn lại không muốn mất tiền mua VPS hoặc bạn không muốn chuyển máy tính bạn qua hệ điều hành Linux vì bạn sợ có thể bạn không quen đến hệ điều hành Linux nhiều. Vậy thì chúng ta sẽ tạo môi trường Linux trên chính máy Windowns của bạn.

Trong bài viết này, mình sẽ giới thiệu bạn đến một công cụ khác và bạn có thể sử dụng kèm theo VirtualBox để tạo ra môi trường Linux một cách nhanh chóng, đơn giản nhất và chuyên nghiệp đó là công cụ Vagrant.

Để bắt đầu tiến hành dựng môi trường Linux, bạn cần phải cài đặt git trước khi bắt đầu nha

http://git-scm.com/download/win

Cài đặt VirtualBOX

Đầu tiên, bạn cần phải tải file cài đặt VirtualBox bằng đường link dưới đây

https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-Win.exe

Sau đó, bạn tạo thư mục VirtualBox theo đường dẫn như sau

D:\VirtualBox

Tiếp theo, bạn chỉ cần cài đặt VirtualBox theo đường dẫn trên. Vậy là chúng ta đã cài đặt xong phần VirtualBox rồi.

Cài đặt Vagrant

Đầu tiên, bạn cũng cần phải tải file cài đặt Vagrant bằng đường link dưới đây

https://releases.hashicorp.com/vagrant/2.2.18/vagrant_2.2.18_x86_64.msi

Sau đó, bạn tạo thư mục Vagrant theo đường dẫn như sau

D:\Vagrant

Tiếp theo, bạn chỉ cần cài đặt Vagrant theo đường dẫn trên. Sau khi cài đặt, bạn tạo thêm một số thư mục theo đường dẫn bên dưới

D:\Vagrant\project
D:\Vagrant\.vagrant.d

Cấu hình VAGRANT_HOME

1. Mở Windows Control Panel

2. Chọn User Accounts, sau đó chọn User Accounts

3. Chọn Change my environment variables

4. Chọn New...

Tạo môi trường Linux

Đầu tiên, bạn tạo thư mục main theo đường dẫn bên dưới

D:\Vagrant\project\main

Tiếp theo, trong folder trên bạn mở git bash và chạy lệnh sau

truncate Vagrantfile -s 0

Sau đó, bạn copy nôi dung sau vào file Vagrantfile

Vagrant.configure(2) do |config|
  config.vm.box = "centos/8"
  config.ssh.insert_key = false
  config.vm.synced_folder '.', '/vagrant', disabled: true

  config.vm.define "vm1", autostart: false do |cf|
    cf.vm.hostname = "manhdan-10-11-12-2"
    cf.vm.network "public_network", ip: "10.11.12.2", netmask: "255.255.240.0", gateway: "10.11.0.1"
    cf.vm.provider "virtualbox" do |vb|
      vb.name = "template"
      vb.customize ["modifyvm", :id, "--memory", "512", "--cpus", "1" ,"--ioapic", "on"]
    end
  end
  #config.vm.provision "shell", inline: <<-SHELL
  #  mount /dev/sdc1 /data/
  #  service smb restart
  #SHELL
end

Tiếp theo, bạn mở git bash và chạy lệnh sau

vagrant up vm1 --provision

Tiếp theo, bạn kết nối vào máy ảo bằng lệnh sau

vagrant ssh vm1

Tiếp theo, bạn cài đặt trình soạn thảo vim

sudo su
dnf install vim

Chỉnh sửa ssh config

vim /etc/ssh/sshd_config
Thay đổi PasswordAuthentication no thành PasswordAuthentication yes
systemctl restart sshd
exit

Bây giờ bạn có thể SSH với user `root` và password `vagrant`. Cuối cùng là bạn cần tắt selinux

vim /etc/selinux/config
Thay đổi SELINUX=enforcing thành SELINUX=disabled

Các command line thường sử dụng

- Thêm box
vagrant box add name_box path_box
- Hiển thị danh sách các box
vagrant box list
- Xóa box
vagrant box remove name_box
- Tạm dừng box
vagrant halt
- Khởi động lại box
vagrant reload --provision
- Xóa vagrant
vagrant destroy --fore
- Đăng nhập vào máy ảo
vagrant ssh
- Khởi động vagrant
vagrant up --provision

Tôi hy vọng bạn thích hướng dẫn này. Nếu bạn có bất kỳ câu hỏi nào hãy liên hệ với chúng tôi qua trang contact. Cảm ơn bạn.

CÓ THỂ BẠN QUAN TÂM

Laravel Change Expire Time Cookie Remember

Laravel Change Expire Time Cookie Remember

Vấn đề Đôi khi, trang web của bạn chỉ muốn người dùng sử chức năng remembering users  trong 7 ngày hoặc là 30 ngày chẳng hạn. Nhưng Authentication của Laravel không cung cấp cho chúng ta tùy chọn đ...

Laravel One to One Eloquent Relationship

Laravel One to One Eloquent Relationship

Mối quan hệ một-một là một mối quan hệ rất cơ bản. Trong hướng dẫn này, tôi sẽ hướng dẫn bạn cách tạo dữ liệu và truy xuất dữ liệu bằng Eloquent Model. Trong hướng dẫn này, tôi sẽ tạo hai bảng là u...

ZSH-Artisan CLI and Docker: The Perfect Match for Laravel Development

ZSH-Artisan CLI and Docker: The Perfect Match for Laravel Development

Zsh Zsh viết tắt của “ Z Shell ” là một shell nâng cao cho hệ thống Unix và Linux. Nó được phát triển nhằm cung cấp các tính năng và khả năng cao hơn so với shell mặc định trên hầu hết các hệ thố...

Cài Đặt SQL Server 2019

Cài Đặt SQL Server 2019

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệ...

ManhDanBlogs