2016년 8월 29일 월요일

php 버전을 명령어로 확인하기

설치된 php 버전을 명령어로 확인하는 방법은
php -v


설치되어 있는 php 버전은 5.5.36 (2016.5.29) 이고 Zend Engine 은 v2.5.0 이다.

Mac에서 Homebrew 사용 및 설치....

1. 용도 : Homebrew는 Mac에서 패키지를 관리해주는 툴이다.
           즉 개발용 툴이나 패키지를 설치하고, 또 설치한 패키지를 깨끗하게 지울때 사용하는 프로그램이다.

2. 설치는 홈브루 홈페이지 http://brew.sh/ 를 접속하여 설치한다.
접속해 보면 아래의 명령어를 터미널에 복사하여 넣고 엔터.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 ruby는 Mac에 이미 기본으로 설치되어 있으므로 위의 명령어는 수행된다.

설치화면은 아래와 같다.


3. 사용법은 brew help...

2016년 8월 28일 일요일

OS X El Captain 의 아파치/php vs Server 프로그램의 아파치/php (1)

OS X 에 기본으로 설치되어 있는 아파치(apache) 와 Server 의 아파치(apache)에 대하여 알아본다.

1. OS X El Captain에는 /etc/apache2에 아파치가 기본 설치되어 있으므로 별도로 apache를 설치할 필요가 없다.

  • 기본 아파치는 활성화가 되어 있지 않으므로 웹서버를 구성하려면 활성화하여야 한다.

터미널에서 sudo apachectl start 명령으로 실행한다.
terminal 명령어는 /Applications/Utility/Terminal 에 위치한다.
(중지는 stop, 재시작은 restart 옵션)
위치는 /usr/sbin/apachectl 이다.

기본 설치된 아파치는 Apache/2.4.16 이다.
  • start 후 http://localhost 로 접속하면 아래와 같이 첫 페이지가 나타난다.


  • 위의 첫 페이지는 Document root에서 서비스 되며, /Library/WebServer/Documents에 들어 있다.

이곳에는 공유하는 파일들이 들어있으며 과거의 "public_html" 과 "htdocs"의 이름을 가졌던 장소와 비슷하다.

OS X 은 2개의 web roots 를 가지고 있으며 하나는 시스템 레벨이고 하나는 사용자 레벨이다. 둘 중 하나 또는 둘다를 설정할 수 있다.

사용자 레벨은 자신의 web root에 다중의 계정을 가질 수 있는 반면에 시스템 레벨은 모든 사용자에게 글로벌에게 적용된다. 이것은 configuration 파일을 통하여 설정되고 변경될 수 있다. 시스템 레벨은 관리자 모드로 권한이 설정되어 있으므로 사용자 레벨을 사용하는 것이 보다 쉽다.

  • 시스템 레벨 web root 
디폴트 시스템 document root는 http://localhost/ 로 나타나며, 위에 보여주는 페이지는
/Library/WebServer/Documents/에 index.html.en 으로 찾아 볼 수 있다고 위에서 설명했다. 함께 들었는 파일들은 아래 화면을 참조한다.



그러나 Server App 5 를 설치하였을 때는 위의 페이지가 나타나지 않고 아래와 같은 페이지가 나타난다고 지난 게시글에서 설명을 하였다.
즉 ...

위의 페이지는 웹 사이트 설정에서 지정할 수 있으며 사용자가 변경할 수 있다.

  • 사용자 레벨 root
Server App 5를 설치하지 않은 경우에는, 사용자 계정의 ~/Sites 폴더를 의미한다.
설정하는데 조금 더 걸리지만 많은 사용자들이 익숙하게 사용한다.
귀하의 계정 root 레벨에 Sites 폴더를 만들 필요가 있다.

Server App 5를 설치한 경우에는, /Library/Server/Web/Data/Sites/ 하위 디렉토리에 저장된다. 아래 그림을 참조한다.

위의 www.flexsim.co.kr 폴더에 캡처해서 보여주는 위의 사용자 맞춤형 웹 페이지가 들어있다. 이 페이지와 폴더명도 변경이 가능하며 새로이 지정할 수 있다.

  • 그리고 http://localhost 로 접속하면 기본으로 제공되는 index 페이지는 사라지고 아래와 같이 Server App이 디폴트로 제공하는 첫 페이지가 나타난다.
즉 위의 화면의 Default 폴더에 들어있는 Index 페이지가 아래 그림의 페이지이다.

즉 내부의 웹 서버에 대한 여러가지 정보가 Server App 프로그램에서는 바뀌게 된다.
이 페이지는 후에 Server의 웹서버 부분 설정에서 설명할 기회가 있을 것이다.



2016년 8월 2일 화요일

윈도우즈 PC로 맥 OS X El Captain 에 원격 접속하기...VNC 활용

윈도우즈 PC로 맥 OS X El Captain 에 원격 접속하기...

VNC 를 활용하여 맥에 원격 접속하고 맥 서버 / OS X을 제어하는 방법이다.
맥과 맥 연결은 리모트 접속 어플을 설치하면 쉽게 접속을 할 수 있다.
또 다른 방법은 VNC://(포트5900)를 사용하는 방법도 있다.

윈도우 PC로 맥을 원격 접속하는 방법중 가장 쉬운 방법은 VNC 를 활용하는 방법이다.
이것은 윈도우 서버를 접속할 때에도 마찬가지 방법이다.

VNC 프로그램은 아래 링크에서 무료로 쉽게 다운로드 가능하다.
Real VNC 뷰어 --> 링크

1) 우선 맥에서 원격 접속을 허용하도록 설정하고 로그인 사용자의 정보 및 권한을 설정한다.
시스템환경설정>공유
공유

화면공유와 원격관리는 서로 중복되는 기능이 있으므로 둘중 하나를 선택한다.
원격관리 기능이 더 많은 제어기능을 제공하므로 이를 선택한다.
위의 그림처럼 사용자를 추가하고 컴퓨터 설정과 옵션 버튼을 눌러 아래 그림과 같이 설정한다.

누구나 원격 제어 요청가능과 VNC 뷰어로 원격제어시 암호 사용을 체크하고,
VNC로 접속시 입력할 패스워드를 설정한다.

옵션 버튼을 눌러 작업할 항목에 체크한다.
위의 그림에서는 모두 체크하였지만 필요한 옵션만 체크한다.

참고로 위의 그림은 화면공유 기능과 원격관리 기능은 서로 중복되는 기능이라는 것을 확인하여 준다.

2) VNC 프로그램을 설치하고 수행하면 아래와 같이 접속 IP나 서버를 입력하고 포트번호를 입력한뒤 연결 버튼을 누른다.


패스워드를 입력한다.



이후는 서버에 접속하게 된다.


2016년 7월 23일 토요일

맥 미니를 웹 서버로 활용하기 까지...2nd

서버 모듈은 별도의 폴더에 맥 미니를 서버로 사용하기 위한 관련 설정내용들을 모두 각각의 폴더를 구성하여 저장하고 있다.

/Web 하위의 /Data 폴더에는 /Sites 폴더가 있으며 이 폴더 밑에 사이트별로 폴더를 구성하여 내용들을 구성할 수 있다.

** 참고
지난 1st 포스팅에서 맥 OS에서 숨겨진 폴더와 파일들을 보는 방법에 대하여 링크를 달았었는데...

터미널모드로 듀얼 판넬로 폴더와 파일을 살펴보고 파일 폴더 속성을 변경할 수 있는 어플이 있다. 비록 비주얼 명령어는 아니고 텍스트 기반의 어플이지만 무료로 필요한 기능들을 사용할 수 있으므로 추천한다.

mc (midnight commander)라는 어플이며
다운로드는 http://superuser.com/questions/128700/midnight-commander-mc-installer-for-mac-os-x 에서 가능하다.

설치 방법은 터미널에서 brew install mc

위의 화면은 mc 의 수행화면이다.
파일과 폴더의 속성(permission)을 손쉽게 바꿀 수 있어서 사용하기 편하다.

최신 버전은 2016 발표된 4.8.17 버전이다.

MAMP(무료버전) 과 MAMP Pro(유료버전)은 손쉽게 웹사이트 설정을 할 수 있어서 편하다.
MAMP Pro는 멀티 사이트를 구성할 수 있으며, DNS 설정도 할 수 있다. 가격은 약 US $60 수준이다. 이가격으로 구매하여 사용할 바에는 OS X의 서버 모듈을 $19.9에 구입하여 사용하는 것이 더 많은 기능을 제공한다.

2016년 7월 22일 금요일

맥 미니를 웹 서버로 활용하기 까지...1st

맥 미니를 구매한 후 사이트 구축을 이런 저런 툴로 개발하다가 중단하고, 또 이리 저리 미루고 수많은 시행착오를 겪으며 갈지자로 헤메다 급기야 이제야 다부지게 새로 시작할려고 한다.
용두사미가 되지 않아야 하는데...약간의 우려가 있지만 일단 시작하면 길이 열리겠지 하는 낙관적인 생각으로 다시 시작한다.

그리고 이 기록들은 후에 유사한 일이 재발할 때 기억을 되살릴 목적으로 본인 자신을 위해 기록을 남긴다.

그동안 시행착오를 간단히 정리하면...
1) 워드프레스를 사용하기 전에 줌라(Joomla)를 이용하여 개발하다가 중단...결국 걷어냄.
2) 맥 미니를 구입하고 서버 모듈을 설치한 후($19.9 지불)
  서버 운영에 필요한 갖가지 설정을 스터디 하며 시행착오를 겪고 워드 프레스를 설치한 후 초기 시작 페이지와 다양한 테마와 플러그인을 구성했다.
  업무에 바빠 잠시 손을 놓은 것이 1년여가 휙 지나가 버리고...
그동안 시행착오 겪은 지식들 모두 기억에서 사라져 가물가물하고...
3) 이제 다시 시작하려 이것 저것 손대다가 ...
실수해서 로그인이 되지 않는 혼란스런 상태가 되어...복구 방법을 몰라...결국은 되살리기 포기.

홧김에 설치된 MAC OS 10.9.5 Mavericks 를 최신 버전인 El Captain 10.11.1로 업그레이드 한 후, 웹사이트 다시 구축하려고 이 짓거리(?)를 하고 있음...

웹사이트 개발 요구 조건을 간단히 정리하면,

1) 워드 프레스를 이용
2) Mac OS X El Captain을 설치하여 구축한다.
3) Server 모듈을 활용? or Not 활용? 이것은 아직 확실히 결정하지 못하고 있다...
4) 하나의 서버(Dynamic IP)로 2개의 사이트를 구축한다. 즉 멀티 워드프레스를 구축한다.

위 4가지 사항이 기본적인 요구사항이다.

서버 모듈을 활용하면 여러가지로 다양한 기능들을 활용할 수 있어 맥 미니 활용도를 극대화할 수 있어 향후 이것 저것 기능을 추가하기가 좋은데...

사이트 운영만 하겠다고 생각한다면...
MAC OS 가 업그레이드 될 때마다 서버 모듈을 유상 업그레이드해야 하는 수고로움이 뒤 따름....

비용 문제보다도 메인트넌스 관점에서 기억에서 사라진 구축 관련 지식들을 다시 공부해야 하는 아주 불편한 일이 발생한다.

웹 사이트 구축하는 일로 먹고사는 상황이 아니고 내 사업에 필요한 사이트만 구축하면 되는 것이라...1회성 프로젝트라 기억을 오래하지 못한다.

어쨋거나...서버 모듈을 활용하면 보다 쉽게 기반 환경 셋팅이 쉽고 클라우드 자체 구축등 확장이 유연하고 쉽다.

서버 모듈 활용 여부는 진행하면서 결정하여야 겠다.

서버 모듈 활용 여부 결정엣 앞서 우선 반드시 해야 할 내용부터 정리하면...

0) 맥 미니 OS X 10.9.5를 El Captain 10.11.1로 업그레이드.
1) 아파치 서버 설치 - 맥 미니에 내장되어 있음(OS X El Captain에도 내장...?)
2) MySQL 설치
3) phpMyAdmin 설치

서버 모듈을 사용하지 않는다면, MAMP 를 이용하여 한방에 모두 설치가 가능하지만...
우선은 엘 캡틴을 설치한 후 디폴트로 내장된 아파치를 확인하여 본다.

그런데....MAMP를 검색하여 들여다 보니...
MAMP & MAMP Pro 가 있고...MAMP는 무료 사용이고 MAMP는 유료인 대신에 OS X의 서버모듈에 있는 몇몇 기능들을 사용할 수 있고...

현재 설치된 아파치 버전은...
$ apachectrl -v
Apache/2.2.29, Server Built Mar 19 2015
별도로 설치한 것인지 아니면 디폴트로 설치되어 있던 것인지는 확실하지 않다.

php 버전은...
$ php -v
PHP 5.4.45 (cli) (built: Apr 22 2016)
Zend Engine v2.4.0
이것도 디폴트 버전인지 추가로 업그레이드 한 것인지 기억이 없다.

설치된 폴더들을 찾으려고 하니...명령어를 몰러 답답하다. 검색해서...
/private/etc/apache2 에 설치되어 있다...

* 참고
/private - OS X에서 특정 루트 수준의 디렉토리들은 실제로 /private에 위치하는 디렉토리들을 가리키는 symbolic 링크들이다. 이러한 예에는 /cores, /etc, 그리고 /var들이 있으며, 이들은 각각 /private/cores, /private/etc, 그리고 /private/var와 연결되어 있다. /private은 또한 특정 주변 장치들의 드라이버들을 저장하고 있는 디렉토리들을 포함하고 있다.

이외에도 보이지 않는 폴더에 대한 상세한 정보는 아래를 참고한다.
http://appletree.or.kr/forum/viewtopic.php?id=91

그렇지만 서버 모듈을 설치하면 관련 필요한 내용들을 /Library/Server 폴더에 구성하고 설정한다.
즉 서버 모듈은 웹 서비스와 관련된 아파치, php 구성등의 관련 정보는 모두 /Library/Server/Web 및에 구성하게 된다.

Web 폴더 하위에는 /Config 와 /Data 폴더가 있으며,
아파치와 php 정보는 /Config 밑에 저장된다.
사이트에 필요한 관련 파일들은 /Data 밑에 폴더이름을 정하여 구성된다.

오늘은 여기까지...

** 추가 내용
Server 모듈이 엘캐피탄에서 5.0.4 버전으로 업데이트 되면서...
뒤늦게 알게 된 사실이 "OS X Server 5.0 부터 시스템 버전에 무관하게 작동한다. OS X Yosemite 10.10.5 와 OS X El Capitan 10.11이 설치된 맥에서 동일한 버전의 Server 앱을 사용할 수 있다" 이다.

즉 서버 모듈 5.0 부터 OS X 시스템 버전과 상관없이 사용이 가능하게 되었다는.
그동안에는 시스템 OS가 업그레이드 되면 서버모듈을 사용할 수가 없어서 ...추가 구입해야 했었는데, 이후 추가 구입없이도 5.0 버전으로 계속 사용이 가능하다...즉 5.0.4 버전으로 시스템 업그레이드 되어도 함께 업그레이드하지 않아도 사용이 가능하게 되었다...

그럼 구매하여 활용하는 것도 좋겠다는 생각이 든다.


2015년 1월 2일 금요일

워드프레스에서 자식 테마 만들기 - 테마 수정하여 활용하는 방법

워드프레스의 강점은 초보자도 조금(?) 노력하면 웹페이지나 블로그를 만들어 서비스할 수 있습니다.

그런데 막상 시작해보니...홈페이지 개발과는 관계가 없는 비즈니스를 하는 본인에게는 참 쉽지 않은 일이었습니다. 막상 다른 할일도 많아 머리도 바쁘고 성질이 급해 차분히 그 기능을 익히기 쉽지 않았습니다.

어쨋거나 무료 테마를 하나 정하여 그 테마를 활용하여 나의 콘텐츠를 올려 서비스 하려고 할 때 그 무료 테마를 나의 입맛에 맞게 수정하고 싶을 때가 반드시 생기게 됩니다.
이럴때는 그 테마의 자식 테마를 만들어 서비스하는 방법이 좋습니다.
그렇지 않고 그 테마의 원본 파일(css/php 파일)을 직접수정하여 사용하게 되면, 후에 그 테마를 업그레이드 하여 업데이트 버전이 발표되었을 때, 그 테마의 업데이트된 버전을 설치하면 기존의 파일들 위에 새로 업데이트된 파일들을 over-write 해버리기 때문에 수정했던 파일의 내용들이 모두 사라져 버리는 불상사가 발생합니다. 그간 작업했던 내용들이 모두 없어져 버리는 황당한 사건이 벌어집니다.

그렇다고 업데이트된 테마를 사용하지 않고 옛날 버전의 테마를 그대로 사용하게 되면 외부에서 해킹이나 보안의 문제등이 발생할 수 있으므로 권장하지 않습니다.

그러므로 반드시 자식 테마를 만들어 그 자식 테마의 폴더에 수정하는 내용들을 저장하여 사용할 일입니다.
자식 테마를 사용하면 원본 테마가 업데이트되어 설치되더라도 자식 테마의 내용들은 그대로 반영됩니다. 새롭게 된 테마를 그대로 사용하면서 내가 수정하여 커스트마이징한 내용도 그대로 반영하게 되는 것이니...당연히 그런 방법으로 사용해야 하겠습니다.

자식 테마를 만드는 방법은 의외로 간단합니다. 만든후에 적용되는 개념만 몇가지 이해하면 됩니다.
자식 테마를 만들때 폴더를 새로이 만들어 그 폴더안에 넣어둘 파일은 최소한 style.css 파일 하나만 있어도 됩니다. 필요할 때 추가하면 됩니다.

이 style.css 파일안에 구성할 내용은 아래와 같습니다.

/*
Theme Name: AAA-child
Version: 1.0
Description: A child theme of AAA
Template: AAA
*/

@import url("../AAA/style.css");

새로이 만드는 폴더 이름은 편리하게 아무 이름을 붙여도 좋습니다.
편의상 테마 이름 뒤에 -child 를 많이 붙입니다.
예를 들면 'AAA' 라는 이름을 가진 테마를 사용한다고 할 때 자식 테마를 넣어둘 폴더 이름은 'AAA-child' 라는 이름을 정하는 것입니다.
이러한 과정도 잘 모르겠고 그냥 간단히 자동으로 만들고 싶으면 자식 테마를 만드는 플러그인을 설치하여 사용하면 됩니다. 
본인의 경우에는 'Child Themify' 라는 플러그인을 설치하여 작업합니다.
설치한 후 의 플러그인은 아래를 참조하십시요.

즉 원본 테마를 활성화한후 그 테마를 클릭하면 화면 하단에 Child 테마를 만들 수 있는 버튼이 추가되어 보입니다. 아래를 참조하십시요.
화면 하단에 Create a Child theme 라는 버튼이 나타난 것을 확인 할 수 있습니다.
이 버튼을 누르게 되면 자식 테마 이름을 지정하는 화면이 나타나고 이 항목에 위에서 설명한 대로 테마이름-child를 덧붙여 지정해주면 관련된 내용을 알아서 모두 만들어 그 폴더에 style.css 파일까지 생성하여 줍니다. 간단하게 자식 테마를 만들수 있습니다.

테마 대시보드에 자식 테마가 추가된 것을 확인 하실 수 있습니다.