문제

저는 내장된 웹 서버와 로컬 시스템에서 개발 및 테스트를 수행할 수 있는 데이터베이스를 보여주는 Rails용 스크린캐스트에 깊은 인상을 받았습니다.Apache 인스턴스가 프로젝트 디렉토리를 DocumentRoot로 실행하고 포트 8080(또는 이와 유사한 것)에서 파일을 제공하도록 하려면 어떻게 해야 합니까?

제가 이렇게 묻는 이유는 CodeIgniter를 사용해 볼 예정이고, 여러 프로젝트에 사용하고 싶기 때문입니다.나는 내 컴퓨터의 DocumentRoot를 각각으로 복잡하게 만들고 싶지 않습니다.데이터베이스 마이그레이션 수행 방법에 대한 제안도 환영합니다.


지금까지 응답해 주셔서 감사합니다.나는 Mac OS X를 사용하고 있다는 점을 명확히 해야 합니다.WAMP는 Windows 전용인 것 같습니다.또한 XAMPP는 Apache 및 기타 여러 웹 도구를 설치하는 좋은 방법처럼 보이지만 프로젝트 디렉터리를 제공하기 위해 인스턴스를 로드하는 방법은 없습니다.Mac OS X에는 Apache와 PHP가 모두 설치되어 있습니다. 저는 단지 비표준 포트에서 프로젝트를 제공하도록 하는 방법을 찾고 있습니다.

방금 찾았어요 MAMP 프로 내가 원하는 것을 수행하지만 가능하다면 더 미니멀한 접근 방식이 더 좋을 것입니다.편집하여 프로젝트 디렉토리에 놓을 수 있는 httpd.conf 파일을 가지고 있는 사람이 있습니까?

또한 방금 데이터베이스 마이그레이션 질문을 던져서 죄송합니다.제가 찾고 있는 것은 기존 데이터를 잃지 않고 스키마 변경 사항을 라이브 서버에 푸시할 수 있게 해주는 것입니다.나는 이것이 어렵고 환경적 요인에 크게 의존한다고 생각합니다.

도움이 되었습니까?

해결책

Mac에는 Apache 웹 서버와 PHP 빌드가 모두 함께 제공됩니다.이것이 웹 개발자들에게 플랫폼이 사랑받는 가장 큰 이유 중 하나입니다.

Code Igniter를 사용하고 있으므로 10.5와 함께 제공되는 PHP의 기본 버전인 PHP 5가 필요합니다.이전 버전의 OS를 사용 중인 경우 다음으로 이동하세요. 엔트로피.ch 제공된 PHP5 패키지를 설치합니다.

다음으로 Apache를 켜야 합니다.공유 기본 설정 패널에서 개인 웹 공유를 켭니다.그러면 로컬 컴퓨터에서 Apache가 시작됩니다.

다음으로, 사이트에 사용할 가짜 개발 URL을 설정해야 합니다.이를 위해 가짜 TLD .dev를 사용하는 것이 오랜 전통이었습니다(예:stackoverflow.dev).하지만, .dev 이제 실제 TLD이므로 아마도 이 작업을 수행하고 싶지 않을 것입니다. .localhost 새로운 사실상의 표준처럼 보입니다./etc/hosts 파일을 편집하고 다음 줄을 추가하세요.

127.0.0.1    www.example.localhost
127.0.0.1    example.localhost

이는 위의 URL을 로컬 컴퓨터로 가리킵니다.마지막 단계는 아파치를 구성하는 것입니다.특히 명명된 가상 호스팅을 활성화하고, PHP를 활성화하고, 몇 가지 가상 호스트를 설정합니다.엔트로피 PHP 패키지를 사용했다면 PHP 활성화가 이미 완료되었을 것입니다.그렇지 않은 경우 설명된 대로 http.conf 파일을 편집해야 합니다. 여기.기본적으로 PHP 모듈을 로드할 줄의 주석 처리를 제거합니다.

Apache 구성을 변경할 때마다 변경 사항을 적용하려면 Apache를 다시 시작해야 합니다.터미널 창에서 다음 명령을 입력하십시오.

sudo apachectl graceful

그러면 아파치가 정상적으로 다시 시작됩니다.구성 파일에 구문 오류가 발생하면 Apache가 다시 시작되지 않습니다.구성 문제를 강조 표시할 수 있습니다.

sudo apachectl configtest

따라서 PHP를 활성화한 상태에서 NamedVirtualHosts를 켜는 것이 좋습니다.이렇게 하면 Apache가 여러 URL에 응답할 수 있습니다.http.conf 파일에서 다음(또는 유사한) 행을 찾아 주석을 제거하십시오.

#NameVirtualHost *  

마지막으로, 새로운 가상 호스트에 대한 파일을 어디서 찾아야 하는지 아파치에게 알려주어야 합니다.http.conf 파일에 다음을 추가하면 됩니다.메모:이와 같은 구성 규칙을 별도의 파일로 나누고 include 지시문을 사용하여 변경 사항을 포함하는 것이 좋은 모범 사례라고 생각합니다.이렇게 하면 자동 업데이트로 인해 변경 사항이 삭제되지 않습니다.

<VirtualHost *>
    DocumentRoot /Users/username/Sites/example.localhost
    ServerName example.localhost
    ServerAlias www.example.localhost
</VirtualHost>

임의의 폴더를 DocumentRoot로 지정할 수 있지만 개인 사이트 폴더는 이미 파일을 포함할 수 있는 올바른 권한으로 구성되어 있으므로 사용하는 것이 편리하다고 생각합니다.

다른 팁

죄송합니다 카일님, 귀하의 의견에 직접 응답할 만큼 충분한 신뢰도가 없습니다.그러나 각 프로젝트를 다른 포트에서 제공하려면 가상 호스트 구성을 위의 Kelly와 동일하게 설정해 보십시오(DNS 항목 제외). 80 대신 각 가상 호스트에 고유한 포트 번호를 지정하십시오. 이 포트를 ports.conf 파일에 추가했습니다.

NameVirtualHost *

<virtualhost *:80>
DocumentRoot /site1/documentroot
</virtualhost>

<virtualhost *:81>
DocumentRoot /site2/documentroot
</virtualhost>

<virtualhost *:82>
DocumentRoot /site3/documentroot
</virtualhost>

<virtualhost *:83>
DocumentRoot /site4/documentroot
</virtualhost>

도움이 되었기를 바랍니다 :/

또한 각각에 대한 최신 바이너리를 다운로드하고 수동으로 설정합니다.Apache 구성에 대해 조금 알고 있는 한 고통 없는 프로세스라는 것을 알았습니다.

내 개발 컴퓨터에는 다음과 같은 Apache 설정이 있습니다. 이름 기반 가상 호스팅.나는 또한 dyndns.org 내 개발 도메인을 내 로컬 컴퓨터에 매핑하는 계정입니다. DynDNS 와일드카드 도메인을 제공하므로 이름 기반 가상 호스트를 사용하면 원하는 만큼의 개발 도메인에 대해 여러 사이트(별도의 문서 루트 포함)를 쉽게 생성할 수 있으며 모두 하나의 Apache 인스턴스에서 실행됩니다.

예를 들어가상 호스트에 대한 Apache 구성은 다음과 같을 수 있습니다.

NameVirtualHost *:80

<virtualhost *:80>
ServerName site1.mydyndns.dyndns.org
DocumentRoot /site1/documentroot
</virtualhost>

<virtualhost *:80>
ServerName site2.mydyndns.dyndns.org
DocumentRoot /site2/documentroot
</virtualhost>

이는 내 로컬 컴퓨터에서 많은 개발 사이트를 쉽게 유지 관리할 수 있는 가장 빠르고 쉬운 방법이었습니다.

그게 말이 되기를 바랍니다.

건배, 켈리.


저는 Macos를 사용하지 않지만 Apache를 사용합니다.내 Apache 구성 파일(Linux에서는 일반적으로 /etc/apache2/apache2.conf에 있음)에서 ports.conf라는 파일에 대한 참조를 찾습니다.이 파일을 찾아 다음 줄을 추가하세요.

8080 들어보세요

그런 다음 아파치 프로세스를 다시 시작하십시오.그 후에는 사업을 해야 합니다.Mac에서는 작동하지 않는다면 미리 사과드립니다 :)

다음과 같은 낮은 전면 설정 패키지를 사용할 수 있습니다. XAMPP 별도의 인스턴스로 실행합니다.다른 유사한 프로젝트도 많이 있습니다.

PHP의 경우 Apache+Mysql+PHP 배포를 위한 다음과 같은 여러 가지 고품질 패키지가 있습니다. 왐프 그리고 XAMPP.개인적으로 저는 각각의 최신 바이너리를 다운로드하고 수동으로 설치하여 보다 세밀하게 제어할 수 있습니다.이를 처리하는 방법에 대한 많은 온라인 자습서가 있습니다.

데이터베이스 마이그레이션은 간단해야 합니다. 명령줄이나 다음과 같은 인터페이스를 통해 서버에 데이터베이스를 덤프합니다. PHPMyAdmin, 유사한 방법으로 다시 내보냅니다. (Mysql 명령줄에 대한 경험이 없는 경우 PHPMyAdmin을 권장합니다.)

MAMP pro를 사용할 수 있지만 무료 버전도 매우 좋은 선택입니다.여기서 받으세요: http://www.mamp.info/en/mamp.html

실험하려는 각 개발 환경에 대해 별도의 LAMP 가상 어플라이언스를 사용하는 것이 좋습니다.VMware Server 또는 VirtualBox에서 실행하세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top