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