도커의 CCHits

안녕하세요 세계. 이것은 DEV에 대한 나의 첫 번째 기사입니다. 바라건대 CCHits 코드베이스의 해킹(좋은 종류) 시리즈의 일부입니다.

그렇다면 CCHits.net은 무엇입니까?



웹사이트cchits.net에서:

CCHits.net is a site promoting and featuring Creative Commons licensed music and the podcasts that play them.



CCHits.net은 또한 일일 노출 쇼와 일일, 주간 쇼에 대한 RSS 피드를 제공하는 자동 팟캐스트를 생성합니다.

Daily Exposure Show RSS

2019년 6월 6일 CCHits 일일 쇼

CCHits는 Linux를 기반으로 하며 festivalsox과 같은 도구를 사용하여 Podcast 에피소드를 구성합니다. 이전에는 Laravel Homestead 실행을 제안했을 것이고 wikipage on the CCHits repository 을 작성했습니다.

최근 dev-ops 분야가 Docker 로 이동함에 따라 몇 가지 문제가 발생합니다. 주된 문제는 Homestead(Virtual Box)와 Docker(Hyper-V) 간의 호환성입니다.

이 기사에서는 Docker를 사용하여 기본 웹 사이트 및 데이터베이스에 대한 두 개의 컨테이너를 설정하고 개발자가 CCHits 코드베이스에서 해킹을 시작하는 데 필요한 일부 설정을 살펴봅니다.

현재 DockerSupport 분기에서 코드를 찾을 수 있습니다.


컴퓨타마이크 / 웹사이트





도커 파일



CCHits를 PHP5.6/아파치 이미지로 지원하도록 도커 파일을 설정하고 이를 MySQL 서버와 연결했습니다(docker-compose 사용).

로컬에서 실행하는 데 필요한 인프라를 구축하려면 명령을 실행하기만 하면 됩니다.

docker-compose -f "docker-compose.yml" up -d --build 


이것이 완료되면 웹사이트와 MySQL 5.7 데이터베이스 서버가 있을 것입니다. 브라우저를 http://localhost으로 실행하면 다음을 볼 수 있습니다...


메인 CCHits 첫 페이지

모두 설정합니다.



CCHits는 일부 구성을 데이터베이스에 저장하므로 이를 설정해야 하며 Google 애플리케이션을 설정해야 합니다.

https://console.developers.google.com/의 Google 개발자 콘솔에서 프로젝트를 설정합니다.

일부 OAuth 2.0 클라이언트 ID 설정 - 제 설정은 다음과 같습니다.


구글 OAuth 설정

자격 증명을 흐리게 처리했지만 중요한 것은 애플리케이션에 대한 일부 끝점을 등록하는 것입니다.

다음 필드의 구성 테이블에 있는 데이터베이스에 저장해야 합니다.


열쇠



googleClientId
Google OAuth 설정에 있는 모든 항목

googleClientSecret
Google OAuth 설정에 있는 모든 항목

googleRedirectUri
http://127.0.0.1/oauth2callback


브라우저를 http://127.0.0.1/admin으로 실행하면 로그인 페이지가 표시됩니다.


CCHits 로그인 페이지

Google 인증을 설정했으므로 해당 옵션을 사용하여 내 Google 계정을 사용하여 로그인하겠습니다.


Google 인증을 사용하여 로그인

로그인하고 붐...아무 일도 일어나지 않습니다... 로그인 페이지로 돌아왔습니다. 이는 귀하가 사용자이기 때문입니다. 심지어 로그인도 했지만... 관리자로 설정되지 않았습니다.

큰 힘에는 큰 책임이 따른다



이 상황을 수정하려면 MYSQL 컨테이너(여기서는 MySQL 워크벤치를 사용하고 있음)에 연결하고 사용자의 관리 플래그를 1...로 설정합니다.

관리자 플래그를 갖도록 사용자 레코드 설정

브라우저를 새로고침하여 커튼 뒤를 엿보고 로컬 CCHits 인스턴스의 관리 페이지인 폐하를 보십시오.

CCHits 관리 화면

다음 게시물에서는 VSCode를 사용하여 음악 공급자를 구성하고 Xdebug를 설정하는 방법을 살펴보겠습니다.

좋은 웹페이지 즐겨찾기