워드프레스가 털리고 나서..

요 몇일 블로그를 들어오면, 납치해서 이상한 사이트로 이동하는 현상이 있었다.

난 지금 워드프레스를 Docker 위에서 돌리고 있고, 그래서 이미지를 다시 받아 실행했음에도 그런 현상이 유지된다.

이렇게 되면 문제는 별도로 저장하는 wp-contents 폴더에 뭔가 파일에 변형이 있겠구나 싶었다.

Theme 도 줄이고 plugin도 다 껐다. 어차피 필요도 없다보니.

근데. 또 몇시간뒤에 같은 증상이 반복되는거다.

잘 찾아봤다. 꼼꼼히. 근데 이유는 어이가 없었다.

ID 비번이 털려서. 그냥 admin으로 로그인한뒤, 이상한 plugin만 설치하고 가는거였다…..

결론 : ID 비번을 어렵게 합시다.!

게임관련 Digitalpeep 의 이야기

최근 어떤글이 올라오는지 궁금한 Digitalpeep의 블로그

게임관련된 글이 많이 올라오는데 사실 이용자편이나 사업자 편 어디에도 안 휘둘리고 그냥 중심을 잡는것 같아서 맘에 든다.

메이플스토리 ‘집게 손가락’ 논란 , 반복되는 게임업계의 혐오표현 갈등 : https://blog.naver.com/PostView.naver?blogId=digitalpeep&logNo=223281187457

게임 이용자 본인확인제 무엇이 문제인가? :https://blog.naver.com/digitalpeep/223300534038
MMORPG와 확률형 아이템 논란, 필요악인가? : https://blog.naver.com/PostView.naver?blogId=digitalpeep&logNo=223321051723

‘버섯커 키우기’의 흥행이 말해주는 것들 – 게임산업의 규제와 기회비용 : https://blog.naver.com/digitalpeep/223333281454

‘게임등급분류 심의’ 민간 이양 계획 환영하지만 아쉬운 점 : https://blog.naver.com/digitalpeep/223352416999

게임 광고의 선정성과 저품질 논란, 해결책은 있는가? : https://blog.naver.com/digitalpeep/223369036473

[트위치 철수와 그 이후] 한국에서의 게임 스트리밍의 과제 : https://blog.naver.com/digitalpeep/223380143334

[확률형 아이템 정보 공개 의무 시행] 이용자 혼란을 극복할 수 있을까? : https://blog.naver.com/digitalpeep/223391499070

웹보드 게임과 규제 ① – 웹보드 게임과 도박? : https://blog.naver.com/digitalpeep/223422746266

웹보드 게임 규제 – 게임의 사행성을 막는 좋은 정책? : https://blog.naver.com/digitalpeep/223453582211

게임산업 진흥 정책 – 장점을 버리고 단점을 택하다 : https://blog.naver.com/digitalpeep/223443459715

공정위의 확률형 아이템 현장 조사, 해외 게임사와의 역차별은? : https://blog.naver.com/digitalpeep/223467366478

이해할수 없는 bash

요컨데 이런 파일이 있다고 하자

bash 파일

!#/bin/bash
Subtitles="*.ass"
for file in $Subtitles
do

V="${file%.ass}.mp4"
VC="${file%.ass}.mkv"
ffmpeg -i \'"$VC"\' -i \'"$file"\' -codec copy -map 0 -map 1 -metadata:s:s:0 language=kor \'converted/$VC\'
done

근데 이거 실행이 안된다. 파일이름이 뭔가 이상한듯..

그래서 그냥 echo 붙여서 명령어를 만든뒤 그걸 다시 bash 로 실행한다.

파일명을 명확히 넘기는 방법이 없는건가?..

인스타그램 관련 네이버 블로그

읽다 보니 뭔가 공감되서 몇개 퍼왔다

인스타그램이 바꾼 젊은 세대의 삶 “빛과 그림자” : https://blog.naver.com/digitalpeep/223430696443

네이버 · 유튜브도 제친 인스타그램, 독주는 계속될까?: https://blog.naver.com/digitalpeep/223426776466

게임쪽도 좋은글이 좀 있는것 같긴하던데.

FFMPEG 컨버팅

1. h264로 트랜스코딩 (mkv로)

ffmpeg -i 원본파일 -vaapi_device /dev/dri/renderD128 -vcodec h264_vaapi -vf format='nv12|vaapi,hwupload' -acodec copy(혹은 ac3등) 출력파일

2. mkv로 embeded 자막추가 (mp4도 같은방식)

ffmpeg -i 원본파일 -sub_charenc cp949 -i 자막파일.smi -codec copy -scodec srt -metadata:s:s:0 language=kor 출력파일.mkv

<트랜스코딩과 자막 Embedding을 동시에>

ffmpeg -i 원본파일 -sub_charenc cp949 -i 자막파일.smi -vaapi_device /dev/dri/renderD128 -vcodec h264_vaapi -vf format='nv12|vaapi,hwupload' -acodec copy(혹은 ac3등) -scodec srt -metadata:s:s:0 language=kor  출력파일

3. concat (파일 합치기)
concat.txt를 다음과 같이 만듬

file "첫번째파일"
file "두번째파일"
...

이후 다음 실행

ffmpeg -f concat -i concat.txt -c copy 출력파일

2에서 각각 자막을 embed 시켰다면 3에서도 제대로 나옴.

Docker로 wordpress 운영 및 https-portal을 사용할 때 문제 해결하기

참고 : https://dev.to/foresthoffman/hosting-wordpress-over-https-with-docker-5gc

일반적으로 운영할때 생기는 문제는 https로 모든게 안 포워딩돼서 크롬 등에서 css등을 아예 다운 안받아 온다는 것 (https 가 아닌 컨텐츠 다운안됌)

그리고 wp-admin 에 아예 못들어간다는것.

 

해결책

wordpress/wp-config.php 에

###
// If we're behind a proxy server and using HTTPS, we need to alert WordPress of that fact
// see also http://codex.wordpress.org/Administration_Over_SSL#Using_a_Reverse_Proxy
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';

    // Force SSL in admin.
    define('FORCE_SSL_ADMIN', true);
}

/* That's all, stop editing! Happy blogging. */
###

추가한다. 마지막에 주석 위에 넣기만하면될듯

Docker에 –link는 곧 사라진다고 합니다..

docker에서 서로 다른 컨테이너간 Link는 참 좋은 기능이다.

WordPress 를 가정하면,

docker run –link mysql […]

이런식으로 설정이 가능하고 그럴경우 공식 wordpress는 진짜 DB 세팅 따위 안해도 되는 장점이 있다

그러나 –link는 앞으로 안쓰인다는 (https://docs.docker.com/network/links/) 것이 정설.

공통의 bridged network를 사용하는 것을 추천한다.

docker network create [브리지이름]

으로 네트워크를 설정하고.

새로 만드는 컨테이너는

 docker run --network=[브리지이름]

으로 서로 연결해준다.

이미 운영중인 컨테이너는

docker network connect [브리지이름] [컨테이너이름]

으로 연결해줄수 있다.

 

이렇게 될 경우 컨테이너이름을 host이름으로 서로 연결할수 있다.

간단한 예시

docker network create dbms
docker run --name=mariadb --restart=always -d --network=dbms -v /srv/mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=비밀번호 mariadb
docker run --name wordpress --restart=always -d -p 8088:80 --network=dbms wordpress
docker run --name myadmin -d -e PMA_ARBITRARY=1 --restart=always --network=dbms -p 8081:80 phpmyadmin/phpmyadmin

이렇게 하고, wordpress 설정시  mysql 서버를 mariadb 로 정해주면된다. 물론 phpmyadmin 은 localhost 접속이 아니고 접속시 DB를 mariadb로 정해줘야 하고.

 
docker-compose (v2 기준) 으로는 더욱 간단하다.

Service 에 external을 설정하고, Network를 넣는다. 예시

version: '2'

services:
  app:
    image: nextcloud
    ports:
      - 8080:80
    networks:
      - dbms
    external_links:
      - mariadb:mariadb
    volumes:
      - /srv/nextcloud/config:/var/www/html/config
      - /media/data/nextcloud:/var/www/html/data
    restart: always

networks:
  dbms:
    external: true