로컬 테스트를 위해 내 컴퓨터에 Apache 2 서버를 설정했습니다. 확실하게,아니요인터넷에서 웹사이트를 호스팅합니다. 로컬 디버깅 및 설계에만 사용됩니다.
저는 Ubuntu Linux를 사용하고 있었는데 이제는 Linux Mint를 사용하는 새 컴퓨터가 생겼습니다. 제가 하고 싶은 일은 이전 Ubuntu 시스템의 모든 Apache 사이트와 설정을 가져와서 새 Linux Mint 시스템에 복사하는 것입니다.
나는 처음부터 시작하여 한 번에 한 사이트씩 수동으로 이 작업을 수행하는 방법만 알고 있습니다. 디렉토리의 각 사이트에 대한 파일을 생성 sites-available
하고 를 사용하여 활성화하십시오 a2ensite
. 그런 다음 Xdebug를 활성화하기 위해 파일에 몇 줄을 추가하는 등 구성 파일을 편집하고 php.ini
, 아무것도 놓치지 않기를 바랍니다.
저는 이 작업을 매우 비효율적으로 수행하고 있으며 인적 오류가 발생하기 쉽다고 확신합니다.
전체 Apache 2 설정과 사이트를 Ubuntu 컴퓨터에 복사하여 Linux Mint 컴퓨터에 한꺼번에 넣을 수 있는 방법이 없나요? 아니면 적어도 각 사이트를 다시 만들고 처음부터 설정하는 것보다 더 적은 단계가 필요합니까?
저는 관리자라기보다는 디자이너에 가깝기 때문에 Linux 명령과 서버 설정에 대해서는 최소한의 지식만 갖고 있다고 가정해 주시기 바랍니다.
답변1
시스템 전체 프로그램 설정과 마찬가지로 서버 설정은 아래에서 찾을 수 있습니다 /etc
. 정확한 위치는 분포에 따라 다르지만 좋은 선택 /etc/apache
일 수 있습니다 ./etc/apache2
/etc/apache2
동일한 플러그인이 설치되어 있고 Apache 버전이 크게 다르지 않은 경우 전체 /etc/apache2
디렉토리를 새 시스템에 복사하면 됩니다. 물론 문서 루트도 복사해야 합니다.
일부 웹 애플리케이션을 실행 중인 경우 해당 애플리케이션도 마이그레이션해야 합니다. 이는 일부 파일을 복사하는 것만큼 간단할 수도 있고 그렇지 않을 수도 있으며 응용 프로그램에 따라 많이 달라집니다. 특히 데이터베이스가 관련된 경우 동일한 데이터베이스 소프트웨어(일반적으로 MySQL)를 설치하고 이전 시스템에 데이터베이스를 덤프한 다음 새 시스템에 덤프를 복원해야 합니다.
답변2
전체 Apache 2 설정과 사이트를 Ubuntu 컴퓨터에 복사하여 Linux Mint 컴퓨터에 한꺼번에 넣을 수 있는 방법이 없나요?
완전히 다른 버전의 Apache가 아니라고 가정하면 그렇습니다. 배포판에서 Apache를 사전 구성하는 방법(예: 웹 루트 위치)에는 약간의 차이가 있지만 구성을 복사하여 모든 것을 동일한 위치에 넣으면 대량으로 수행할 수 있습니다. 구성 재정의와 마찬가지로 동일한 방식으로 편집하지 마십시오. Apache의 conf 파일 위치는 Apache 바이너리로 컴파일되며 배포판마다 다를 수 있습니다. 그러나 conf 파일의 내용은 이식 가능하므로 이러한 파일을 자신의 파일로 바꿀 수 있습니다. conf 파일의 위치 외에도 apache의 동작은 conf 파일의 내용에 따라 결정됩니다. 따라서 해당 파일을 바꾸면 예를 들어 웹 루트는 "새" 구성에 따라 결정됩니다. . 알 수 있듯이 여기에 있는 또 다른 세부 사항은 에 있습니다 /etc/hosts
.
Apache는 때때로 자체 구성이 있는 반독립적인 부분(예: PHP)을 사용합니다. 비슷한 것을 사용하고 있다는 것을 알고 있다면 세부 사항을 배우기 위해 숙제를 해야 합니다.
이것은 질문을 제기합니다서버를 백업 상태로 유지하는 방법;일관되게 수행하는 경우에만 문제가 됩니다.백업을 다른 머신에 배포(즉, 완전히 파괴된 것처럼). "서버 백업"이란 배포 패키지이기 때문에 효과적으로 백업되는 전체 파일 시스템이나 Apache 바이너리를 의미하는 것이 아닙니다. 내 말은 /var/www
구성뿐만 아니라 웹 루트의 모든 것(예: 서버에서 사용하는 모든 데이터 파일, 스크립트 등)이 /etc
; 언급한 대로 이 위치는 가변적이지만 Apache로 컴파일됩니다. 즉, 다른 배포판에 배포하려면 conf 파일을 다른 위치에 저장해야 할 수도 있습니다.
어떻게정확히수행하는 작업은 서버의 특성에 따라 다릅니다. 제공하는 다양한 항목이 별도의 프로젝트인 경우 해당 프로젝트를 독립적으로 백업해야 합니다. 여기에는 해당 프로젝트를 배포하는 방법과 필요한 사항에 대한 일부 문서가 포함되어야 하며, 해당하는 경우 Apache 구성 조각도 포함할 수 있습니다. 이는 프로젝트가 모든 아파치에 쉽게 설치될 수 있음을 의미합니다. 서버가 한 가지 전용이라면 웹 루트 전체를 백업하면 됩니다. 전자의 경우(다양한 독립 프로젝트) 어떤 형식을 사용하세요.VCS글쎄요(이것들은 사용법을 배우기에 좋은 것들입니다. 개인적으로 선호 git
하지만 다른 것들도 많이 있습니다). 후자(볼더 웹 루트)와 비슷합니다. rsync
그러나 이것들은 단지 제안일 뿐입니다. 요점은 이와 같은 작업(파일 시스템의 디렉터리 하위 트리를 선택적으로 백업)을 수행하려면 익숙한 도구가 있어야 한다는 것입니다. 아마도 소규모 설치를 위한 가장 쉬운 방법은 zip tar
(또는 zip)일 것입니다.
Apache의 백엔드 데이터베이스를 사용하는 경우 동일한 방식으로 데이터와 구성을 백업하고 싶지만 데이터베이스가 독립적인 백업을 통해 다양한 프로젝트에서 사용되는 경우 해당 데이터도 함께 백업되어야 합니다.
그래서 당신이백업 유지이 경우 "아파치를 복사"하기 위해 해야 할 일은 아파치를 설치한 다음 백업을 배포하는 것뿐입니다. 다양한 부분의 압축을 풀고, rsync, git clone 등을 수행하고 구성을 올바른 위치에 복사하면 됩니다. 좋아요.
그런 다음 소프트웨어 누락 문제가 발생할 수 있습니다. 배포판은 아파치 모듈을 다르게 번들로 묶을 수 있고 SQL 등이 필요할 수 있지만 이는 매우 간단합니다.