편집 : 8 단계와 9 단계의 일부를 자동으로 처리하는 접근법은 아래의 Jerome의 의견을 참조하십시오.
<.> ez.app:8000을 방문하여 다음 화면을 참조하십시오.
<span> - map: ez.app
</span><span> to: /home/vagrant/Code/ezpub/web</span>
이것은 매우 이상한 곳입니다. 아무런 이유없이, 이런 일이 발생합니다. 그렇습니다. 2 년 동안 2 년 동안 해결지되지 않은 문제입니다. 진지하게 PHP 프로젝트에서 2 년 된 해결되지 않은 버그입니다. 핵심에서 고정하는 데 Commit and Push를 포함하여 7 초의 작업이 필요합니다 (8.2 참조). 우리의 경우에는 두 가지 방법이 있습니다. 아무도 유쾌하지 않으므로 하나를 선택하는 것은 당신에게 달려 있습니다.
8.1 단계 : hallity가 계속됩니다
주위를 돌아 다니기 위해서는 심각하게 죽었습니다. 이것은 농담이 아닙니다. DEV 도구를 열고 EZSETUP를 양식의 동작 속성 끝에 넣어야합니다. 기본적으로 인덱스가 표시되기 때문입니다. .php. 2014 년에는 그러한 문제가 여전히 존재할 수있는 방법이 당황 스럽지만 여기서 우리는 다음과 같습니다.
프레임 워크의 소스 파일 변경이 마음에 들지 않으면이 접근 방식을 선택하십시오.
8.2 단계 : 배를 해킹
두 번째, 아마도 약간 단순한 접근법은 마법사 자체의 형태를 수정하고 동작 속성을 변경하는 것입니다.
ezpubezpublish_legacykernelsetupezsetup.php로 이동하여 줄을 찾으십시오
위에, 이것을 말하십시오 :
이 후에, 동작 속성이 고정됩니다.
나는 당신이 미치게 될 것이기 때문에 마법사를 건너 뛰어 EZ Publish를 수동으로 설정하는 것이 좋습니다. 객관적으로, 그들의 설치 절차와 문서는 내가 본 것 중 최악입니다. 당신은 그들의 지시를 따르려고 할 때 그것을 시험해 보려는 모든 욕망을 잃게 될 것입니다. EZ 팀이 곧 레거시 시스템에 대한 모든 의존성과 참조를 완전히 완전히 제거하기를 바랍니다. 새로운 핵심 만 남겨두기를 바랍니다. 또한 더 읽기 쉬운 2014 년과 같은 문서를 곧 업데이트하기를 바랍니다. VMS가 점점 더 많아지고 입력 용이성과 함께 짧은 설치 절차는 눈에 띄는 CMS의 가장 중요한 속성입니다.
9 단계 : 마법사 오류를 무시하십시오
> EZ 게시 설정은 하나의 서버 (APACHE)에 대해서만 알 수있을 정도로 오래된 것이 아니며 Vhost 모드에서 실행되지 않는다고 생각합니다.
이 경고를 무시하십시오. 다음 화면으로 계속하십시오 (8.1을 사용한 경우 양식 작업을 다시 변경하는 것을 잊지 마십시오. 그렇지 않으면 다시 시작됩니다).
.
설정 마법사가 끝나면 NGINX 타임 아웃 오류가 발생합니다. EZ Publish는 끔찍한 레거시 버전과 새 버전을 처리하고 VM에서 실행되기 때문에 EZ Publish가 악명 높기 때문에 URL에서 EZSETUP과 관련된 내용을 제거하고 새로 고침하기 때문입니다. 그러면 당신은이 아름다움으로 인사 할 것입니다 :
10 단계 : 캐시 비활성화
위의 화면의 오류는 EZ가 PHP 파일의 캐시를 작성하려고하는 동안 발생합니다. /home/vagrant/code/ezpub/ezpublish/cache/prod/stash/0fea6a13c52b4d47/25368F24B045CA84/A1E4F174919D040AF6D06113D677C9E0/4A1C6BE17 996F9E/03934AE1C1C02FFC/9A0364B9E99BB480/DD25E1F0284C8555/CAF9B6 B99962BF5C/2264824231D7A40C/D3D9446802A44259/755D38E6D163E820.PHP (어, 묻지 마…).
이 캐시 엔진은 실패 할 경우 스스로를 비활성화하기에 충분히 영리하지 않으므로 수동으로 수행해야합니다.
in ezpubezpublishconfigezpublish.yml stash 블록을 이것으로 변경하십시오
"메모리에서"는 메모리가 파일 시스템 대신 Stash 캐시에 사용됨을 의미합니다. rm -rf ezpublish/cache/*로 캐시를 지우고 새로 고침하십시오. 필요한 경우 캐시 엔진을 나중에 파일 시스템 캐시보다 더 괜찮은 것으로 교체하십시오. MKDIR의 프로토콜 오류를 어떻게 완화시키는 지 모르겠습니다. VM 관련이지만 그다지 더 이상은 아닙니다. 모든 조언에 감사드립니다.
당신은 이제 또 다른 경고와 끝에 503 오류로 인사를 할 것입니다 : .
그러나 적어도 우리는 렌더링 할 제목을 얻었습니다!
11 단계 : Bootstrap.php.cache 및 응답 제한
이러한 모든 경고를 일으키는 파일은 실제로 EZ가로드하는 데 필요한 모든 PHP 파일을 편집 한 것입니다. 그들은 하나의 (!!!)로 합쳐져서 제공되는 곳에서 EZPublish 폴더에 넣었습니다. 파일은 코드의 혼란이며 PHP 확장 기능이없고 IDE 하이라이트가 부족한 것 외에도 어떤 종류의 코딩 표준을 존중하지 않기 때문에 디버깅하기 쉽지 않습니다. 그와 함께, 가독성이 없음) 결국 "캐시 파일"입니다. 그러나 전체 애플리케이션이 캐시 파일에 의존하면 쉽게 디버깅 할 수있어서 좋을 것입니다.
끔찍한 캐싱 관행을 제외하고, 우리는이 전체 혼란을 비활성화하고 환경 환경 변수를 변경하여 디버그 모드에 EZ 게시를로드 할 수 있습니다. homestead.yaml에서 이것을 변경할 수 있도록 "변수"블록에 추가하여 부팅 중에 자동으로 구성됩니다.
<span> - map: ez.app
</span><span> to: /home/vagrant/Code/ezpub/web</span>
또는 ezpub/web에서 index.php 파일을 편집하고 $ Environment = 'dev'를 넣을 수 있습니다. $ Environment = GetEnv ( "환경"); 8 행에서
이 시점에서, 두 번째 접근 방식은 따라 가면 더 쉬워집니다. 그렇지 않으면 다시 파괴하고 다시 올리면 전체 설정 프로세스로 다시 시작해야하기 때문입니다. .
이것을 마무리하면 렌더링 할 수 있어야합니다.
EZ를 게시하여 요청 응답이 너무 커서 Nginx의 한계를 높여야합니다.
루트 지시문 아래에 다음을 붙여 넣으십시오
저장, 종료, sudo 서비스 nginx 재시작으로 nginx를 다시 시작하십시오 일부 페이지는 작동합니다 (블로그, 발견), 다른 페이지는 그다지 많지 않습니다. 그러나 데모 번들 디버깅은 이미 너무 긴 기사의 범위를 벗어납니다.
12 단계 : URL에서 index.php를 제거하십시오
기본적으로 모든 Symfony 앱에는 어떤 이유로 URL에 "App.php"또는 EZ Publish의 "Index.php"가 있습니다. 누군가 는 2001 년부터 호스팅 제공 업체와 개발자를 지원해야한다고 생각합니다. 제거하여 두 프로젝트를 모두 제거하여 두 프로젝트를 21 세기로 가져 오자.
여기서 지침에 따라 "위치"블록 위에 다음을 추가하십시오
Sudo Service Nginx 재시작으로 Nginx를 저장, 종료 및 다시 시작하십시오.
13 단계 : 기뻐
힘든 과정 후에 우리는 마침내 끝났습니다. 하루 이상이 걸렸던 것은 10 분도 채 걸리지 않게되었습니다 (다운로드 시간 제외). 이제 당신은 또한 자신의 홈스테드 사례에서 과도하게 블로트, 과도하게 복잡하고 구식 CMS를 시도 할 수 있습니다. 그것이 어떻게 작동하는지 알려주세요!
결론
Vagrant Box에서 일어나기 위해 많은 작업이 필요한 CMS는 내 마음에주의를 기울일 가치가있는 CMS가 아닙니다. 물론, 호스트 컴퓨터에 쉽게 설치하여 그런 식으로 실행할 수 있지만 전문적인 접근 방식은 아닙니다. 개발 환경은 캡슐화되고 격리되어야하며 개발자는 변덕에 인스턴스를 파괴하고 재건 할 수 있어야합니다. CMS에는 자동 고급 스크립트가 있어야하며 가능한 모든 문제 (Symlinks를 사용할 수없고, 하드 카피 모드로 자동으로 전환)를 감지하고 필요한 경우 모든 것을 설정하고 SUDO를 요구하는 스크립트가 있어야합니다 (데이터베이스에서 폴더 권한으로). 길을 따라.
이 프로세스는 EZ 게시를 설치했지만 그만한 가치가 있었습니까? 그것은 당신에게 달려 결정합니다. EZ는 확실히 강력한 CMS이지만, 이에 들어가는 데 어려움이 있습니다. 이제 테스트 할 일반적인 출발점이 있으며 PHP Summer Camp 및 다른 곳에서 EZ 사람들의 이러한 문제에 대해 더 자세히 알아볼 것입니다. 그때 까지이 상자에 EZ 튜토리얼을 제공하겠습니다.
아래의 의견에 피드백을 넣으십시오. 특히 비 독사 호스트 에서이 작업을 시도하고 데모 번들을 작동시킨 경우 여러 가지 접근 방식을 듣고 싶어합니다!
편집 :이 Github Repo가 주목을 받았습니다. 작동하는 EZ 게시의 준비된 Vagrant 구성입니다. 그래도 두 가지 경고가 있습니다 :
단계별 단계의 요점은 개발 목적으로 모든 기계에서 동일한 EZ 인스턴스를 업데 실행하는 것이 얼마나 단순한지를 보여주는 것이 었습니다 (단순하지 않은 것으로 판명 된 사실은 또 다른 이야기입니다. 전적으로). 예를 들어 모든 사람이 동일한 OS를 사용하는 것은 아니기 때문에 위의 링크 된 repo는 Centos에 있고 Homestead는 Ubuntu이기 때문에 중요합니다. 설치 절차는 모든 OS에서 똑같이 간단해야합니다. -
ez는이 VM 내부에 파일을 게시합니다. 문자 그대로 내부에 있습니다. 외부 세계 (호스트 머신)에 폴더를 공유 할 수없고, Ergo Symlink 문제의 가능성이 없지만 설치된 IDE에서 앱 파일을 열 가능성이 없습니다. 호스트 머신에서 해킹하기 위해. 이것은 효과적인 개발 워크 플로를 방지합니다
홈스테드 - 에 ez에 대해 자주 묻는 질문
홈스테드에서 EZ Publish 5.x를 사용하는 데있어 주요 이점은 무엇입니까?
ez 홈스테드의 5.x는 다양한 혜택을 제공합니다. 웹 사이트에서 컨텐츠를 작성, 관리 및 게시 할 수있는 강력하고 유연한 콘텐츠 관리 시스템 (CMS)을 제공합니다. 또한 오픈 소스이므로 무료로 사용할 수 있으며 특정 요구에 맞게 사용자 정의 할 수 있습니다. 반면에 Homestead는 EZ 게시 사이트를 설정하고 관리하는 프로세스를 단순화하는 가상 개발 환경입니다. 지역 개발 환경의 차이점에서 발생할 수있는 잠재적 인 문제를 줄이는 다양한 기계에서 일관된 환경을 제공합니다. EZ는 다른 CMS 플랫폼과 비교하는 방법 5.x는 어떻게 게시됩니까? .x는 유연성과 견고성으로 인해 다른 CMS 플랫폼에서 두드러집니다. 복잡한 웹 사이트와 대량의 콘텐츠를 처리하도록 설계되어 비즈니스 및 조직에 적합한 선택입니다. 또한 다국어 지원을 제공하며 여러 국가에서 운영되는 비즈니스의 핵심 기능입니다. 또한, 오픈 소스 특성은 특정 요구를 충족시키기 위해 광범위한 사용자 정의가 가능합니다. EZ를 Homestead에 설치하기가 어렵습니까? 특히 기사에 제공된 단계별 안내서를 따르는 경우 홈스테드는 간단합니다. 여기에는 홈스테드 설정, 시스템 구성, EZ 게시 설치 및 사이트 설정이 포함됩니다. 이것에 익숙하지 않으면 복잡해 보일 수 있지만 가이드는 각 단계를 자세히 분류하여 따라 가기 쉽게합니다.
기존 웹 사이트를 EZ로 마이그레이션 할 수 있습니까? 예, 기존 웹 사이트를 EZ Publish 5.x로 마이그레이션 할 수 있습니다. 그러나 귀하의 웹 사이트가있는 현재 플랫폼에 따라 프로세스가 복잡 할 수 있습니다. 마이그레이션을 시도하기 전에 전문적인 도움을 받거나 프로세스를 철저히 연구하는 것이 좋습니다. EZ 게시 5.x 사용자는 어떤 종류의 지원을 이용할 수 있습니까?
오픈 소스 플랫폼으로서 EZ Publish 5.x는 지원을 제공 할 수있는 대규모 사용자 및 개발자 커뮤니티를 보유하고 있습니다. 도움을 찾을 수있는 수많은 온라인 리소스, 튜토리얼 및 포럼도 있습니다. 또한 EZ Systems의 EZ Systems는 EZ Publish의 회사 인 EZ Systems에서 구입할 수 있습니다. 역할 기반 권한, 보안 비밀번호 저장 및 일반적인 웹 공격에 대한 보호와 같은 기능이 포함됩니다. 그러나 모든 소프트웨어와 마찬가지로 소프트웨어를 업데이트하고 웹 보안에 대한 모범 사례를 따르기 위해 사이트를 안전하게 유지하는 것이 중요합니다. 전자 상거래 사이트에 ez 게시 5.x를 사용할 수 있습니까?
예, EZ 게시 5.x는 전자 상거래 사이트에 사용할 수 있습니다. 제품 관리, 쇼핑 카트 기능 및 결제 게이트웨이 통합을 포함한 다양한 전자 상거래 기능을 지원합니다. 그러나 전자 상거래 사이트에 필요한 모든 기능을 제공하기 위해 추가 플러그인 또는 확장 기능을 사용해야 할 수도 있습니다. EZ의 시스템 요구 사항은 5.x?
ez의 시스템 요구 사항은 무엇입니까? 5.x는 Apache 또는 Nginx, PHP 5.4 이상과 같은 웹 서버 및 MySQL 또는 PostgreSQL과 같은 데이터베이스가 필요합니다. 또한 특정 PHP 확장 및 설정이 필요합니다. 자세한 시스템 요구 사항은 EZ 게시 문서에서 찾을 수 있습니다.
EZ 게시 5.x 사이트의 성능을 최적화하려면 EZ의 성능을 최적화하는 몇 가지 방법이 있습니다. 5.x 사이트를 게시하십시오. 여기에는 캐싱을 사용하여 서버로드를 줄이고 데이터베이스 최적화 및 CDN (Content Delivery Network)을 사용하여 콘텐츠 전달 속도를 높이는 것이 포함됩니다. 소프트웨어와 플러그인을 정기적으로 업데이트하면 성능을 향상시키는 데 도움이 될 수 있습니다. EZ의 기능을 확장 할 수 있습니까? 플러그인과 확장을 사용하여 새로운 기능과 기능을 추가 할 수 있으며 오픈 소스 특성으로 인해 핵심 코드를 사용자 정의 할 수도 있습니다. 그러나 핵심 코드를 수정하면 업데이트를 적용하기가 더 어려워지고 보안 위험을 도입 할 수 있습니다.
.