Vagrant+CentOS6.5+Apache2+PHP5.3+PostgreSQL9.3on Mac 환경 구축

종점


이 환경을 구축하면 언제든지 구성 도구 모음을 통해 Vagrant에서 다음 상태를 복구할 수 있습니다.이것은 Mac에서 구축한 것이니 양해해 주십시오.
  • CentOS 6.5
  • Apache2 이상
  • PHP5.3 이상
  • PostgreSQL 9.3
  • 사전 준비


    지금까지 기본적인 준비는 다음과 같이 실시하였다.
  • Mac에서 Vagrant를 사용하여 CentOS+Apache 설정
  • 여기까지 실행합니다. 저는 Mac의 vagrant에서 CentOS6.5와 Apache를 가져왔다고 생각합니다.나는 여기서 다시 환경을 정리할 것이다.
    ※ 위와 같은 내용을 구현했다고 가정합니다.

    PHP 설치 및 확인


    먼저 Vagrant의 맨 위 디렉토리로 이동합니다.Mac에 있으므로 다음과 같습니다.
    $ cd /Users/your_username/CentOS65
    $ ls
    Vagrantfile httpd.conf index.html
    
    여기서 PHP용 파일을 준비합니다.
    $ echo "<?php phpinfo(); ?>" > info.php
    $ ls
    Vagrantfile httpd.conf index.html info.php
    
    브라우저로 액세스해 보십시오.
    $ open http://192.168.33.10/info.php
    

    파일의 내용이 그대로 표시됩니다.
    여기서 구성을 통해 PHP 환경을 구축합니다.
    설정을 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/iptatbles -F
            /sbin/service iptables stop
            /sbin/chkconfig iptables off
            # PHP
            yum -y install php      # --- ここを追加
            # Apache
            yum -y install httpd
            cp -a /vagrant/httpd.conf /etc/httpd/conf/
            /sbin/service httpd restart
            /sbin/chkconfig httpd on
      EOT
    end
    
    설정한 후 호스트 측면에서 구성합니다.
    $ vagrant provision
    
    완료되면 가상 환경에 연결하십시오.
    $ vagrant ssh
    
    가상 환경에서 PHP 버전을 확인합니다.
    [vagrant]$ php -v
    PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) 
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    
    이번에 버전 정보를 확인했습니다.버전을 확인하면 설치가 완료됩니다.
    그런 다음 호스트 측면에서 브라우저에 액세스하여 확인합니다.
    $ open http://192.168.33.10/info.php
    

    PHP의 버전 정보 등이 게재된 페이지가 표시되면 확인이 완료됩니다.

    PostgreSQL 설치 및 확인


    2014년 6월 4일까지 다음 공식 사이트를 확인하면 CentOS는 버전 8.1입니다.이번에는 최신 9.3을 이용하고 싶어서 다른 방법을 강구했다.
  • http://www.postgresql.org/download/linux/redhat/
  • 이제 가상 환경에서 설치되었는지 확인합니다.
    [vagrant]$ psql --version
    
    설치되지 않았기 때문에 별다른 표시가 없습니다.
    그런 다음 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/iptatbles -F
            /sbin/service iptables stop
            /sbin/chkconfig iptables off
            # PHP
            yum -y install php
            # PostgreSQL
            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
    
    파일을 편집한 후 호스트에서 구성합니다.
    vagrant provision
    
    완료되면 가상 환경에 연결하십시오.
    vagrant ssh
    
    가상 환경에서 PostgreSQL 버전을 확인합니다.
    [vagrant]$ psql --version
    psql (PostgreSQL) 9.3.4
    
    버전 정보가 표시되면 설치가 순조롭게 완료됩니다.
    또한postgres 계정이 생성되었는지 확인합니다.
    [vagrant]$ id postgres
    uid=26(postgres) gid=26(postgres) groups=26(postgres)
    
    계정이 생성된 것으로 확인되었습니다.
    보충으로 타임존을 확인했는데 "Japan"이어서 시간 설정에 문제가 없는 것 같습니다.timezone은 아래 파일에서 확인할 수 있습니다.
    [vagrant]$ /var/lib/pgsql/9.3/data/postgresql.conf
    

    메모


    지금까지 나는 환경을 구축해 왔다.만약 완비되지 않고 알 수 없는 점이 있다면 지적해 주십시오.잘 부탁드립니다.
    그나저나 이런 의견을 받았어요. 이걸로 박스를 만들었으면 좋겠어요.그런 것도 있긴 한데.다음에 박스를 설정하고 사용할 물건을 준비하고 싶습니다.

    ...추기(2014/06/05)


    box 설정 추가
    $ vagrant package
    
    박스를 만들 수 있대.만들어봤어요.파일 크기가 300M을 넘지만 이를 관리하면 다른 라이브러리 버전 등도 가상 환경을 직접 만들 수 있다.

    좋은 웹페이지 즐겨찾기