728x90

가상 호스트는 일반적으로 클라이언트가 여러 IP / 도메인 / 포트 번호로 서버에 접속할 때

각각 다른 웹 사이트를 띄우기 위한 기술이다.

즉, 가상 호스트 설정을 통해 하나의 웹 서버로 여러 웹 사이트를 운영할 수 있다.

이 설정 파일은 그 각각의 가상 호스트에 대한 설정을 지정하는 파일이다.

사용하기 위해선 httpd.conf에서 #Include conf/extra/httpd-vhosts.conf 라인을 주석 해제 해야 한다. 

서버 vhosts.conf 열기 ( Centos os7 기준 )

cd /home
cd httpd -v
cd /etc/httpd/extra/httpd-vhosts.conf

 

/etc/httpd/extra/httpd-vhosts.conf 로 들어가면 vi 편집기로 내용을 볼 수 있다.

vi 편집기 명령어를 이용하여 해당 파일에 아래 내용을 추가한다.하나의 서버에 여러 웹 사이트를 운영하는 경우

해당 내용이 사이트 갯수만큼 추가 되어야 합니다.

vi 명령어
명령 모드(command mode)-처음 vi 명령어로 vi를 시작하게 되면 들어가게 됩니다.
   여기서는 방향키를 이용하여 커서를
이동할 수 있으며,
   "dd" 나 "yy" 로 한 줄 삭제 및 한 줄 붙여넣기, 또는 "x" 명령어로 글자 하나를 삭제할 수 있습니다. 


입력 모드(insert mode)
 - 명령모드에서 "i" 나 "a" 명령을 통해서 입력 모드로 넘어 갈 수있습니다. 입력모드로 가게되면, 
   자유롭게 코드나 글을 작성을 하시면 됩니다. 명령 모드로 다시 돌아오려면 "ESC"를 누르세요.

마지막 행 모드(Last line mode) - 마지막행 모드는 명령모드에서 ":" (콜론) 을 입력하면 화면 맨 밑단에 :____ 하며
   입력을 할수 있는 공간이 나옵니다. 
   작성한 이 내용을 저장하고 vi를 종료(wq) /  그냥 종료(q, q!)할지 등을 입력할 수 있습니다.

 

명령 모드(command mode)에서의 명령어
i      - 현재 커서 위치에 삽입 (입력모드로 넘어감) 
a     - 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감) 
o     - 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)  
x     - 커서가 위치한 곳의 글자 1개 삭제. (5x : 문자 5개 삭제)dw   
      - 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지)

dd   - 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능)
u     - 방금 한 명령 취소 (ctrl + z 라고 생각하면 됩니다)
yy   - 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면 됩니다.)
      - 5줄 복사 : 5yy 
p   - 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v )
      - 5dd를 이용해서 다섯줄을 지운 것도 p 한번으로 붙여넣기 가능합니다.
      - 잘라내기 dd -> 붙여넣기 p(N)dd - N 행 삭제 (버퍼에 들어가 있기 때문에 p를 이용해서 붙여넣기 가능)
         - 잘라내기 라고 생각하면 됩니다. (ctrl + x)
         - vi에서 여러줄을 삭제하고 싶다면 (N)dd 를 사용하면 됩니다. (N에는 숫자가 들어갑니다)

k - 위로! (커서가 한 줄 위로 올라감.)
j - 아래로! (커서가 한 줄 아래로 내려감)
l - 오른쪽으로! (커서가 한칸 우측으로감) 
h - 왼쪽으로! (커서가 한칸 좌측으로감)
0 - 커서가 있는 줄의 맨 앞으로 감 (home 키라고 생각하면 됩니다) 
$ - 커서가 있는 줄의 맨 뒤로 감 (end 키라고 생각하면 됩니다)
( - 현재 문장의 처음
) - 현재 문장의 끝
{ - 현재 문단의 처음
} - 현재 문단의 끝  
r - 한 문자 변경 cc
  - 커서가 있는 그 줄의 내용 변경 
마지막 행 모드(last line mode)에서의 명령어  [  :  ]
w - 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) 
w [파일명] - 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
q     - vi 종료 (저장되지 않음)
q!    - vi 강제 종료 ( ! 가 붙으면 강제로 수행)
wq   - 저장 후 종료 
wq!  - 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행)  

f [파일명]  - 파일이름을 [파일명]으로 변경
               - 예시 : f aaa.txt

숫자  - 해당 라인으로 커서 이동
$      - 파일의 맨 끝 줄로 이동 
e!     - 마지막 저장 이후 모든 편집 취소 

/문자열  - 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색
?문자열  - 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색 

set nu  - vi 라인 번호 출력
set nonu - vi 라인 번호 출력 취소  

 

###############  AAA PROJECT  ###############
<VirtualHost *:80>
  DocumentRoot "/home/AAA"
  ServerName AAA.com
  ServerAlias www.AAA.com

  <Directory /home/AAA>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    require all granted
  </Directory>

    ErrorLog "logs/AAA-error_log"
    CustomLog "logs/AAA-access_log" common
</VirtualHost>
DocumentRoot > 홈디렉토리, 폴더의 경로입니다.
ServerName > 연결할 도메인을 해주시면 됩니다. (주 도메인, DNS연결되어 있어야 합니다)
ServerAlias > 부 도메인을 해주시면 됩니다.
ErrorLog > 에러 로그의 경로입니다. ( 경로 내에 log 파일이 있어야 합니다. )
CustomLog > 접속 로그의 경로입니다.경로 내에 log 파일이 있어야 합니다. )

홈디렉토리의 설정을 맞춰주시면 되고,
연결할 도메인을 설정해주시면 됩니다.

하지만, 예를 들어서 AAA.com 도메인을 구매했습니다.
그래서 주 도메인 ServerName 에 AAA.com 을 적으면,www.AAA.com 으로는 접속이 되지 않습니다.
그럼 부 도메인 ServerAlias 에www.AAA.com 을 추가하면 됩니다.
또한, www가 아닌 다른 것들까지 포함하시려면 *.AAA.com 이라고 하면됩니다.

에러 로그와 접속 로그는 가상호스트마다 다르게 설정하기 위해서 따로 지정할 수 있습니다.
logs/aaaa/aaaa-error_log 그래서 위에서 이렇게 logs 폴더에 aaaa 폴더(도메인 이름으로 함)에 저장되게끔 함으로서
가상호스트 별로 에러 로그를 관리할 수 있습니다.

logs/aaaa-error_log
굳이 폴더 별로 나누지 않고, log 이름만 도메인 이름으로 둬도 상관없습니다. 

 

인터넷 주소창에 www.AAA.com  입력시 해당되는 Directory /home/AAA 프로젝트를 볼 수있습니다.서버를 재시작 하면 해당 내용이 반영되어

systemctl restart httpd

만약 해당 경로에 log 파일이 없다면 :

cd /home
cd /AAA 
mkdir 755 logs 입력하여 로그 파일을 만들어 주세요.

 

 


image 파일들은 보통 git ignore 를 이용하여 git pull 할때 서버로 가져오지 않으므로

사용자가 등록한 이미지 들을 저장할수 있도록 resources 디렉터리 하위에 uploads 를 만들어 줍니다.

mkdir 777 uploads
만약 생성된 디렉터리 의 권한이 drwx rwx rwx 가 아니라면
chmod 777 uploads 입력하여 권한을 777로 만들어 줍니다.


리눅스 서버의 mpdf 를 이용하는경우

vendor 디렉터리가 있어야 하고

mpdf 디렉터리의 권한은 777 로 되어있어야 pdf 파일로 다운로드를 받을수 있도록 지원해 줍니다.

cd home
cd AA_project
cd vendor
chmod 777 -R mpdf

728x90

+ Recent posts