최근 wordpress를 이용할 기회가 생겨서 한번 배워보려고 한다.
굳이 공부하는대에 가상서버를 띄울 필요는 없기 때문에 local test로 진행하고,
실제 서버에 있는 데이터들을 조작하고, 변경해서 바꿔봐야겠다.
우선 MAMP를 다운로드 받아야 하는데, MAMP는 Mac, Apache, Mysql, PHP 의 약어라고 한다.
로컬 테스트용으로 필요한 모든 기능을 담고있으니 편리하지만.. PHP라니!..
PHP..
우선 테스트를 해보고 판단해봐야 할 듯 하다.
https://www.mamp.info/en/downloads/
설치가 되면,
이런식으로 MAMP PRO(유료)도 동시 설치 되므로, MAMP로 실행하는 것을 잊지 말자
그다음, wordpress를 다운 받도록 하자.
https://wordpress.org/download/
해당 wordpress는 툴같은 것이 아니라 샘플 홈페이지 양식을 가져오기 위함이다.
MAMP의 설정으로 들어가보면, Server 탭의 기본 폴더가 /Applications/MAMP/htdocs로 설정되어있는 것을
볼 수 있는데, 보통 개발자의 경우 /Documents/workspace 를 사용할 거라고 생각된다.
하여, /Users/{유저이름}/Documents/workspace/{폴더명} 로 기본경로를 수정했다.
나는 testWordPress로 이름을 지정했고, wordpress에서 다운받은 파일은 안에다가 넣어주었다.
그다음, MAMP에서 start를 눌러주면
localhost:8888로 접속했을때 MAMP 기본 사이트가 로드된다.
그다음, wordpress에서는 db를 사용하기 때문에, db를 만들어주도록 하자.
MAMP에서 기본적으로 mysql를 설치했는지 구성요소들의 db가 이미 있었고,
새로 testDB라는 친구를 만들어준다.
이렇게 table도 없는 껍대기 db를 만들어준 후에, my website를 눌러서 들어가보자.
그러면 wordpress의 설치 마법사가 등장한다.
아 ㅎㅎ 역시 한국어지 ^^.
이렇게 아까 만들어두었던 testDB로 연결한다.
이제 wordpress의 admin페이지로 로그인이 가능하다.
그다음 default port 인 8888번 /localhost:8888로 들어가보면 wordpress에서 다운받았던 페이지가 나타난다.
짠!
이제 admin에서 간단한 작업들을 수행해서 적용을 눌러주면 바로 배포가 된다.
* 잠깐 사용해 보는 동안 작성해보는 wordpress 특징 *
아직 초보이기 때문에 모르는 부분이 많음!
워드프레스의 장점이라고 하면 흔히
쉬움, SEO, 보안, 유연성, 관리 용이 등을 꼽는다.
실제로 그런가?
1. 굉장히 복잡하다
수많은 플러그인, 수많은 테마가 있으며 입맛대로 커스터마이징을 하기 위해서는 꽤나 코딩능력이 필요하다.
왜냐하면, 이미 틀을 가지고 시작하는 것이기 때문에 사용자가 컨트롤 할 수 있는 부분이 많지않으며
메인코드를 건드리지 않는 선에서 css나 기능 커스터마이징을 하기 때문에
꽤나 복잡한 코드를 만들게되고, 보기도 지저분하다.
게다가 플러그인들과 다른플러그인 또는 테마가 충돌이나서 에러나는 경우도 꽤나 많았으며
충돌에러 해결이라는 이름으로 크몽이나 숨고에서 활동하시는 고수분들도 계실정도.
게다가 개인이 만드는 플러그인/테마다 보니 사용하는 방법도 그들만이 알고 있는데 매뉴얼이 친절할리 없다.
2. 기능이 확장이 어렵다
물론 수많은 플러그인으로 구현이 가능하지만,
애초에 입맛대로 컨트롤하기도 힘들고 단순 로그인 구현하는 것도 꽤나 오래걸렸다.
플러그인마다 페이를 제공해야 되는 것도 달랐고,
클릭 한 두번에 결제시스템을 추가할 수 있는 다른 CMS랑은 난이도 자체가 달랐다.
테스트하는 것도 꽤나 고역이고, 페이를 제공해서 서비스를 내가 쓰는거지만,
오류가 나면 해결하는것도 내 역할이다.
3. 보안이 우수한가?
이 부분도 지속적인 업데이트가 되고있고, 플러그인도 꽤나 많다.
하지만 워드프레스로 제작된 페이지들의 게시판에서 xss 테스트를 진행해보면
플러그인 업데이트가 되어있지않아서 스크립트가 잘 먹히는곳도 존재한다.
security-filter를 내가 자유롭게 컨트롤 하지 못하는 곳에서
이어붙이기식 코드로 일일히 컨트롤한다는건 생각보다 꽤 어려운 일이였다.
당연히 로깅도 잘 이루어지지 않기도 했고,
실제로 오픈소스이기때문에 구조가 다 드러난다는 점도 문제였다.
당장 워드프레스로 제작된 홈페이지 뒤에 /wp-admin 만쳐도 로그인페이지로 넘어가는 곳이 많다.
로그인 제한도 입맛대로 걸어야하고, 페이지 요청간 인터셉트하는 것도 찾기 힘들어서 결국 내가 만들어야 했다.
트레픽 제어도 쉽지 않았기 때문에 apache 설정도 필요하다
단순 홈페이지가아닌 트레픽이 있는 곳이라면
was상에서 ELB(external load balance)를 적용하고
redis같은 session store를 이용하거나 aws의 sticky session등을 추가로 적용해야 하는데
역시 규모가 큰 홈페이지에서는 wordpress를 채택하기란 쉽지 않을 듯 하다.
4. 그럼에도 불구하고 구축 자체는 빠르다
세세한 작업이 필요하지 않은 단순 소개용 홈페이지,
개인정보가 필요없는 게시판, 블로그 등은
정말 순식간에 만들 수 있다.
안정성이 보장된 유명한 플러그인과 매주 새로나오는 맛깔나는 무료 테마들로
디자이너 없이 꽤나 멋진 플랫폼을 구성 할 수 있다는 것은 매력적이다.
하지만 구축 이후에는?
지속적인 플러그인 업데이트가 필요하고 단어 하나 바꾸는대에도 번잡한 과정을 거쳐야 한다.
잘 생각해보면 wordpress는 절대 가벼운 프로그램이 아니다..
커스터마이징이 어떻게 보면 필수인데, php mysql html css를 결국 공부해야한다면
유지보수 측면에서나 기능 확장성 등에서는 Node.js가 월등히 앞설 수 밖에 없을 듯 하다.
그런것 없이도 아주 간단한 페이지를 만든다면 오히려 Wix가 좋은 대안이 되지 않을까?
5. 그렇다면 왜 wordpress인가?
wordpress는 정말 매력적인 CMS였다. 많은 사람들이 배웠고 또한
웹사이트의 40%가 wordpress로 만들어져 있기 때문에 당연하게도 wordpress 개발자가 많다.
(개발자 입장에서는 wordpress가 당연히 접근성이 좋다.
웹 구축자체는 빠르고 업체가 원하는 디자인(테마)를 자신이 하지않고 찾을 수 있기 때문에
웹디자이너를 제외한다는 것만으로도 큰 메리트)
숨고나 크몽같은 곳에서 웹사이트 제작하는 사람들은 wordpress로 자주 구축하게 되는 듯 하다.
그래야 짧은시간에 많은 사이트를 구축하고 유지보수때에 또다시 계약할 수 있게 된다
결국, 코딩을 할 수 없는 사람들을 위해 쉽게 wordpress라는 CMS를 만든거지만,
개발 및 유지보수 기능확장등은 쉽게 할 수가 없기 때문에 아이러니 하게도 개발자를 찾게된다.
CMS로 더 좋은 대안이 있어도 wordpress가 다져놓은 시장이 이미 크기 때문에
쉽게 바뀔것 같지는 않다.
'프로그래밍 공부 > Etc' 카테고리의 다른 글
인스타그램 맞팔 확인 방법 (8) | 2024.07.05 |
---|---|
naver cloud platform - MSA (0) | 2022.07.19 |
[Centos7] gitlab-runner 설치 및 연결 (0) | 2021.12.20 |
[Centos7 x86_64] Docker 다운로드 및 연결 (0) | 2021.12.16 |
[Vault] KMS (0) | 2021.11.04 |