IT이야기/웹서버구축2017. 6. 16. 14:52

-윈도우에서 APM(Apache, Php, Mysql) 웹서버를 설치해 봅시다.


버추얼박스를 쓴다거나 아마존이나 구글클라우드 같은 것을 이용하지 않는다면 보통 한국에서는 윈도우 환경에서 작업을 하시리라 생각됩니다.

리눅스에서는 명령어 몇번이면 주루루룩 설치가 다되던데, 윈도우에서는 어떻게 해야 할까요?


윈도우용으로 편리하게 더블클릭하고 예 예 몇번 누르면서 설치한번에 웹서버를 구축할수 있는 패키지들이 존재합니다.아파치는 아무래도 리눅스 베이스로 만들어진 프로그램이다보니 윈도우에서는 제 속도가 나오지 않는다고 합니다. 보통 이 프로그램들은 리눅스 서버 입문자의 디버깅 환경 구축용 혹은 PHP+MySQL 연습용 정도로 쓰는 분들이 많다고 하네요. 거기다 윈도우 서버에는 MS가 자체적으로 만든 인터넷 정보 서비스(IIS)가 있기 때문에, IIS에 FastCGI 모듈로 PHP를 연결시켜서 돌리는 것이 보통이라고 합니다. 이 때문에 PHP의 윈도우 버전은 IIS용과 Apache용이 따로 나옵니다.

그래도 일단 집에서 mysql 가지고 놀고, php뛰워서 쿼리날리고 화면 뛰우는정도 연습하려면 아주 유용하게 쓰입니다.

그리고 공유기 포트 열어서 외부에서 접속하는것도 가능합니다. 유동아이피라 다시 접속할때 바뀔수도 있지만요.



-Autoset


홈페이지 링크

홈페이지에 있는 설명을 발췌하였습니다.


오토셋을 이용하면, 개발/운영을 위한 웹 서버(Apache HTTP Server)와 PHP, MySQL, CUBRID 설치를 위해 투자하는 시간을 절약하실 수 있습니다.

오토셋은 신속하게 기반 시스템을 설치 할 수 있도록 패키지가 구성되어 있으며, 사용자가 선택적으로 필요한 요소를 설치할 수 있도록 제공하고 있습니다.

3분만 투자하세요. 그러면 초보도 내 컴퓨터에서 홈페이지를 만들고, 운영 할 수 있는 환경이 만들어 집니다.

오토셋 매니저는 텍스트 파일로 구성되어 있는 Apache HTTP Server, PHP, MySQL, CUBRID의 주요 설정 파일을 GUI 기반으로 쉽고 간편하게 변경 할 수 있도록

다양한 기능을 제공합니다. 각 서버별로 가지고 있는 설정 방법, 내용을 외우고 있을 필요가 없습니다.



-apmsetup


홈페이지 링크

공식 홈페이지는 현재 문이 닫혀있습니다. 

아마 제가 제일 처음으로 써본 윈도우용 apm 패키지일것입니다. 10여년도 전에 사용했었군요.

apmsetup7이 올라온지 엄청 오래된 버전인데. 어느센가 업데이트도 안되더니 결국 사이트도 문을 닫았더군요.

내 컴퓨터를 웹서버로 활용 할수 있도록 Apache, PHP, MySQL, Perl을 자동 설치 및 설정해주는 프로그램입니다.

그래도 아직 네이버 자료실에 올라온게 있어서 다운받을수는 있습니다.

블로그에 글들을 보면 php5.6 버전으로 업그레이드 할수도 있다고 본거같은데, 일단 옛날버전에 64bit 컴퓨터에 설치하려면 불가능은 아니지만 번거롭습니다.

자료실링크


-홈페이지 접속시 매드사이언티스 같은 캐릭터가 보이는군요.


-wampserver

홈페이지 링크

외국 사이트인데, 요즘 윈도우용 웹서버 구동할때 많이 사용한다고 들었습니다.

사이트에서 발췌한 프로그램 설명입니다.


WampServer installs automatically all you need to start developing web applications and is very intuitive to use. 

You will be able to tune your server without even touching the setting files.

WampServer는 웹 애플리케이션 개발을 시작하는 데 필요한 모든 것을 자동으로 설치하며 사용하기가 매우 쉽습니다. 설정 파일을 터치하지 않고도 서버를 조정할 수 있습니다.



-xampp

홈페이지 링크

다른 프로그램들도 유명하지만 xampp의 경우, 위키피디아에 등제될만큼 유명한 프로그램입니다.

그리고 주기적으로도 계속 업데이트 되고 있고, php7 시리즈도 지원되는군요.


XAMPP는 크로스 플랫폼 웹 서버 자유 소프트웨어 꾸러미이다. 

아파치 웹 서버 MySQL, PHP, 펄을 포함하고 있다. 

GNU 일반 공중 사용 허가서로 배포되며 자유롭고 쓰기 쉬운 웹 서버이다. 

마이크로소프트 윈도, 리눅스, 솔라리스, 맥 오에스 텐 등에서 동작하며 주로 웹 개발에 사용된다.

XAMPP는 설치 환경에 따라 zip 또는 tar 형식의 압축 파일이나 EXE 실행 파일, 맥 오에스 텐 패키지 등의 실행으로 바로 작동되며 설정이 거의 필요없다. 

정기적으로 구성물을 최신으로 유지한다. 오픈SSL과 phpMyAdmin 등도 포함한다.

XAMPP를 설치하는 것은 각각의 구성물을 설치하는 것에 비해 훨씬 시간을 적게 소비한다.

한 컴퓨터에 자기 자신을 포함해 여러개의 구현물이 있을 수 있고, 다른 컴퓨터로 바로 복사할 수도 있다.

가볍게 만들어진 작은 버전도 있다.


위 프로그램들을 이용하여 손쉽게 윈도우에서 웹서버 환경을 구축해볼수 있습니다.

Posted by Joseph514
IT이야기/입코딩2017. 4. 20. 09:59


-PHP란 무엇일까요?



2000년도 초반에 제가 처음으로 접한 웹 언어이며, 현재까지도 취미(?)로 가지고 노는 언어입니다.

Rasmus Lerdorf (라스무스 러돌프)에 의해 최초개발되어졌으며, 오픈소스입니다. 공식사이트 링크

대표적인 서버사이드 스크립트 언어로 한국을 비롯한 전 세계 수많은 웹 시스템의 기반이 되는 언어라고 합니다. 

비슷한 언어로는 ASP, JSP, CGI, ROR 등이 있습니다. 

C-like 문법(이전 버전에서는 C언어와 유사한 문법이라 써있었으나 php 해보면 C보다 오히려 perl과 유사함을 알 수 있다. 다만 C언어 문법에서 파생된 문법을 사용하므로 C-like로 바꿈.)을 사용합니다. 

소규모 웹 페이지 제작시 쉽고 빠르다는 점에서 사용자, 사용처가 많다고 합니다.

PHP라는 이름은 원래 Personal Home Page Tools이나, 지금은 PHP: Hypertext Preprocessor라는 재귀 약자를 사용하고 있습니다.

워드프레스, 미디어위키 등의 많은 애플리케이션이 PHP로 짜여져있습니다. 

의외로 웹서핑을 해보면 쓰이는 곳이 많습니다. 우리나라 한정으로 엄청난 점유율을 보이는 XpressEngine과 그누보드 역시 PHP로 된 CMS 솔루션입니다. 

한때 포털사이트나 기업이 운용하는 웹사이트에서도 PHP를 사용하긴 하였는데, 속도면이나 협업이 힘들다는 이유로 현재는 Java 계열의 JSP나 C# 계열의 ASP.NET으로 옮겨갔습니다. 

참고로 JSP나 ASP.NET은 로드 밸런싱 기능이 포함되어 있어서 상대적으로 웹 서버의 부하를 줄여주는 효과가 있으며, PHP에 비해 협업환경에서 사용이 유용하도록 설계되었습니다. 

이러한 단점 때문에 IT관련 기업 외부노출 페이지를 PHP로 짠다면 제대로 된 회사가 아니라는 얘기까지 있을 정도이더군요. 

페이스북은 이전에는 PHP를 주 언어로 사용하다가 2014년 자사에서 PHP 기반으로 개발한 Hack이라는 언어를 사용합니다. 

링크


PHP의 문제점 중 가장 큰 문제는 언어 구조 및 설계상 안정하지 않다는 점입니다. 

대표적으로 표준 라이브러리의 함수 이름에 일관성이 없는 점이 있습니다. 

이는 PHP가 처음부터 면밀한 디자인적 고려 없이 개인 웹페이지만을 위해 만들어진 언어였기 때문이라고 합니다. 

설계 당시 협업환경을 고려하지 않은 채 설계해서 생긴 문제인 것이라고 하네요.

개인 웹호스팅 쪽으로 내려오면 여전히 PHP가 강세 입니다. 

JSP의 경우에는 아파치 HTTP 서버나 IIS말고도 톰캣이란 별도의 서버툴을 설치해야 되는데 설치는 둘째치고 코드가 갱신될 때마다 톰캣 서버쪽에도 반영을 해줘야 합니다. 

이게 서버 관리자 입장에서는 은근히 귀찮습니다. 

ASP.NET은 일단 .NET이 기반이라 마이크로소프트의 운영체제와 IIS를 설치해야 되는데 문제는 이게 다 라이센스비 깨지는 것들입니다.

본인이 꼭 필요하다면 지원하는 곳을 찾을 수는 있는데 비용이 꽤 많이 든다는 점을 염두에 두어야 합니다.

예전에는 협업이 쉽지 않은 언어였습니다.

MVC 패턴을 적용하기에는 PHP가 주로 사용되는 개발 환경상의 난점이 있었고, 프레임워크도 그동안 변변치 않았기 때문입니다. 

물론 이건 모두 과거형으로, 2010년 이전의 내용입니다. 

당연한 이야기지만 시간이 지나면서 꽤 많이 해결된 문제로, MVC 패턴은 Codeigniter와 Laravel이 나오면서 거의 대부분 해소되었습니다. 

적용 문제는 상술했듯이 개발 환경과 개발자들의 문제가 대다수이고 언어 자체에 결함이 있는 것은 아닙니다. 

특히 Laravel 프레임워크가 대중화되면서 가장 많이 사용되고 있습니다. 

XE도 이번에 개발되는 버전 3부터 적용한다고 하네요. 

추가로 Framework Interop Group에서 제안한 PSR 규칙으로 인해 많은 프레임워크들이 정규화되어가는 추세입니다.

종종 JSP와 비교되기도 하지만 PHP와 JSP는 둘 다 태생적 한계가 있으므로 각 언어의 특징 정도로 알아두는 것이 좋습니다. 

한국 한정으로 PHP 개발자에서 JSP 개발자로 넘어가는 일이 상당히 많은데, 이는 돈 많이 주는 정부가 JSP로 만들어진 사이트를 시스템 통합 업체에 요구하기 때문이라고 하네요. 

덕분에 영향을 받은 많은 회사들이 JSP로 개발을 하다 보니 PHP 개발자는 찬밥신세를 못 면하고 JSP로 넘어가는 것입니다.

나무위키에 적힌 예전 글들을 보면 JSP 예찬론자가 작성한건지 의심될 정도로 PHP의 단점만 상당히 부각시키고 심지어 있지도 않은 단점을 만들기까지 해놓았더군요. 웹 상에 올라와 있는 PHP 비판 문서는 유심히 봐야 합니다. 

잘못된 내용을 기재하는 경우도 있고, 현 시점에서 해결된 문제도 떡하니 올려놓는 경우도 많습니다. 4.x때 버전들의 문제점들이 대부분입니다. 

후자는 대부분 최신 버전이 5.x 대였을 시절에 작성된 글이 대다수입니다. 

날짜를 잘 보고 현 시점에서 2년 이상 지난 글이라면 무시하는 편이 낫다고 이야기하네요.

출처 : 나무위키

Posted by Joseph514