Git을 사용하여 cPanel에서 Drupal 워크플로를 설정하는 방법 - OSTraining

게시 됨: 2022-06-29

다른 CMS와 달리 Drupal 코어의 업데이트는 어렵지 않지만 관련된 모든 세부 사항 때문에 다소 복잡합니다. 이 자습서에서는 로컬 Drupal 9 설치를 구현한 다음 이 코드베이스를 Bitbucket의 중앙 저장소에 업로드(푸시)할 것입니다. 그런 다음 이 리포지토리에서 웹사이트가 저장될 라이브 서버로 코드베이스를 다운로드(풀)합니다.

이 (터미널 지향) 프로세스를 사용하면 Drupal 코어 및 모듈 업데이트 속도를 높이고 모범 사례를 따를 수 있습니다.

시스템에 LAMP 스택이 이미 설치되어 있다고 가정합니다. 또한 웹 서버에서 터미널 액세스가 필요합니다.

방법을 배우려면 계속 읽으십시오!

1단계: Drupal 9를 로컬로 설치

시스템의 터미널 애플리케이션을 열고 로컬 서버 디렉토리(일반적으로 Linux 시스템의 경우 /var/www/html )에 커서를 놓습니다 .

  • 유형 : composer create-project drupal/recommended-project my_drupal

그러면 최신 안정적인 Drupal 버전이 컴퓨터에 다운로드됩니다.

  • 유형 :
 cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/

이러한 터미널 명령은 다음 작업을 순서대로 수행합니다.

  • my_drupal 디렉토리에 액세스
  • config라는 디렉토리를 생성 합니다.
  • 기본 디렉토리에 액세스
  • default.settings.php 파일을 복사 하고 이름을 settings.php로 변경 합니다.
  • 사이트 디렉토리로 돌아가기
  • 시스템이 설치 프로세스를 완료할 수 있도록 기본 디렉토리에 전역 권한을 할당하십시오 .

이 작업이 완료되면 데이터베이스를 만들어야 합니다.

  • 유형 : mysql -u root -p

MySQL 루트 비밀번호를 입력 하십시오.

 create database my_drupal; exit;

이렇게 하면 코드베이스에 연결할 데이터베이스가 생성됩니다.

  • 웹 브라우저를 엽니 다.
  • 유형 : localhost/my_drupal/web

로컬 설치 프로세스를 완료합니다.


2단계: 원격 저장소에 키 생성 및 추가

이 튜토리얼의 목적을 위해 Bitbucket을 사용할 것입니다. 단계는 Github 프로필과 매우 유사합니다.

Bitbucket 계정에 로그인한 후 왼쪽 하단 모서리에 있는(이 글을 쓰는 시점에) 프로필 아이콘을 클릭합니다.

  • 개인 설정 선택
  • SSH 키 클릭
  • 키 추가 클릭

레이블과 키를 묻는 팝업 창이 나타납니다.

  • MyLaptop, BobsPC 또는 Bitbucket에서 자신의 컴퓨터를 식별할 수 있는 모든 것을 입력 하십시오.
  • 터미널 애플리케이션을 엽니다 .
  • 유형 : ls -al ~/.ssh

이름 앞의 마침표는 숨겨진 디렉토리입니다. 두 가지 가능성이 있습니다.

  1. 파일 목록이 표시되며 이 파일 중 하나의 확장자는 .pub입니다.
  1. "파일 또는 디렉터리를 찾을 수 없습니다"라는 메시지가 나타납니다.

확장자가 .pub인 파일은 시스템의 공개 키입니다. 이 파일이 보이지 않으면 새로 만들어야 합니다. 파일이 보이더라도 계속 읽으십시오.

  • 유형 : ssh-keygen -t rsa -C "my_email@my_domain.com"
  • Enter 키를 눌러 키를 저장할 기본 디렉터리(.ssh)를 선택합니다.
  • 동일한 암호를 두 번 입력 합니다( Enter 를 두 번 눌러 이 암호를 비워 둘 수 있습니다.)

시스템은 공개 키와 지문의 위치를 ​​알려줍니다. 시스템에 이미 .pub 키가 있는 경우 여기로 다시 들어가십시오.

  • 선호하는 코드 편집기로 .ssh/id_rsa.pub 파일을 엽니 다.
  • 이메일 주소를 포함한 전체 텍스트 복사
  • 브라우저를 열고 텍스트 영역에 붙여넣기
  • 키 추가 클릭

이제 로컬 컴퓨터에서 Bitbucket에 연결할 수 있습니다.


3단계: 원격 저장소 생성

Bitbucket 프로필에서:

  • 저장소 만들기를 클릭 합니다.
  • Workspace 및 프로젝트 이름을 선택 합니다( 처음인 경우 생성 ).
  • 저장소 에 적절한 이름을 지정하십시오.
  • README 파일을 포함 하지 마십시오
  • .gitignore 파일을 포함 하지 마십시오 .
  • 저장소 만들기를 클릭 합니다.

4단계: Bitbucket에 로컬 리포지토리 추가

  • 유형 :
 cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'

Drupal 설치의 루트 디렉토리에 액세스하여 example.gitignore 파일의 이름을 .gitignore로 변경하고, 로컬 저장소를 초기화하고, git 스테이징 영역에 파일을 추가하고, 마지막으로 이러한 "변경 사항"을 커밋합니다. 비어 있음) 저장소로 이동합니다.

  • 유형 :
 git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master

Bitbucket의 리포지토리 페이지에서 이 두 명령을 복사하여 붙여넣을 수 있습니다.

  • 메시지가 표시되면 yes를 입력 합니다.
  • 암호를 입력 하세요

Bitbucket에서 저장소를 확인하십시오. 웹 디렉토리( 로컬 repo ) 내의 거의 모든 파일이 원격 저장소로 복사되었습니다. site/default 디렉토리를 살펴보십시오.

settings.php 파일이 누락되었습니다. .gitignore 파일에 포함되어 있기 때문입니다.

  • 터미널을 열고
  • 유형 : nano .gitignore
  • 나노 편집기를 닫으려면 Ctrl+x를 입력 하십시오.

이 튜토리얼의 첫 번째 이미지에 있는 카드를 보면 이미 카드 1의 작업을 완료했으며 카드 2에는 하나의 작업만 남아 있음을 알 수 있습니다. 이 프로세스의 마지막 부분을 계속 진행하겠습니다. .


5단계: 라이브 데이터베이스 생성

호스팅 제공업체에서 대시보드를 열고 도메인 이름으로 새 Drupal 계정을 만드십시오.

  • Drupal "원 버튼 설치 프로그램"을 클릭 합니다.
  • 계정 만들기 클릭

이것은 공급자마다 다를 수 있으므로 여기에서 방법을 찾아야 합니다.

Drupal 사용자(관리자)와 Drupal 비밀번호가 포함된 이메일을 받게 됩니다. 또한 cPanel 계정의 사용자 이름과 암호도 받게 됩니다. 이것들이 우리에게 필요한 것입니다. 호스팅 제공업체의 대시보드에서도 사용할 수 있습니다.

  • Enable SSH클릭 하면 라이브 서버의 터미널에 액세스할 수 있습니다.
  • cPanel 링크를 클릭하십시오 .
  • 검색 상자에 databases 입력
  • MySQL 데이터베이스 선택

one-clck 설치 프로그램이 데이터베이스를 생성했습니다. 이 데이터베이스 를 삭제 하십시오.

  • 데이터베이스의 적절한 이름을 입력하십시오 .

cPanel에 의해 자동으로 추가된 데이터베이스 접두어( 대부분의 경우 사용자 이름 )에 주목하십시오.


6단계: 로컬 데이터베이스 가져오기

  • 터미널 애플리케이션을 엽니다 .
  • 유형 :
 mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
  • SQL 루트 암호를 입력 하십시오

이렇게 하면 데이터베이스의 복사본이 만들어지고 바탕 화면에 배치됩니다. 데스크탑의 이 데이터베이스는 cPanel에서 생성한 것과 동일한 이름을 가져야 합니다.

머신에 MySQL 버전 8이 있는 경우 MySQL 5( 호스팅 제공업체에서 사용 가능) 와 함께 작동하도록 데이터베이스를 조정해야 할 것입니다.

  • 유형 :
 sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql

이 작업을 수행하는 Linux 명령입니다.

  • cPanel 대시보드 열기
  • 검색 상자에 phpMyAdmin입력 하고 선택 하십시오.
  • 데이터베이스 이름을 클릭 하여 선택하십시오. 비어 있어야 합니다( 데이터베이스에 테이블이 없음 ).
  • 가져오기 클릭
  • 파일 선택 클릭
  • 데스크탑에서 데이터베이스 선택
  • 아래로 스크롤 하여 이동클릭 합니다.

이 작업은 몇 분 정도 소요되므로 잠시만 기다려 주십시오.


7단계: 도메인 리디렉션

Drupal은 웹 디렉토리 내에 저장되므로 사이트에 액세스 https://yoursite.xxx/web URL을 입력해야 합니다.

클라우드 서비스를 사용하는 경우 문제가 되지 않으며 호스트 파일을 편집할 수 있습니다. cPanel에서는 이것이 불가능합니다(내가 아는 한). 영구 URL 리디렉션을 만들어야 합니다.

  • cPanel 대시보드 열기
  • 검색 상자에 Redirects 입력
  • Enter 키를 누릅니다 .
  • 영구 리디렉션 선택 (301)
  • 드롭다운에서 도메인 이름을 선택합니다 .
  • 리디렉션 링크 추가
  • 추가 클릭
  • 검색 상자에 Domains 입력
  • Enter 키를 누릅니다 .
  • 강제 HTTPS 리디렉션 토글을 클릭 합니다.

8단계: 코드베이스 업로드

  • cPanel 대시보드 열기
  • 검색 상자에 파일 관리자 입력
  • Enter 키를 누릅니다 .
  • public_html 디렉토리를 두 ​​번 클릭하십시오 .
  • 화면 우측 상단의 설정 버튼 클릭
  • 숨김 파일 표시(dotfiles) 체크
  • 저장 클릭
  • 모두 선택 클릭
  • 삭제 클릭
  • 시스템의 파일 관리자를 엽니 다.
  • 전체 my_drupal 폴더 압축
Git을 사용하여 cPanel에서 Drupal 워크플로를 설정하는 방법
  • cPanel 파일 관리자 열기
  • public_html 디렉토리 내에서 업로드클릭 합니다.
  • 파일 선택 클릭
  • zip 파일 업로드
  • 파일이 서버에 업로드되면 뒤로 이동을 클릭 합니다.
  • zip 파일을 마우스 오른쪽 버튼으로 클릭 하고 압축 풀기 > 파일 압축 풀기 > 닫기 를 선택합니다.
  • my_drupal 폴더를 두 번 클릭 합니다.
  • 숨김 파일 표시 옵션이 활성화되어 있는지 확인하십시오
  • 모두 선택 클릭
  • 이동 클릭
  • public_html 디렉토리 선택
  • 파일 이동클릭 합니다.
  • 한 단계 위로 클릭
  • zip 파일을 마우스 오른쪽 버튼으로 클릭 하고 삭제클릭 합니다.
  • 로컬 서버에서도 zip 파일을 제거하십시오 .
  • 터미널 또는 파일 관리자를 엽니 다.
  • 로컬 설치의 settings.php 파일을 데스크탑에 복사 합니다.
  • 선호하는 코드 편집기로 파일 열기
  • 사용자 이름을 호스팅 공급자가 제공한 사용자 이름으로 바꿉니다 ( 데이터베이스 이름과 암호로 동일하게 수행 - 5단계 참조 ).
  • 파일 저장닫기
  • cPanel 대시보드에서 파일 관리자를 엽니 다.
  • public_html/web/sites/default를 클릭 합니다.
  • 업로드 클릭
  • 바탕 화면에서 settings.php 파일을 선택 합니다.
  • 클릭 하여 파일을 덮어씁니다.
  • 돌아가기 클릭
  • 아래 이미지에 따라 파일 및 디렉토리 권한을 변경하십시오 .
  • 한 단계 위로 클릭
  • 기본 폴더의 권한을 0755로 변경

9단계: 서버에 PHP 버전 설정

Drupal에는 PHP 7.3 이상이 필요합니다.

  • cPanel 대시보드 열기
  • 검색 상자에 Select PHP입력 합니다.
  • Enter 키를 누릅니다 .
  • 7.4 선택
  • 현재로 설정 클릭
  • opcache 확장자 확인
  • 브라우저의 주소 표시줄에 [yoursite.xxx/web]입력 합니다.
  • 로컬 Drupal 설치의 사용자 이름과 비밀번호로 로그인클릭 합니다.
  • 편집 탭을 클릭 하고 필요한 경우 비밀번호를 변경합니다.

10단계: Bitbucket에 프로덕션 서버 키 추가

  • cPanel 대시보드 열기
  • 검색창에 Terminal 입력
  • 입력을 클릭 하십시오
  • 이해하고 계속 진행하고 싶습니다를 클릭하십시오
  • 2단계에서 설명한 과정을 반복 합니다.
  • 유형: less ~/.ssh/id_rsa.pub

less 는 터미널 편집기입니다.

  • 2단계에서와 같이 키를 복사 하여 붙여넣 습니다. 이번에는 서버 컴퓨터에 대해
  • 유형 : q

그래야 덜 나갈 수 있습니다.

Bitbucket에 연결된 각 머신( 또는 가상 머신 )에 대해 하나의 키가 있습니다.


11단계: 원격 리포지토리를 프로덕션 서버에 복제

  • 서버의 터미널 응용 프로그램을 엽니 다.
  • 유형 :
 cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

웹 폴더를 삭제하고 원격 리포지토리로 교체합니다. Bitbucket 리포지토리를 열고 복제 버튼을 클릭하면 마지막 터미널 명령을 얻을 수 있습니다 ( 명령 끝에 web을 추가하는 것을 잊지 마십시오! ) .


12단계: 모듈 또는 테마 설치

  • 로컬 시스템의 터미널 애플리케이션을 엽니 다.
  • 유형 :
 cd /var/www/html/my_drupal composer require drupal/bootstrap
  • cd web입력 하여 웹 디렉토리로 이동
  • 유형 :
 git add . git commit -m 'Bootstrap theme installation' git status
  • git push 입력
  • 필요한 경우 암호를 입력하십시오
  • 원격 서버에서 터미널을 엽니 다.
  • 유형 ( 필요한 경우 암호 입력 ):
 git fetch git status

다음과 같은 경우: 귀하의 분기가 1 커밋만큼 'origin/master' 뒤에 있고 빨리 감기할 수 있습니다.

  • 유형 : git merge

이렇게 하면 서버의 코드와 원격 저장소에서 가져온 코드가 병합됩니다.

  • Drupal 백엔드의 테마 섹션으로 이동합니다 . Bootstrap 테마가 있어야 합니다.

참고: 모듈을 다운로드하거나, Drupal 코어를 업데이트하거나, 테마의 CSS 코드를 편집할 때마다 이 마지막 단계만 반복하면 됩니다.


문제 해결

프로덕션 서버에 Drupal을 설치한 후 404 오류 페이지가 표시되면

  • .htaccess 파일 삭제
  • 서버에 다시 업로드

이 튜토리얼이 마음에 드셨기를 바랍니다. 읽어 주셔서 감사합니다!