2018. 6. 28. 13:25

아파치에, php, Oracle를 제일 많이 쓰는데, 


Oracle 연결할때 쓰는 oci8 세팅되어있는 도커를 찾다가, 좋은 이미지를 찾았다.



https://hub.docker.com/r/thomasbisignani/docker-apache-php-oracle/


https://github.com/davidgaya/docker-apache-php-oci



#도커 이미지 가져오기 

docker pull thomasbisignani/docker-apache-php-oracle


#도커 생성

docker run -p 8080:80 -d -v $(pwd)/sample:/var/www/html thomasbisignani/docker-apache-php-oracle


docker run -p 8080:80 -d -v /web/front:/var/www/html thomasbisignani/docker-apache-php-oracle


서버의 web/front 랑 도커의 폴더랑 연결해 놓는다.


서버의 web/front 폴더에 파일 올리면, 된다.



#도커 목록확인

docker ps -a


하면 실행중인 도커 목록 뜨고, id로 접속하면 된다.



#도커 접속

예)

sudo docker exec -it 7fd516 /bin/bash

sudo docker exec -it {id값} /bin/bash



기본에는 vi가 없어서, vim설치부터했다.


#vim 설치

apt-get update

apt-get install vim


#퍼미션 문제가 뜨길래, 폴더 권한 풀어줬다.

#폴더 권한 주기

cd /var/www

chmod 757 /var/www/html



#아파치 설정바꾸기

vi /etc/apache2/apache2.conf


에서 추가


<Directory /var/www/html/>

    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted

</Directory>




#프록시 설정해주기

#서버에 여러 도메인 사용시, 가상호스트 세팅을 해주고, 

reverse proxy 설정을 해줘서, 원하는 도메인으로 접속시 8080포트로 보내주는방법이다.


이런식으로 여러 도커 설정을 해줬다.


이건 내 서버 vhost 파일 위치다.

/usr/local/etc/apache24/conf/extra/httpd-vhost.conf

또는

/etc/httpd/conf 에 있다



#원본

<VirtualHost *:80 *:443>

    ServerName test.com

    SetEnv HOST test.com

    DocumentRoot "/web/front"

    ProxyPass / http://localhost:8080/

    ProxyPassReverse / http://localhost:8080/

    <IfModule dir_module>

        DirectoryIndex  index.html index.htm index.cgi index.php index.php5

    </IfModule>

    <Directory "/web/front">

        Options MultiViews FollowSymLinks ExecCGI

        AllowOverride All

        <IfModule authz_core_module>

            Require all granted

        </IfModule>

    </Directory>


    <FilesMatch "\.(php[345]?|phtml)$">

        SetHandler "proxy:unix:/run/php-fpm/php56-fpm.sock|fcgi://localhost"


    </FilesMatch>


    ErrorDocument 400 /_webstation_/400.html

    ErrorDocument 401 /_webstation_/401.html

    ErrorDocument 402 /_webstation_/402.html

    ErrorDocument 403 /_webstation_/403.html

    ErrorDocument 404 /_webstation_/404.html

    ErrorDocument 405 /_webstation_/405.html

    ErrorDocument 406 /_webstation_/406.html

    ErrorDocument 407 /_webstation_/407.html

    ErrorDocument 408 /_webstation_/408.html

    ErrorDocument 500 /_webstation_/500.html

    ErrorDocument 501 /_webstation_/501.html

    ErrorDocument 502 /_webstation_/502.html

    ErrorDocument 503 /_webstation_/503.html

    ErrorDocument 504 /_webstation_/504.html

    ErrorDocument 505 /_webstation_/505.html


</VirtualHost>



위 설정은 내 설정이므로, 각자 서버에 맞게 찾아서 세팅하세요.


역프록시 설정은



    ProxyPass / http://localhost:8080/

    ProxyPassReverse / http://localhost:8080/


위에 두줄 추가해주고, 하면 나같은 경우는 됬다.


그리고


"리눅스 가상호스트" 검색하면 많이 뜨니까, 가상호스트 세팅은 찾아서 해보세요.


이렇게만 해 놓으면 그래도 바로 Docker 사용가능하다.


사실 이만한 이미지는 없는거 같다.


vi 정도만 설치해주고, 콘테이너 안에서 대부분 설정따로 해줄만한거가 없기 때문에, 완전 빠르게 세팅했다.



시놀로지에서 프록시설정해주기

(http://tyson.tistory.com/135)




=======================================

참고 블로그 

http://m.assayo.com/board_view.html?board=forum_nas&pid=19139

Posted by Tyson