[그누보드] WAMP와 VS Code에서 개발하기

김희정·2023년 9월 28일
0

프리랜서

목록 보기
4/10

💎 들어가며

이번 포스팅에서는 그누보드 환경에서 개발하기 위해 그누보드의 기반인 WAMP 스택에 대해 정리해보고, VSCode 에서 개발할 수 있도록 세팅해보았습니다.


레거시 기술에 관한 고찰

WAMP 스택의 PHP는 사실상 레거시 기술로 알려져있습니다. 새로운 경험을 하면서 레거시 기술들을 많이 접하게 되는데, 레거시라 치부하며 들여다 보지 않았던 지난 날들을 반성하게 되는 거 같습니다. (특히 신입 시절 많이 접하는 오류라고도 볼수 있죠)

다들 그런 경험이 있지 않나요?

  • 요즘엔 React가 대세지. jQuery를 왜 써?
  • PHP를 아직도 쓰는 곳이 있나? 2010년대도 아니고, 웹은 거의 java나 node를 쓰지
  • ASP.NET, .NET Framework는 완전 레거시하다.

하지만, 레거시 기술이라고 치부하는 것들은 없애고 싶어도 없애지 못하는 존재이며 현재 사회와 공존하고 있습니다. 그누보드를 접하며 많은 회사 홈페이지가 저렇게 구축되고 있었다는 것을 실감하면서 더 와닿았습니다.

더불어 "우리가 레거시라고 치부하는 것들이 과연 레거시일까?"라는 의문이 생겼습니다. 우리가 많이 사용하는 네이버, 구글, 하물며 지금 사용 중인 velog만 봐도 콘솔에 $를 사용할 수 있습니다. (jquery를 사용한다는 방증) 또한, 지속적으로 업데이트 되고 있다는 점에서 경이롭습니다. (물론, 지원과 업데이트가 멈춘 기술은 레거시가 맞습니다.)

과거의 저도 그랬고, 앞으로도 그러한 편견이 없을거라는 장담은 못합니다. 하지만 더 넓은 세상으로 나아가기 위해서는 중요한 것은 편견을 버리고 기술의 임하는 자세라고 생각합니다.


'회사 홈페이지 구축' 도메인

회사 홈페이지 구축 도메인을 접하면서 가장 중요한 부분이 가성비라고 느꼈습니다.

가성비는 즉 최소 인원으로 구축할 수 있는 라이트한 서버, 라이트한 개발이죠. 그들이 필요한 것은 그저 페이지를 통해 소개하는 것일 뿐 부가적인 직접 구축해야 하는 어떤 솔루션도 크게 필요하지 않기 때문에 자바프론트엔드 프레임워크 같은 거창한 것은 그저 돈일 뿐이라는 것이죠

WAMP 스택을 서칭하면서 느낀 점은 쉽게 웹서버를 구축할 수 있으면서, 데이터베이스와 연동할 수 있습니다. 이번 포스팅에서는 제가 느낀 WAMP 스택에 대해 간략하게 소개해보고자 합니다.


1. WAMP

1.1 LAMP vs WAMP

LAMP 스택은 개발자가 웹 사이트와 웹 애플리케이션을 빌드하는 데 사용하는 4가지 소프트웨어 기술(OS, WebServer, DB, Programming)의 번들입니다.

LAMP Stack

LAMP는 Linux(운영 체제), Apache(웹 서버), MySQL(데이터베이스 서버), PHP(프로그래밍 언어)의 두문자어입니다.
LAMP Stack

WAMPLAMP의 OS인 Linux에서 Windows 로 변경된 것일 뿐입니다. 일반적으로 웹서버는 오픈소스 기반인 Linux를 사용하기 때문에 LAMP로 더 알려져 있습니다.


1.2 Apache WebServer

Apache는 대표적인 웹 서버입니다. 웹 서버의 정의는 다음과 같습니다.

What is Web Server?

웹 서버 (Web Server)

웹 서버(Web server)는 다음의 두 가지 뜻 가운데 하나이다.

  • 웹 서버: 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
  • 웹 서버 (하드웨어): 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터

[출저] 위키백과 - 웹서버

서버 컴퓨터웹 서버를 혼용해서 사용하는데, 여기서 웹 서버는 프로그램을 의미합니다. 대표적인 웹서버로는 Apache, Ngnix, IIS 등이 있습니다.


1.3 PHP

PHP의 특징

  • PHP = Hypertext Preprocessor 혹은 Personal Home Page
  • 동적 페이지 개발 가능 = 서버 사이드 스크립트 언어
  • DB 연동 가능

PHPHypertext Preprocessor 의 축약어입니다. 과거에는 Personal Home Page로도 해석되었다고 합니다. PHP가 하이퍼텍스트 전처리기, 개인 홈페이지 등으로 불릴 만큼 강력한 기능이 있습니다. 바로 동적 페이지 개발(서버 사이드 스크립트)이 가능하다는 점입니다.

동적 페이지하면 가장 먼저 떠오르는게 있지 않나요? 바로 JSP입니다. 하지만 JSP를 사용하려면 WAS를 세팅해야 되고, 웹 서버와 웹 어플리케이션을 연동하기 위한 부가적인 세팅을 하는 등 굉장히 복잡한 작업을 거쳐야합니다.

또한 PHP에서는 스크립트 언어에서 MySQL과 같은 데이터베이스에 연결할 수 있습니다.


1.4 MySQL

MySQL 특징

  • 관계형 데이터베이스 (RDB)
  • 오픈소스 라이센스
  • 다양한 프로그래밍 언어와 연동 가능: php, C, C++, Java, 등
  • 대형 데이터베이스 지원

MySQL은 대표적인 관계형 데이터베이스(RDB) 중 하나입니다. 그 이유는 오픈소스 데이터베이스로 알려져 있기 때문입니다. 현재는 오라클 사에 인수되면서 정확히 얘기하면 완전히 무료는 아닙니다. 하지만 커뮤니티 버전을 제공하고 있어, 무료로 사용할 수 있습니다.

대표적인 RDBMS로는 Oracle, MySQL, MS-SQL, PostgreSQL 등이 있습니다.


1.5 Install WAMP

WAMP 프로그램을 설치하면 한번에 아파치(Apache), PHP, MySQL 3개를 동시에 설치할 수 있습니다.

분석 결과, 비트나미(Bitnami)의 WAMP가 가장 유명했지만 지금은 단종되었습니다. 하지만, 아래에 다양한 대안이 있습니다.

대표적인 WAMP 프로그램

  • XAMPP: 아파치, MariaDB, PHP, Perl을 포함한 인기 있는 WAMP 스택. 다양한 OS(Windows, macOS, Linux)에서 사용.
  • WampServer: 또 다른 인기 있는 WAMP 스택. Windows에서 작동. Apache, MySQL, PHP, PhpMyAdmin을 포함하며, 많은 추가 모듈을 사용하여 사용자 정의 환경 가능.
  • EasyPHP: PHP 개발 환경을 제공하는 WAMP 스택. Apache, PHP, MySQL 및 PhpMyAdmin을 포함, 여러 PHP 버전 스위칭 기능 제공.
  • Laragon: Windows에서 사용, PHP 개발자를 위해 설계. Laragon은 Apache, MySQL, PHP, Redis 등을 포함하고 있으며, 깔끔한 사용자 인터페이스와 함께 사용하기 쉬운 설치 제공

WampServer

여기서 처음으로 WampServer를 설치하였습니다. 설치 후 프로그램을 실행한 뒤, localhost에 접속하면 아래와 같은 화면을 볼 수 있습니다. - 다운로드 링크

Server 시작

Wamp Default 페이지

WampServer를 깔고, 서버를 시작해도 cmd에서는 mysql, php 등을 쓸 수가 없습니다.

CMD 에서 사용할 수 있도록 위의 프로그램들을 환경변수에 등록해줍니다.
환경변수 등록


2. 개발 환경 세팅

Visaul Studio Code를 이용하여 개발 환경을 세팅합니다.

2.1 Visual Studio Code

기존의 Java의 경우에는 Eclipse, IntelliJ를 사용했었지만, 가볍게 작업할 퍼블리싱에는 어울리지 않는 거 같아 Visual Studio Code를 설치했습니다.

2.2 VSCode Plugin - PHP

php 환경을 세팅해야하기 때문에 php 플러그인을 설치했습니다.

VSCode PHP 설치화면


2.3 Issue Tracking) Terminal Setting

> php -S localhost:8080 -t 프로젝트 경로 (.)

해당 프로젝트 프로그램을 실행하기 위해서 위 명령을 때려주면 아래와 같이 php를 실행할 수 없다는 에러를 뱉습니다.
php 에러

Ctrl + Shift + P 키를 눌러 다음과 같이 검색한 뒤
Terminal 설정 찾기

Terminal 세팅을 Powershell에서 CMD로 변경해줍니다.
Terminal Setting 변경

명령을 다시 시작합니다.
명령 시작

위의 로그를 보면 서버가 정상적으로 실행된 것을 볼 수 있습니다.

프로젝트를 시작할 준비를 마쳤습니다

Reference

profile
Java, Spring 기반 풀스택 개발자의 개발 블로그입니다.

0개의 댓글