PhpStorm에서 ssh tunnel을 이용한 MySQL 접속

MySQL 등의 DB 서버에서 localhost 에서의 접속을 제외한 접속에 대해 허용하지 않게 되면 개발 PC 등에서 DB 서버에 접속을 할 수 없게 된다. 이럴 때 ssh tunnel 기능을 사용할 수 있는데 PhpStorm 에서는 아래와 같은 설정을 통해 DB 서버에 바로 접속할 수 있다.

먼저 SSH/SSL 탭에서 ssh 접속 정보를 입력한다. 그런 다음 General 탭에서 DB 서버 접속 정보를 설정한다.

ssh 로 서버에 접속한 후 DB 서버에 접속하는 것이므로 host는 localhost로 설정한다. 설정 후 Test Connection 을 클릭하여 접속 여부를 테스트해본다.

[Ubuntu] Monit 설치 및 설정

서버 모니터링 용도로 오픈소스 monit 을 사용하고 있다. 설치 및 설정이 간단하지만 기능은 강력하다. monit 공식사이트는 https://mmonit.com/monit/ 이다.

설치

우분투 환경에서는 위 명령을 실행해서 monit을 설치할 수 있다. monit 설정은 /etc/monit 에서 한다. 설정 파일은 monitrc 이며 모니터링할 서비스 설정은 conf-available 디렉토리에 제공되고 있다. 아래는 기본 제공되는 설정 파일이다. 이 중 php7.0-fpm 파일은 별도로 추가한 것이다.

monit 에서 모니터링할 서비스는 conf-enabled 에 넣어주면 되는데 나의 경우는 아래처럼 심볼릭 링크를 이용했다. Read More

Ubuntu 16.04 에서 리부팅 때 ufw 시작되지 않는 문제

적잖이 황당했다. ufw enable 명령으로 활성화를 해둔 상태인데 재부팅을 하면 다시 inactive 상태??? @.@

더구나 설정한 rule도 적용되지 않는 문제가 생겨서 구글링하다가 아래 답변을 보고 적용했더니.. 해결!!

https://askubuntu.com/questions/851164/ufw-remains-disabled-after-a-reboot-using-ubuntu-server-16-04/851166?sfb=2#851166

아래처럼 netfilter-persistent 서비스가 ufw 서비스를 무력화시켜서 시작도 되지 않고 rule 도 적용되지 않았던 것이다. 아래 명령어를 통해 netfilter-persistent 서비스를 disable 시킨다.

[PhantomJS] Ubuntu 16.04에서 QXcbConnection: Could not connect to display 오류 해결

우분투 16.04 LTS 서버에서 PhantomJS를 아래 명령어로 설치하고 실행 때 오류가 발생할 수 있다.

오류 메시지는 아래와 같다.

위와 같은 오류가 발생하면 xvfb 패키지를 설치하고 아래와 같이 PhantomJS를 실행하면 된다.

위 명령을 매번 입력하는 게 귀찮다면 Alias 를 이용해 처리한다.

aliases.sh 파일의 내용은 아래와 같다.

파일을 저장한 후 아래 명령어를 통해 갱신해준다.

 

아래의 코드로 PHP 에서 phantomjs 명령어를 실행할 경우 위의 내용을 적용했음에도 제대로 실행이 되지 않는 경우가 있음을 알았다.

PHP에서는 아래와 같은 코드로 phantomjs 명령을 실행하면 된다.

 

PHP cli 모드에서 위 스크립트를 실행해보면 xvfb-run: error: Xvfb failed to start 라는 오류가 화면에 표시되는 걸 확인할 수 있다. 이 때는 아래와 같이 -a 옵션을 추가해준다.

[Python] 파이썬3.6 팁 정리

Ubuntu 16.04 LTS 버전에 Python 3.6 버전을 설치한 상태를 기준으로 한다.

  1. pip 업그레이드

You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the ‘pip install –upgrade pip’ command.

위와 유사한 메세지가 표시되는 경우 내용대로 pip install –upgrade pip 실행해도 pip 업그레이드 되지 않는다면 아래 명령을 실행한다.

  1. constant.py 파일의 상수 사용하기

예를 들어 constant.py 파일의 상수를 다른 py 파일에서 import 하여 사용하는 방법이다.

두 파일이 같은 디렉토리에 존재할 경우 import constant 와 같이 파일이름에서 .py 를 제외한 것을 지정하고 파일의 상수를 사용하기 위해서는 constant.Key 와 같이 constant.py 파일의 Key 라는 상수를 지정해서 사용할 수 있다.