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