왠걸.. 무음모드 앱을 사용하고 있던게 죄다 먹통이다. 별로 남에게 사진 찍고 있는 것을 알리고 싶지 않은데 찰칵 하고 강제로 소리나는 것은 극혐이다. 굳이 알려야 할 이유도 없고, 사무실에서 일하다가 찰칵 소리가 나면 괜히 쳐다보게 되고.. 어떤 사람들은 동물이나 애기사진 찍을때도 많이 이용되고 있는데 이걸 굳이 왜 법적으로 규제를 해놓았는지…
피쳐폰 시절부터 우리나라에는 법적으로 셔터음을 강제하도록 규제사항이 있고, 해외에 나가면 이 기능은 자동으로 비활성화 되지만 어찌되었든 짜증나는 것도 사실.
그래서 이래저래 찾아보다가 비활성화 할 수 있는 방법을 찾았다.
준비물 : adb (인터넷에 많다.)
1. 설정 → 휴대전화 정보에 들어간 후 스크린샷의 빌드번호 부분을 연타한다.
“개발자 모드가 활성화 되었습니다” 라고 나올때까지 연타하면 되며 보통 5~6회 하면 가능하다.
2. USB 디버깅 옵션을 켠 후 스마트폰과 PC를 USB 케이블로 연결한다.
3. adb를 설치후 시작 → 실행 → cmd를 켠 후 adb를 설치해둔 경로로 이동한다.
다음의 명령어를 입력한다.
adb devices
연결된 장치를 확인하는 명령어이며, 이때 휴대전화 화면에는 “RSA 어쩌고 저쩌고 인증을 #(O*&$#” 나오면 확인을 누른다.
무작위 알파벳 과 device 라고 나오면 연결이 성공된 것이다.
이제 다음의 명령어를 입력하면 완료.
adb shell settings put system csc_pref_camera_forced_shuttersound_key 0
마지막 값은 다음과 같다
0 : 셔터음 비활성화
1 : 셔터음 활성화
명령어가 올바르게 입력되면 스크린샷처럼 아무런 응답이 없고, 오타 등등 오류가 있다면 에러메시지가 출력된다.
이제 무음모드 또는 진동모드에서는 셔터음이 울리지 않으며, 벨소리를 켜두면 셔터음이 출력된다.
갤럭시 노트20 울트라 안드로이드 11 베타버전에서 작동 확인하였으며, 대부분의 스마트폰에서 작동 할 것으로 기대된다. 다만 베타버전의 경우 추가 업데이트 되면 셔터음은 다시 활성화되므로 업데이트 후 비활성화 작업을 또 해주어야 한다.
** 2020.12.23 내용추가. 갤럭시 노트 20 울트라 안드로이드 11 정식버전 릴리즈 적용 후에도 셔터음 비활성화 적용이 가능한 것을 확인. **
현재 블로그는 티스토리를 이용하고는 있으나, 개인 홈페이지 및 개인 블로그는 설치형 워드프레스를 사용중이다. 초심자가 접근하기엔 역시 티스토리나 네이버 블로그가 편하지만, 편의성이나 자유도는 압도적으로 워드프레스가 좋다. 플러그인 지원도 그렇고 이래저래 좋은 점이 많지만 역시, 단점은 설치형이다 보니 범접하기가 힘든 것도 사실이다.
설치 시 꽤나 귀찮은 점이 많아서 오늘은 추후 재설치 시 까먹을 것을 대비해서 워드프레스 설치방법을 써보려고 한다.
무료로 제공되는 가상 서버 중에는 여러가지가 있지만, 제목에 떡하니 GCP(Google Cloud Platform)라고 적어둔건 딱히 GCP가 좋아서 그런 것 보단 현재 오라클 클라우드는 이미 다른 용도로 잘 사용중이라 남는 자리가 없어서, 남는 서버를 고르다보니 GCP가 선택되었다. (개인 홈페이지, 개인용 블로그는 오라클 클라우드를 사용중이다.)
$sudo mysql -u root -p
create database wordpress;
use mysql;
CREATE USER 'wordpress'@'%' IDENTIFIED BY '1q2w3e4r!@';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%';
FLUSH PRIVILEGES;
quit;
11. 워드프레스 설치파일을 다운로드 한 뒤, 압축을 풀어 apache2 웹서버 루트로 이동시켜준다.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpress' );
/** MySQL database password */
define( 'DB_PASSWORD', '1q2w3e4r!@' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
다른 부분은 위에서 설정한 DB 설정대로 해주면 되고 AUTH_KEY 부분의 ‘put your unique phrase here’ 부분은 s.xeriars.com/73yL를 방문해서 나온 정보를 입력하면 된다.
이미 앞서 301 리디렉션 처리를 해둔 상태이므로 “유효성 검사 및 업데이트”를 누르면 유효성 검증이 진행 된 후 이동이 가능하다. 단, *.tistory.com에서 검색결과의 이동은 301 리디렉션 처리를 할 수 없으므로 불가능.
예전에 쓰던 femto.me도 하는김에 같이 이동시켜주었다. 이렇게 설정해주고 몇 달 기다리면 구글검색결과가 모두 xeriars.com으로 이동되므로 fork된 검색결과가 모두 병합된다. 구글에서 권장하는 301 리디렉션 유지기간은 기본 6개월이라고 명시되어 있다. 기존 도메인의 검색결과가 악용되지 않게 도메인을 최소 1년 간 유지하는 것도 권장하고 있다.
301 리디렉션은 이미 설정되어있을테니 이 부분은 앞 내용을 건너뛰지 않았다면 크게 신경 쓸 필요는 없다.
다음으로는 이동할 사이트 (xeriars.com)을 등록한 후 사이트맵을 제출하여 주고 기다리면 해결된다.
4) 다음 검색등록(s.xeriars.com/Uzle)은 티스토리 도메인을 변경하면, 바로 변경된 주소가 다음 검색결과에 반영되나 때로는 검색엔진 내부 로직에 의해 삭제될 수 있는데, 이때는 검색등록을 별도로 신청해주어야 하며, 그래도 노출이 안된다면 검색엔진 내부에서 스팸 등으로 제외처리 된 것이므로 고객센터에 문의해서 풀어주어야 한다.
검색엔진의 검색결과까지 반영하는 몇 가지를 다루었으니, 그 외의 검색엔진에 대한 것은 이 글을 읽는다면 큰 어려움 없이 응용 할 수 있으리라 판단되며, 나중에 변동사항에 대해서는 이 글에 추가적으로 내용을 기입할 생각이다.
YOURLS-1.7.9 폴더를 urls로 이름을 바꿔 이동하나, 이건 자유롭게 해줘도 무방하다.
이제 데이터베이스를 생성할 차례.
$mysql -u root -p
데이터 베이스에 루트계정으로 접속한다. 아직 루트계정에 암호가 설정되지 않았을테니 암호를 물어보면 엔터를 친다.
$create database yourls;
$use mysql;
$CREATE USER '아이디'@'localhost' IDENTIFIED BY '패스워드';
$GRANT ALL PRIVILEGES ON 데이터베이스.* TO '아이디'@'localhost';
$FLUSH PRIVILEGES;
$quit;
/** MySQL database 아이디 */
define( 'YOURLS_DB_USER', 'yourls' );
/** MySQL database 패스워드 */
define( 'YOURLS_DB_PASS', '1q2w3e4r!@' );
/** YOURLS 를 적용 할 도메인명. https를 적용하려면 https라고 써준다. */
define( 'YOURLS_SITE', 'https://s.xeriars.com' );
/** 서버 타임존 설정. 우리나라는 GMT+9 이므로 아래와 같이 입력 */
define( 'YOURLS_HOURS_OFFSET', 9 );
/** YOURLS 언어설정 */
define( 'YOURLS_LANG', 'ko_KR' );
/** 랜덤 쿠키값 입력 */
/** https://api.yourls.org/services/cookiekey/1.0/ 에 접속한 후 나온 값을 입력해주면 된다. */
define( 'YOURLS_COOKIEKEY', 'Zb0ZhUp%smJj$f#~qAEv}qnM6nZbc72w]$ZDZwF{' );
/** 로그인 시 사용할 아이디 / 패스워드 입력. */
$yourls_user_passwords = array(
'yourls' => '1q2w3e4r!@',
// 아이디, 패스워드를 추가하려면 아래와 같이 입력한다.
// 'username2' => 'password2',
// You can have one or more 'login'=>'password' lines
);
/** 단축URL 무작위 생성방식: 36 또는 62 입력 */
define( 'YOURLS_URL_CONVERT', 62 );
/*
* 36: 전부 소문자로 생성 (예: 13jkm)
* 62: 숫자,대소문자로 생성 (ie: 13jKm or 13JKm)
전부 입력해준 후에는 ctrl + o 를 눌러 저장해주고 ctrl + x로 빠져나온다.
$chmod 666 config.php
위의 설정파일에서 지정한 로그인 아이디, 패스워드 중 패스워드는 나중에 암호화가 되므로 chmod를 통해 읽기, 쓰기 권한을 지정해주어야 한다.
$cd /var/www/html/urls
$nano .htaccess
이제 .htaccess를 생성해줄 차례다. 아래 내용을 넣어주고 저장해주면 끝.
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /yourls-loader.php [L]
</IfModule>
# END YOURLS
(선택사항) 아까 config.php에서 https로 설정해주었으므로 SSL 인증서 발급이 필요하다.
certbot을 이용하면 간단하게 해결 가능한 부분이므로 이 부분을 같이 진행한다.
DNS에서 일단 서버 IP를 A record로 넣어주고 proxy 연결은 풀어준다. 인증서 발급 전에 proxy로 연결되면 클라우드 플레어 CDN으로 연결되어 정상적인 IP를 찾지 못하므로 발급 후 proxy로 해주면 된다.