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
이름 앞의 마침표는 숨겨진 디렉토리입니다. 두 가지 가능성이 있습니다.
- 파일 목록이 표시되며 이 파일 중 하나의 확장자는 .pub입니다.
- "파일 또는 디렉터리를 찾을 수 없습니다"라는 메시지가 나타납니다.
확장자가 .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 폴더 압축
- 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 파일 삭제
- 서버에 다시 업로드
이 튜토리얼이 마음에 드셨기를 바랍니다. 읽어 주셔서 감사합니다!