본문 바로가기

다른 IT 정보

LAMP Stack on Vagrant on Windows - 윈도에서 Vagrant에서 LAMP Stack 구축하기

반응형

Vagrant

이전 포스트에서 LAMP Stack에 대해 알아봤다.

편하게 리눅스나 맥 OS에서 LAMP Stack 환경을 만들기는 어렵지 않다.

하지만, 사용하는 컴퓨터가 바뀔 때마다 매번 같은 방식으로 설치하는 방법도 상당히 귀찮기도 하고

또 다른 운영체재에 같은 LAMP Stack을 구축하는 방법도 매번 달라지니 쉽지 않다.

그렇다면 그 모든 것을 쉽게 하기 위해서 한 가지 방법 중엔 Vagrant를 사용하여

LAMP Stack 환경을 구축하는 것이다.

Vagrant는 기본 VMWareVirtualBox가 필요하다.

 

윈도에서 LAMP Stack 환경 만들기

- VirtualBox 설치하기 - https://www.virtualbox.org/wiki/Downloads

- Vagrant 설치하기 - https://developer.hashicorp.com/vagrant/downloads

- 새로운 디렉터리를 만들고 해당 디렉터리로 이동하기.

# home directory에 Vagrant 디렉토리 만들고 Vagrant 디렉토리로 이동하기
cd %HOMEDRIVE%%HOMEPATH%\Vagrant

- Vagrant를 초기화합니다.

vagrant init

- 초기화 이후 자동으로 만들어진 Vagrantfile을 열어서 가상 머신의 구성을 수정한다.

# 이 구성은 Ubuntu 18.04 LTS를 기반으로하는 가상 머신을 만들고, 
# 개인 네트워크 IP 주소를 192.168.33.10으로 설정하며, 2GB의 메모리와 2개의 CPU를 할당한다. 
# 또한, Apache, MySQL, PHP 및 필요한 모듈을 설치하고 방화벽에서 Apache Full을 허용한다.

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
    vb.cpus = "2"
  end
  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get install -y apache2 mysql-server php libapache2-mod-php php-mysql
    sudo ufw allow in "Apache Full"
  SHELL
end

- 가상 머신을 시작한다.

vagrant up

- 가상 머신에 SSH로 접속한다.

vagrant ssh

- LAMP 스택이 정상적으로 설치되었는지 확인한다.

sudo systemctl status apache2
sudo systemctl status mysql

이제 Vagrant를 사용하여 LAMP 스택을 설정할 수 있다.

모든 게 완벽하게 설치되고 나면 VirtualBox에서 Snapshot을 만들고 나면, 나중에 쓰고 있는 VMBox에 문제가 생겨도 쉽게 복원할 수 있다.

 

다음에는 Ansible이라는 것으로 위에 모든 것을 자동으로 구동할 수 있는 방법을 알아보겠다.

 

 

Downloads – Oracle VM VirtualBox

Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to the terms and conditions of the respective license. If you're looking for the latest VirtualBox 6.1 packages, see Virt

www.virtualbox.org

 

Install | Vagrant | HashiCorp Developer

Explore Vagrant product documentation, tutorials, and examples.

developer.hashicorp.com

 

다른 재미있는 이야기

 

DevOps는 무엇이며, 무슨 일을 하는 가?

DevOps라는 직책이 생긴 지는 한참 된듯하다. 예전에 웹개발자로 일하면서 8-9년전부터 흔히 보였다. 물론 그전부터 생겨진 직책이겠지만.. 그때는 DevOps라는 직책이 하는 일이 정확히 알지 못했고

canada-coder.tistory.com

 

PHP를 사용하여 챗GPT 호출하기 - ChatGPT

예전에 Python을 이용하여 챗GPT를 호출하는 코드를 따라 해 본 적이 있었다. 대부분 Python을 사용하는 코드는 많이 존재하는 거 같은데, 나는 PHP를 이용하여 ChatGPT를 사용하는 코드를 한번 작성해

canada-coder.tistory.com

 

MVC Framework는 무엇인가?

MVC Framework MVC(Mode-View-Controller) 프레임워크는 소프트웨어 개발에서 자주 사용되는 디자인 패턴 중 하나이다. 이 패턴은 소프트웨어를 구성하는 세 가지 구성 요소를 분리함으로써 코드의 가독성,

canada-coder.tistory.com

 하고 싶은 말씀이 있으시다면 위에 방명록에 남겨 주기면 감사하겠습니다.

반응형

'다른 IT 정보' 카테고리의 다른 글

왜 모두가 틱톡 (TikTok)을 싫어 하는 가?  (0) 2023.03.29