OS X El Capitan 10.11 (엘 캐피탄) 에서 cocoapods 설치하기

Posted by limslee
2016. 8. 9. 16:15 개발/iOS

최신 macOS 에서 cocoapods 을 설치하려면 cocoapods.org 에서 가이드하는 대로 설치를 시도 해도 설치가 되지 않는다.

첫 번째 이유는 cocoapods을 설치할 때 같이 설치되는 activesupport 라는 gem이 최소 요구하는 ruby버전이 2.2.2 이상이기 때문이다.


cocoapods.org 에 나온 대로


sudo gem install cocoapods


를 실행하면


ERROR:  Error installing cocoapods:

activesupport requires Ruby version >= 2.2.2.


라는 메시지가 나오면서 설치가 되지 않는다.


해결 방법에는 macOS에 기본 설치되어 있는 ruby의 버전을 업그레이드 하는 방법과(brew 이용) activesupport를 구 버전으로 설치하는 방법등이 있다. activesupport 를 구 버전으로 설치할 때는 4.2.6을 설치하면 된다 (또 다른 설치 가능한 버전이 있는지는 확인 하지 못했음)


sudo gem install activesupport -v 4.2.6


(참고로 -v 4.2.6 옵션을 설정하지 않았을 경우 현재 최신 버전인 5.0.0으로 설치를 시도한다.)



두 번째 이유는 cocoapods 실행파일이 설치되는 경로가 /usr/bin인데 이 경로는 엘 캐피탄의 루트리스라는 보안기능 때문에 아무리 root권한을 가지고 있어도 수정할 수 없기 때문이다. 따라서 cocoapods 설치되는 기본 경로를 /usr/local/bin 등으로 바꿔주어야 한다


sudo gem install cocoapods -n /usr/local/bin


이렇게 하면 별 문제 없이 cocoapods이 설치된다.




* 설치 방법 2줄 요약


sudo gem install activesupport -v 4.2.6

sudo gem install cocoapods -n /usr/local/bin




맥에 웹서버(Apache, PHP) 구동하기 - 요세미티 기준

Posted by limslee
2015. 9. 29. 10:13 개발/Web

  맥에는 기본적으로 apache와 php 가 설치되어 있기 때문에 따로 설치해 줄 필요가 없다 그냥 활성화만 해주고 필요에 따라 설정만 변경해 주면 된다. 요세미티에 설치 되어 있는 apache와 php 버전은 다음 명령어로 확인할 수 있다.


apachectl -v

php -v



  apache 는 2.4.16 버전이 php는 5.5.27 버전이 설치 되어 있다. 우선 설치된 apache를 다음 명령어로 start 해주자.



sudo apachectl start


  관리자 권한이 필요한 명령어라 비밀번호를 입력해야 한다. 그러고 나서 웹브라우저로 localhost나 내 ip를 입력하면 기본 index 페이지가 뜬다. 디폴트로 설정된 웹서버의 DocumentRoot 폴더는 /Library/WebServer/Documents 이며 이 위치에 있는 index.html.en 의 내용이 It works! 이다.




  apache의 디폴트 설정들을 변경하려면 /private/etc/apache2/ 폴더에 있는 설정파일들을 수정하면 된다. 기본 DocumentRoot 폴더를 변경하고 싶으면  /private/etc/apache2/httpd.conf 파일을 열고 DocumentRoot 부분을 변경하고 한 줄 바로 밑에 있는 Directory 부분을 수정한다.



  개인적으로 DocumentRoot는 그냥 두고 userdir 을 활성화 해서 사용하는데 userdir을 활성화 시키려면 /private/etc/apache2/extra/httpd-userdir.conf 파일을 먼저 수정해야 된다



  위 스크린샷 처럼 16번째 줄의 Include /private/etc/apache2/users/*.conf 의 주석을 제거하고 /private/etc/apache2/users/ 폴더에 자신의 계정명으로 된 conf 파일을 생성해야 한다. 그리고 3번째 줄의 Required module에 있는 항목들을 LoadModule 하는 코드를 /private/etc/apache2/httpd.conf 파일에서 주석 제거해 주고 위 파일(/private/etc/apache2/extra/httpd-userdir.conf)을 Include하는 코드도 주석제거해 주어야 한다.



  일반적으로 mod_authz_host.so 모듈과 mod_authz_core.so 모듈을 LoadModule하는 코드는 이미 주석이 제거되어 있는 상태이다(요세미티 기준)



  mod_userdir.so 모듈을 LoadModule하는 코드도 주석 제거 해준다.



  httpd-userdir.conf 파일을 Include하는 코드도 주석 제거해 준다.


  그리고 마지막으로 위 스크린샷 처럼 /private/etc/apache2/users (/etc/apache2/users) 폴더에 계정명으로 된 conf파일 (username.conf) 를 생성해 준다. Guest.conf 파일을 복사해서 수정하는 경우 Guest 부분을 자신의 계정명으로 변경하고 권한 설정 부분을 Apache 2.4 버전에 맞도록 변경한다. (기존의 Guest.conf파일의 권한설정은 Apache 2.2 기준으로 되어 있어 동작하지 않는다 - 4, 5번째 줄 삭제 후 Require all granted 추가) 모든 변경이 완료되었으면 아파치를 재시작 한다.

sudo apachectl restart





  자신의 홈 폴더에 Sites라는 폴더를 만들고 웹브라우저의 주소창에 localhost/~계정명 을 입력하면 위 스크린샷 처럼 apache의 기본 파일 Index를 볼 수 있다. (Sites라는 폴더 안에 .localized 라는 빈 파일을 생성해 놓으면 파인더에서는 사이트 라는 한글 이름으로 표시된다)




  여기까지 하였으면 apache 웹서버 구동시키는 작업이 완료되었으며 다음 한가지 설정만 변경하여 apache에 php를 연동해 보자.


 

  /private/etc/apache2/httpd.conf 파일을 다시 열고 libphp5.so 모듈을 LoadModule 하는 코드의 주석을 제거하고 apache를 재시작 한다.




  Sites 폴더 밑에 위 스크린샷 처럼 php파일을 만들어서 웹브라우저에서 php파일이 정상적으로 표시되면 성공! 추가로 php의 설정을 변경하려면 /private/etc/php.ini.default 파일을 php.ini 파일로 파일명을 변경하고 설정 내용을 변경하면 된다.

SecureCRT 소소한 설정

Posted by limslee
2015. 9. 25. 15:39 개발/개발환경설정

   윈도우에서나 맥에서나 telnet, ssh 클라이언트로 주로 SecureCRT를 사용했다. 이젠 라이센스 만료;;; SecureCRT를 사용하면서 항상 변경해서 쓰는 불편한 기본설정 몇가지 정리해 본다.


  1. 글꼴 칼라 설정




  2. Preferences > Terminal > Apperance > ANSI Color

  기본 설정된 파란색이 너무 어두워서 글자 구분이 잘 안된다. 노안은 아님  밝은 파란색계열(ex. Normal은 Aqua, Bold는 Sky)로 변경하면 좋다




  3. 마우스 오른쪽 버튼 동작



  Preferences > Terminal

  Mouse 에 Paste on right button 으로 변경 (드래그로 Copy, 마우스 오른쪽 버튼으로 Paste 하면 정말 편하다)


  4. 디폴트 세션 옵션 변경


  Preferences > General > Default Session

  Edit Default Settings... 버튼을 클릭하면 새 다이얼로그가 팝업되는데



  Terminal > Emulation 에 Terminal을 Xterm으로 변경하고 ANSI Color만 체크



  Terminal > Appearance 에 Character encoding 을 UTF-8로 선택 (요즘은 왠만하면 UTF-8)




  이정도만 소소하게 변경해 두면 나머지는 딱히 변경할것 없이 기본 설정대로 써도 불편한게 없음~