Mac의 Vagrant에서 ZendFramework2의 Skeleton Application을 가져와 동작
7521 단어 VagrantZendFramework2zf2Mac
종점
1) MacBookAir에서 Vagrant를 사용하여 가상 환경을 구축합니다.
2) ZendFramework2의 Skeleton Application을 설치합니다.
3) Skelton Application의 동작을 확인하도록 설정합니다.
환경
참고 자료
사전 준비
사전 준비
확인
여기에 준비가 되면 작업 디렉터리에서 다음 파일을 생성합니다.$ cd centOS65
$ ls
Vagrantfile httpd.conf
이 이외의 파일에서는 index일 수 있습니다.php가 존재할 수 있지만 개의치 마십시오.
문서 편집
여기서 Vagrantfile을 편집합니다.동시에 프로비저닝을 설정합니다.
$ cd centOS65
$ ls
Vagrantfile httpd.conf
여기서 Vagrantfile을 편집합니다.동시에 프로비저닝을 설정합니다.
다음과 같이 설정합니다.
-*- mode: ruby -*-
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "CentOS65"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provider "virtualbox" do |vb|
vb.gui = true
end
config.vm.provision "shell", inline: <<-EOT
# timezone
cp -p /usr/share/zoneinfo/Japan /etc/localtime
# iptables off
/sbin/iptables -F
/sbin/service iptables stop
/sbin/chkconfig iptables off
# PHP 5.5
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install php --enablerepo=remi-php55
# PostgreSQL 9.3
yum -y install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm
yum -y install postgresql93-server postgresql93-contrib
/sbin/service postgresql-9.3 initdb
/sbin/chkconfig postgresql-9.3 on
# Apache
yum -y install httpd
cp -a /vagrant/httpd.conf /etc/httpd/conf/
/sbin/service httpd restart
/sbin/chkconfig httpd on
EOT
end
ZendFramework2를 위한 Skeleton Application 준비
ZendFramework2의 Skeleton Application은 아래 GitHub의 자술 파일을 참조하십시오.
cd CentOS65
git clone git://github.com/zendframework/ZendSkeletonApplication.git
cd ZendSkeletonApplication
php composer.phar self-update
php composer.phar install
여기서 작업 디렉토리를 확인합니다.$ ls
Vagrantfile ZendSkeletonApplication httpd.conf
캡처된 ZendSkeleton Application이 이미 있는지 확인할 수 있습니다.httpd.conf 파일 편집
작업 환경에서의 httpd.conf 파일에 다음 내용을 추가합니다.
<VirtualHost *:80>
DocumentRoot /vagrant/ZendSkeletonApplication/public
SetEnv APPLICATION_ENV "development"
<Directory /vagrant/ZendSkeletonApplication/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
DocumentRoot의 index입니다.php 편집
"/vagrant/ZendSkeleton Application/public"의 index.php는 DocumentRoot으로 설정됩니다.PATH를 설정합니다.
index.php<?php
putenv("ZF2_PATH=" . '/vagrant/ZendSkeltonApplication/vendor/zendframework/zendframework/library'); // --- 追加
/**
* This makes our life easier when dealing with paths. Everything is relative
* to the application root now.
*/
chdir("/vagrant/ZendSkeletonApplication/"); // --- 変更
// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
return false;
}
// Setup autoloading
require 'init_autoloader.php';
// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
~
Vagrant 재부팅 및 용량 할당
먼저 시작된 가상 환경을 중지한 다음 다시 시작합니다.(vagrant reload도 괜찮을 것 같아.)$ vagrant halt
$ vagrant up
그런 다음 프로비저닝을 수행합니다.$ vagrant provision
잘 끝났으면 성공했을 텐데.
Vagrant에서 Apache를 다시 시작하고 Skeleton Application 동작을 확인합니다.
Vagrant에 로그인하고 Apache를 다시 시작합니다.$ vagrant ssh
[vagrant]$ su -
Password: (vagrant --- 初期の root パスワードは「vagrant」です)
[vagrant]$ service httpd restart
restart가 끝난 후 호스트 측에서 브라우저에 접근하십시오http://192.168.33.10/
위의 ZendFramework2에 대한 Welcome 페이지가 표시되면 완료됩니다.
비고
일련의 일을 명확히 했다.만약 완비되지 않고 알 수 없는 점이 있다면 지적해 주십시오.잘 부탁드립니다.
Reference
이 문제에 관하여(Mac의 Vagrant에서 ZendFramework2의 Skeleton Application을 가져와 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hmukaida/items/1a1c4cab6f916fdd68b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
putenv("ZF2_PATH=" . '/vagrant/ZendSkeltonApplication/vendor/zendframework/zendframework/library'); // --- 追加
/**
* This makes our life easier when dealing with paths. Everything is relative
* to the application root now.
*/
chdir("/vagrant/ZendSkeletonApplication/"); // --- 変更
// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
return false;
}
// Setup autoloading
require 'init_autoloader.php';
// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
~
먼저 시작된 가상 환경을 중지한 다음 다시 시작합니다.(vagrant reload도 괜찮을 것 같아.)
$ vagrant halt
$ vagrant up
그런 다음 프로비저닝을 수행합니다.$ vagrant provision
잘 끝났으면 성공했을 텐데.Vagrant에서 Apache를 다시 시작하고 Skeleton Application 동작을 확인합니다.
Vagrant에 로그인하고 Apache를 다시 시작합니다.$ vagrant ssh
[vagrant]$ su -
Password: (vagrant --- 初期の root パスワードは「vagrant」です)
[vagrant]$ service httpd restart
restart가 끝난 후 호스트 측에서 브라우저에 접근하십시오http://192.168.33.10/
위의 ZendFramework2에 대한 Welcome 페이지가 표시되면 완료됩니다.
비고
일련의 일을 명확히 했다.만약 완비되지 않고 알 수 없는 점이 있다면 지적해 주십시오.잘 부탁드립니다.
Reference
이 문제에 관하여(Mac의 Vagrant에서 ZendFramework2의 Skeleton Application을 가져와 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hmukaida/items/1a1c4cab6f916fdd68b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ vagrant ssh
[vagrant]$ su -
Password: (vagrant --- 初期の root パスワードは「vagrant」です)
[vagrant]$ service httpd restart
일련의 일을 명확히 했다.만약 완비되지 않고 알 수 없는 점이 있다면 지적해 주십시오.잘 부탁드립니다.
Reference
이 문제에 관하여(Mac의 Vagrant에서 ZendFramework2의 Skeleton Application을 가져와 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hmukaida/items/1a1c4cab6f916fdd68b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)