2018년 6월 16일 토요일

우분투 18.04 LTS apache2 php7.2 연동

우분투 18.04 LTS apache2 php7.2 연동



우분투를 14.04 LTS -> 16.04 LTS -> 18.04 LTS
로 업그레이드 하였다.


업그레이드 하고 나니, php7.0로 되었는데,

<? php phpinfo(); ?> 로 php페이지에 아무리 이리저리 찍어보아도
정보페이지가 안 나온다.


이것저것 깔짝깔짝 설정해보고 했는데도 안 돼서
한 일주일 방치하고 있다가 
에라이 php7.2로 업그레이드 하였다.



add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install php7.2-gd

a2enmod php7.2

sudo service apache2 restart


하고 나니, 드디어 phpinfo 페이지가 출력된다.


끝.



ps.
php7.2에서는 owncloud가 지원 안 되고 있다.
우째 이런 일이..

2018년 6월 4일 월요일

[ 해결 ] usr/bin/ld: cannot find -lgcrypt



usr/bin/ld: cannot find -lgcrypt

텔레그램 make 할 때 나오는 에러.



sudo apt-get install libgcrypt11-dev
sudo apt-get install libgcrypt20-dev




해결.


2018년 6월 3일 일요일

[ 해결 ] 맥북 듀얼모니터 마우스가 사라지는 경우

맥북 듀얼모니터 마우스가 사라지는 경우
맥 마우스 크기 조절
맥 마우스 크기 조정

맥북 듀얼모니터 마우스가 안 보이는 경우.
맥북 서브모니터 마우스 안 보이는 경우.




뭐 이런 경우가 있나.
서브 모니터에 마우스가 안 보인다..


결론적으로

'시스템 환경 설정(톱니바퀴) - 손쉬운사용 - 디스플레이 - 커서 크기' 에서

마우스 크기를 키워준다. 



그럼 이번엔 또, 인터넷 검색 창 같은 곳에 마우스를 위치시키면 안 보이는 경우가 있다.

Sublime Text 에서는 아예 안 보이는 경우도 있고.


그럴 경우, 마우스 크기를 더 키워준다. 


그럼 알게 될 거다. 인터넷 검색 창에 마우스를 위치시키면 

화살표 모양 -> 대문자 I 모양으로 바뀌는데, 
이 모양에서 일정크기 이하면 안 보이는 것이기 때문.



결과적으로 서브모니터에 마우스가 보일 때까지 크기를 키워주면 된다.


뭐 이런 말도 안 되는 버그가..



끝.



[우분투] 텔레그램 나스에서 메세지 전송.

우분투 서버에서 텔레그램으로 메세지 보내기

리눅스 텔레그램
우분투 telegram
우분투 문자 보내기
텔레그램 나스에서 메세지 전송.
OMV 텔레그램 






나스(NAS)를 사용하는 사람들이 많을 것이다.
서버에서 뭔가 이상이 있을 때, 사용자에게 바로바로 알려주면 참 좋을 것이다.

그래서 첫 번 째로 생각했던 것이 이메일이었는데
이메일을 꽤 오랫동안 사용해보니, 뭔가 되기는 하는데
빠릿빠릿한 즉각즉각 반응이 아니다. 


차라리 카톡처럼 알림이 오면 좋을 텐데..

해서, 찾아보니 텔레그램(Telegram)이라면 어플이 있더라.
이 어플이 꽤나 유명했다.
보안이 좋고, '잊혀질 권리'를 존중하여 내가 메세지를 삭제하면
서버에서도 삭제되어 복구할 수가 없다고 한다.


아무튼, 서버에 이상이 생기면 바로바로 어플로 메세지 받을 수 있게
설치를 해보았다.







우분투에서 관련 페키지를 설치해준다.

sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev python-DEV make




Telegram Cli 을 다운받아야 하는데, 
본인이 원하는 위치에 적당히 디렉토리 하나 생성한 뒤, 

git clone --recursive https://github.com/vysheng/tg.git

로 다운 받는다.


다운 받으면 그 위치에 tg라는 디렉토리가 생성되는데, 

cd tg
로 들어가서, 

./configure
명령어를 치고

make 
해주면 끝.





생각보다 상당히 간단하다. 
하지만 한 번에 될리가 없지 않은가..

여러가지 이슈가 당연히 있었다.



우분투에서는 make를 해줬을 때, 

tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type
   ret->e = unwrap_bn (TGLC_bn_new ());

이런 종류의 에러메세지가 와장창 나왔었고, 



OMV에서는 

telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.

이런 이슈가 있었다.






다 됐으면 테스트를 해봐야 한다.

텔레그램을 설치했던 tg 디렉토리에서

bin/telegram-cli -k tg-server.pub -W

를 실행하면, 
콘솔 형식이 변하면서 해당 프로그램으로 진입을 하게 되는데,

처음 실행시, 10~30초 정도 기다리면

phone number

라고 뜨면서, 기입하라고 나오는 것을 볼 수 있다.

그럼 본인 핸드폰 번호가 010-9876-2222 이라면,
+821098762222
라고 입력을 해준다.

그리고 난 다음
Register(Y/n)
이라고 나올 텐데, Y 라고 해주고

First Name
Last Name

순차적으로 입력을 해주면 된다.

그리고 나서 인증 번호를 입력하라고 나올텐데, 문자로 인증번호가 오면
입력하고 완료.

그럼 

>

이 상태로 멈춰있을 것이다.

입력을 해보자.
만약 

First Name Teacher       (이름)
Last Name Lee              (성)

라고 입력했다면,

> msg Teacher_Lee Hi Test


이름과 성 중간에 _ 를 반드시 넣어주어야 한다.

만약 

FAIL: 38: can not parse arg #1

이라는 에러메세지가 떴으면, 이름을 잘못 입력한거니, 
다시 확인을 잘 해봐야 한다.


그럼 텔레그램 어플을 실행 시켜 보면, 메세지가 자기 자신한테 전송된 걸 확인할 수 있다.


그럼 이번엔, 터미널 서버에서 입력 하나로 바로 전송하게 해보자.


bin/telegram-cli -k ./tg-server.pub -W -e "msg Teacher_Lee Second Test"


이렇게 하면, 텔레그램 cli를 실행시킨 상태에서 msg를 입력하는 방식이 아니라,
서버 콘솔화면에서 저 명령어를 입력하면 바로 메시지가 날라간다.


이 방법을 알았으니, 이제 sh 스크립트 언어나, 프로그램에 넣어
서버 상태를 바로바로 텔레그램에 전송하면 될 것이다. 









몇 가지 이슈를 더 보고 가자. 



1. 인증을 하는데 어느 순간 부터

phone number

에서 멈춰 있는 경우.






2. 나는 이런 걸 원하는 게 아니야.
왜 알림 소리도 안 나오고, 벳지 표시도 안 나고, 잠금화면에도 반응이 없는 거지?
(텔레그램 계정 2개 만드는 방법)





3. 텔레그램 cli 인증하고 났는데, 로그아웃하는 방법은?





4. 참고 사항 (중요)!!

번호 이동을 하게 될 때, 카톡은 신경 안 쓴다. 왜냐하면, 새로운 번호로 카톡 인증을 다시하게 되면, 전에 쓰던 번호에선 자연스레 못 쓰게 되니까.

근데 텔레그램은?
그렇게 안 된다. 내가 쓰던 번호를 다른 사람이 넘겨 받으면, 내가 사용했던 정보들이 나올 수 있다.

그러니, 번호 이동하기 전에 꼭 텔레그램을 탈퇴하도록 하자. 
어플 내에 번호 이동이라는 게 있는데 어떻게 동작하는지는 아직 사용해보지 않았다.


잘 알아내어 불상사가 생기지 않도록 하자.







끝.



텔레그램 cli 로그아웃하는 방법.

텔레그램 cli 로그아웃하는 방법.




텔레그램(telegram) cli 를 리눅스 서버에 전화번호 인증을 했을 때, 

다시 인증을 받고 싶은 경우 ( 아니면, 다른 번호로 인증을 다시 받고 싶은 경우 )



터미널에서 

cd


를 쳐보면, 기본 레벨로 이동이 될텐데, 

거기에

.telegram-cli

디렉토리가 생성되어 있는 것을 볼 수 있다.
이걸 통째로 삭제해도 되고,


.telegram-cli/auth

파일만 삭제해도 된다.




끝.



카톡 계정 2개, 텔레그램 Cli, 알림이 안 오는 경우, (텔레그램 계정 2개) (카톡 계정 2개)



텔레그램 Cli, 알림이 안 오는 경우.
텔레그램 계정 2개
카톡 계정 2개
라인 계정 2개
다중 계정
텔레그램 부계정 사용하기
카톡 부계정 사용하기
라인 부계정 사용하기
텔레그램 전화번호 없이 가입
텔레그램 가상번호 가입






일단 날짜부터 확인하자. 
본인은 2018년 6월 2일에 계정 2개를 시도하여 성공하였다.

gogo.




텔레그램 사용하지 않은 사람은 Skip -------------------------------------

개인 서버에 텔레그램(telegram) Cli를 설치하고 나서, 

msg를 보내면


텔레그램 저장한 메시지에 오른쪽 말풍선으로 계속 전송 오는 걸 볼 수 있다.

알림도 안 울려, 벳지도 안 생겨, 잠금화면에서도 메시지가 온 걸 볼 수가 없다.


생각해보면 당연한 거다.



서버에서 본인 핸드폰 번호로 인증을 했으니, 
그냥 본인이 본인 텔레그램으로 전송을 했으니, 당연히 울리지 않은 것.


타인이 전송을 해야 울리는 거다.



신나게 서버 알림용으로 설치하고 나니, 이런 불상사가.

이걸 해결하려면, 번호가 두 개여야 하고, 
다른 번호 계정으로, 지금 내 휴대폰의 계정으로 문자를 쏴야하는 것.

--------------------------------------------------------------------------------





방법은 하나 밖에 없다. 

휴대폰 번호를 두 개 쓰는 것.

이 방법은 텔레그램에만 국한되는 것이 아니라, 

카톡이나 라인 등 모든 메신저에서 계정을 2개 이상 사용하는 방법이 되겠다.



1. 각 통신사 마다 번호 두 개 쓰는 부가 서비스가 있다. 
    월 3,300원 이다. 


물론 이 방법을 사용하진 않겠지.
우리가 알아보려는 건, 바로 구미가 당기는 아랫 방법이 아니겠는가.
이 글을 보는 목적이기도 하고.

그렇다.


2. 가상 번호를 생성하여, SMS로 인증 번호 받아서 가입하기!

그렇다. 가상 번호를 받아야 한다.
이 가상 번호는 어플을 사용하면 받을 수 있더라. 
근데 안 되는 어플이 참 많았다.

후..

textPlus 어플 : 인증 문자가 안 온다.
Text Me 어플 : 가입하여, 가상 번호를 받고나서, 휴대 전화로 전화 통화, 문자까지 성공하였지만
                        인증 번호를 요구하는 문자가 가면, 이걸 막아놓고, 이걸 받기 위해선
                        유료로 사용해야한다고 나와있다. 몇 년 전까지만 해도 무료로 한 것 같은데 ㅆ..

그리고..

TextNow 어플 !!!

이 어플로 성공을 했다.
일단 어플을 설치하고 간단히 가입을 한다.
그 후, 대충 전화 모양 아이콘을 클릭하여, 내 휴대폰으로 전화를 건다.

이건 가상 번호가 무엇인지 확인하기 위함이다.


내 휴대폰에 번호가 뜰텐데 확인을 해보면,

001 1 (318) 444-2211 

뭐 이렇게 떠있을 것이다.
이 번호로 전화를 해봐도 되고, 문자를 전송해도 살짝 텀이 있었지만
전송이 되었다.

문자 전송을 확인하고, 텔레그램을 인증 받아봤다.

001은 국제번호니 빼고

+13184442211
입력하면 된다.

카톡 같은 경우는 +1 이 미국이니,
+82 인 한국이 아니라, 미국을 선택 후,
3184442211 
을 입력하면 될 것이다.


그러면 인증번호가 TextNow로 올 것이다!!





그럼 인증을 받고 사용하면 된다.








끝.



+ 2018.09.16 추가
TextNow 번호 얻은 거 계속 사용할 건지 금액을 요구하는데,
결재 안 해서 만료됨.
3개월 정도 사용한 것 같다.




[ 해결 ] 텔레그램 phone number 에서 멈춘 경우.

텔레그램 phone number 에서 멈춘 경우.




텔레그램 Cli 를 서버에 설치하여, 인증을 받을 때, 

phone number

에서 멈춰있고, 다음 단계로 넘어가지 않는 것을 볼 수 있다.


이건 전화번호 인증을 하도 많이 해서,
텔레그램 측에서 막은 거다.


핸드폰 텔레그램 어플로 한 번 가입을 해보시라.
인증을 많이해서 당분간 정지 됩니다. 라고 경고창이 뜰 것이다.


그냥 속 편하게 접고, 다음날 다시 시도하면 된다.


해결.


끝.



[ 해결 ] telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.





OMV 에서 텔레그램을 설치하는 과정 중, 
make 했을 때, 이런 에러메시지가 나오는 경우.


------------------------------------------------------------------------------------------
telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.
------------------------------------------------------------------------------------------



텔레그램을 설치한 tg 디렉토리에서


vi tgl/mtproto-utils.c

------------------------------------------------------------------------------------------------------
static unsigned long long BN2ull (TGLC_bn *b) {
  if (sizeof (unsigned long) == 8) {
    return TGLC_bn_get_word (b);
  } else if (sizeof (unsigned long long) == 8) {
    //assert (0); // As long as nobody ever uses this code, assume it is broken.
    unsigned long long tmp;
    /* Here be dragons, but it should be okay due to be64toh */
    TGLC_bn_bn2bin (b, (unsigned char *) &tmp);
    return be64toh (tmp);
  } else {
    assert (0);
  }
}
------------------------------------------------------------------------------------------------------

BN2ull 함수를 찾아가서 


assert (0); 부분을 주석처리 해준다.


그리고나서 

make

해주면 잘 될 것이다.





해결.


끝.



[ 해결 ] tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ret->e = unwrap_bn (TGLC_bn_new ());



우분투에서 텔레그램 make할 때 나오는 에러 메세지.



---------------------------------------------------------------------------------------------------------
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type
   ret->e = unwrap_bn (TGLC_bn_new ());
      ^
tgl/crypto/rsa_pem_openssl.c:42:33: error: dereferencing pointer to incomplete type
   TGLC_bn_set_word (wrap_bn (ret->e), e);
                                 ^
tgl/crypto/rsa_pem_openssl.c:43:6: error: dereferencing pointer to incomplete type
   ret->n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));
      ^
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:49:37: error: dereferencing pointer to incomplete type
     return wrap_bn (unwrap_rsa (key)->M);                                      \
                                     ^
tgl/crypto/rsa_pem_openssl.c:52:1: note: in expansion of macro ‘RSA_GETTER’
 RSA_GETTER(n);
 ^
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:49:37: error: dereferencing pointer to incomplete type
     return wrap_bn (unwrap_rsa (key)->M);                                      \
                                     ^
tgl/crypto/rsa_pem_openssl.c:53:1: note: in expansion of macro ‘RSA_GETTER’
 RSA_GETTER(e);
 ^
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
 RSA_GETTER(n);
 ^
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
 RSA_GETTER(e);
---------------------------------------------------------------------------------------------------------



이렇게 촤르륵 뱉어낸다.


sudo apt-get update
sudo apt-get upgrade

해보고 다시 해봤는데도 안 되고, 



인터넷 찾아보니

sudo apt-get install libgcrypt11-dev
sudo apt-get install libgcrypt20-dev
sudo apt-get install libssl1.0-dev

추가 설치해도 실패.



그러다가

./configure --disable-ssl

(./configure을 해줬던 위치에서.)


을 해준 뒤, 

make clean 
하고 다시


make 하니, 잘 되었다.


해결.


끝.


2018년 6월 2일 토요일

맥 사파리 단축키(사파리 빠르게 사용하기)


맥 사파리 단축키(사파리 빠르게 사용하기)
사파리 새탭 단축키
사파리 탭 닫기 단축키
사파리 새탭으로 열기
맥북 사파리 시크릿모드
맥북 가장 빠른 브라우저
사파리 탭 이동












정말 맥은 쓸수록 감탄이다.

난 크롬 브라우저가 인터넷 할 때, 제일 빠른 줄 알았다.
근데 오늘 웹사이트 하나를  여러 브라우저(IE, 크롬, 사파리, 파이어폭스)로 
테스트하다가 알게 되었는데,


맥 + 사파리 브라우저 조합이 크롬을 쌍싸대기를 날려버릴 정도로 
굉장히 가볍고 빠르다는 것을 알게 되었다.

심지어 테스트 했던 맥이 하드디스크였음에도 불구하고.. 


진짜 체감 속도가 미쳤다. 
컴퓨터를 처음 HDD에서 SSD를 썼을 때의 느낌이랄까.
(윈도우에서의 사파리 브라우저는 그냥 버리자.)



오늘 있었던 충격적인 일이라; 이만 잡소리는 줄이고.



혹시 맥에서 사파리를 처음 사용하는 사람에게 도움이 될까 하여
단축키 몇 가지만 적어본다.




내가 사파리를 사용할 땐 보통,


사파리를 실행 후, 바로 'control + command + F' 로 전체 화면을 해주고,
어떤 웹사이트에 접속을 하고 나서 바로
'command + T' or 'command + N' 으로 새 탭을 열고 다른 웹사이트를 접속한 뒤,
또 'command + T'로 탭을 열어서 다른 웹사이트를 또 하나 접속한다.
웹사이트가 잘 안 나오면, 'command + R'로 새로고침을 해준다.

그 뒤, 'control + tab'으로 탭 간 이동을 하여, 처음 열었던 페이지를 확인 후, 
'command + W'로 닫는다.
만약 실수로 탭을 닫았다면, 'command + shift + T'로 바로 전에 닫았던 탭을 연다.

그리고 'command + Shift + N'으로 검색 기록이 남지 않는 버전으로 띄운 뒤,
무언가(?) 은밀하게 작업하고, 닫는다. 


겨우 일곱 가지 단축키를 말했을 뿐이지만, 제일 많이 쓰고,
가장 유용하게 사용할 것이다.
(윈도우 크롬에서도 통용되는 부분이 있다.)



맥북을 처음 샀을 때, 블루투스 무선 마우스를 같이 샀는데, 
이상하게 맥북을 사용할 땐, 정말 자연스럽게 마우스를 안 쓰게 된다.
(윈도우 노트북 쓸 땐, 아주 자연스럽게 마우스부터 손이 가고..)

맥북은 트랙 패드가 워낙 잘 나와서, 
트랙패드 + 단축키로 웬만하면 커버 되는 것 같다. 

맥북 사용자들 보면 마우스를 잘 안 쓰게 된다고 했었는데
나도 써보고 나서야 믿게 되었다.

다만, 트랙패드에서 마우스 커서 이동 속도를 더 높여줬으면 하는 바램이..




아무튼 익숙하지 않았던 사람이 있다면,
도움이 되길 바란다.



끝.




2018년 6월 1일 금요일

맥 sublime text 찾기 단축키

맥 sublime text 찾기 단축키


Mac OS Sublime Text 찾기 단축키.
Mac OS Sublime Text F3
Mac OS Sublime Text 울트라에디터처럼.


드디어 찾았다!!!!!!!!!!!!
유레카 !!!!

으아!!!!!!!!!!!!!!!!!!!!!!!



하아.. 드디어 겨우 발견하였다. 
인터넷에 아무리 검색을 해보아도 나오질 않았는데..
이것저것 누르다보니 찾게 되었다. 

상당히 기쁘다.


나는 울트라에디터를 가장 편리하게 써온 사람이다.
울트라에디터에서 변수 명을 마우스로 클릭 후, 'F3'을 눌러주면 
순차적으로 아래로 내려가면서 같은 이름(변수명)을 찾아준다. 
'Shift + F3'을 누르면, 다시 반대로 올라가고. 


근데 이런 게 Sublime Text 프로그램엔 없는 것 같아서 
그동안 해당 변수를 'command + C'(복사), 'command + F'(찾기) 
'command + V'(붙여넣기)로  찾았다.
다음 찾기 버튼을 마우스로 클릭클릭클릭 하면서 말이다.


그 후, 한 가지 진보된 방법이
찾을 단어(변수명 등) 블럭지정(마우스로 드래그하거나, 해당 단어 더블클릭) 후,
'command + C'(복사), 'command + F'(찾기) 
'command + V'(붙여넣기)
후, 
'command + G' 단축키로 다음 찾기찾기찾기.




그리고 오늘.
발견.

찾을 단어(변수명 등) 블럭지정(마우스로 드래그하거나, 해당 단어 더블클릭) 후,
'command + E' 를 누른다. 그러면 해당 단어가 복사되어 버퍼에 들어간다. 그 후,
'command + G' 로 찾기찾기찾기...


즉, 해당 단어(or 변수명)를 클릭 후(커서가 위치해있으면), 'command + E' 후 바로
'command + G' 하면 다음으로 찾기찾기 된다.

반대로 올라오려면 'command + shift + G' 하면 되고.


울트라 에디터처럼 F3 단축키가 없는지, 맥에서 F1 ~ F12 까지 다 찾아봤는데 없더라.


아무튼 이 발견으로 상당히 기분이 좋다. 

구글에서 아무리 검색을 해봐도 command + E 를 찾기 힘들었기에...


혹시 몰랐던 사람이 있다면 도움이 되었으면 좋겠다.




끝.