VestaCP

PlavorSeol (토론 | 기여)님의 2018년 7월 11일 (수) 18:19 판

1 개요

VESTA Control Panel, Vesta Control Panel (VestaCP)
베스타 컨트롤 패널, 베스타 제어판, 베스타CP

 

 

2 현재 알려진 이슈 또는 오류

이 문단을 VestaCP 트러블슈팅 문서로 분리할 것을 건의드립니다.

2.1 Vsftpd 사용 시 패시브 FTP에서 접속 불가 현상

우분투 기준으로 vsftpd.conf (설정파일)에서 pasv-address 항목의 값을 대체 또는 별칭 ip 주소로 수정합니다.

pasv-address=8.8.8.8
>>>>
pasv-address=192.168.0.2
→ 위는 예시이며 사용자의 환경에 맞지 않을 수 있습니다.

2.2 Roundcube 설치 실패

현재 제(사용자:Soto) 패널에서 나타났으며 일부 사용자도 같은 오류를 격고 있는 것으로 확인했지만 아직 해결하지 못했습니다.

2.3 Nginx만 설치 시 프록시 탭 및 HTST 템플릿 추가 설치 불가

확인 중에 있습니다.

3 설치

VestaCP는 RHEL / CentOS의 5~7 버전, Debian의 7~9 버전, 우분투의 12.04~17.04 버전에서 설치할 수 있습니다.

보통 웹패널은 서버 버전에서 설치해야 작동하며 이 웹패널 또한 그렇습니다.

어떠한 옵션을 선택하더라도 모든 패키지(웹서버의 경우에는 다를 수 있습니다)가 설치되며 추후 패널에서 활성/비활성화할 수 있어요.

VestaCP를 설치하려면 최소한 HDD 20GB, 1Ghz의 CPU와 512MB의 RAM이 서버에 설치되어 있어야 합니다.

다음은 즉시 설치할 수 있도록 몇가지 옵션을 모아놓은 것입니다.

soto@soto:~$ sudo apt update && sudo apt dist-upgrade && sudo shutdown -r now
# 서버 업데이트 후 재시작
soto@soto:~$ curl -O http://vestacp.com/pub/vst-install.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1711  100  1711    0     0   2560      0 --:--:-- --:--:-- --:--:--  2557
soto@soto:~$ ls
vst-install.sh


3.1 Apache2와 Nginx를 모두 사용

soto@soto:~$ sudo bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous no --mysql yes --postgresql no

위 명령은 Nginx, Apache2와 Vsftpd, Exim, SpamAssassin, Clamav, MySQL을 활성화한 옵션입니다. 경우에 따라 수정해주세요.

3.2 Nginx를 기본 웹서버엔진으로 사용

soto@soto:~$ sudo bash vst-install.sh --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous no --mysql yes --postgresql no

위 명령은 Nginx, PHP-FPM과 Vsftpd, Exim, SpamAssassin, Clamav, MySQL을 활성화한 옵션입니다. 경우에 따라 수정해주세요.

3.3 Apache2를 기본 웹서버엔진으로 사용

soto@soto:~$ sudo bash vst-install.sh --nginx no --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous no --mysql yes --postgresql no

위 명령은 Apache2, PHP와 Vsftpd, Exim, SpamAssassin, Clamav, MySQL을 활성화한 옵션입니다. 경우에 따라 수정해주세요.

설정 방법
다른사용자를 생성하고 저장공간을 제한하기 설치 명령어에서 'quota' 항목의 파라미터를 yes로 수정하세요. (이후 설정 가능)
Softaculous 활성화 (유료, 간단히 CMS들을 설치할 수 있는 도구) 설치 명령어에서 'softaculous' 항목의 파라미터를 yes로 수정하세요. (이후 설정 가능)
vsftpd대신 proftpd를 사용하기 설치 명령어에서 'vsftpd' 항목의 파라미터를 no로 수정하고 'proftpd' 항목의 파라미터를 yes로 수정하세요.
remi 저장소 추가하지 않기 (권장되지 않음, 일부 기능에 필요합니다) 설치 명령어에서 'remi' 항목의 파라미터를 no로 수정하세요.
  • 설치가 완료된 이후에는 HOST:8083으로 접속할 수 있습니다. Root CA를 사용하므로 인증서가 깨져보입니다.

4 기능

VestaCP는 8083번 포트로 접속할 수 있습니다.

4.1 서버관리 (admin계정)

4.1.1 할당 가능한 패키지 관리

admin 유저는 이 패키지 중 하나를 위임받아야 하지만 이 규칙을 무시합니다.

https://localhost:8083/list/package/
→ 위 url(localhost는 자신의 패널 주소로 치환)에서 설정할 수 있으며 탭 순서는 상단 1단계 탭>패키지입니다.

패키지 생성 시 입맛에 맞게 조절한 다음 사용자 설정에서 각 사용자에게 할당해주세요.

4.1.2 서버에서 실행 중인 프로세스 (VestaCP 설치 시 설치된) 관리

https://localhost:8083/list/server/
→ 위 url(localhost는 자신의 패널 주소로 치환)에서 설정할 수 있으며 탭 순서는 상단 1단계 탭>서버입니다.
  • 서버 전체를 재시작하는 것은 모든 패키지를 재시작하는 것과 똑같습니다.

4.1.3 서버에서 사용할 패키지 (VestaCP 설치 시 설치된) 관리

https://localhost:8083/edit/server/
→ 위 url(localhost는 자신의 패널 주소로 치환)에서 설정할 수 있으며 탭 순서는 상단 1단계 탭>서버>구성입니다.

4.1.4 업데이트

https://localhost:8083/list/package/

모든 업데이트를 설치하려면 다음 명령을 서버에서 실행해주시기 바랍니다.

soto@soto:~$ sudo apt update && sudo apt dist-upgrade && sudo shutdown -r now
→ 서버 업데이트 후 재시작

4.2 사용자 관리 (admin계정)

이 기능을 더 잘 사용하려면 설치 시 'quota' 항목의 파라미터를 yes로 지정해야 합니다.

4.2.1 사용자 추가

사용자는 단일 사용자로서 home 디렉터리에 web 폴더 안에 사이트를 업로드하게 됩니다.

  • 사용자의 이름과 성은 영어로만 지정할 수 있습니다.
  • 사용자의 비밀번호는 같이 사용 시에만 랜덤으로 생성하여 따로 전달하세요.
  • 사용자의 이메일은 같이 사용 시 자주 사용하는 것으로 설정하세요.
  • 사용자에게 할당할 패키지는 미리 만들어져야 합니다.
  • 언어를 ko로 설정하면 한국어로 사용할 수 있습니다. ★

4.2.2 사용자 삭제

VestaCP에서 사용자를 삭제합니다.

  • 백업, 홈디렉터리 등 모두 삭제되니 주의해주세요.

4.2.3 사용자 관리

사용자 계정으로 로그인하려면 커서를 사용자 위에 올려놓은 뒤에 Login as USERNAME 버튼을 클릭하세요. 로그아웃 시에는 로그아웃 버튼을 누르면 관리자 계정 상태로 다시 돌아옵니다.

4.2.4 사용자 계정 정지

사용자 계정을 정지합니다. 정지된 계정은 더 이상 웹패널에 로그인할 수 없으며 그 사용자가 생성한 모든 웹사이트가 SUSPENDED(금지) 상태로 분류됩니다.

  • 이 때 백업 등 사용자 데이터는 유지됩니다.

4.3 웹사이트 관리

위에서 말했듯 웹사이트를 생성한 후 admin 계정일 경우에는 템플릿 선택에 제한이 없습니다. NGINX를 사용하는 경우 ownCloud 등에서는 rewrite를 사용하기 때문에 템플릿을 맞춰주어야 합니다.

  • 잘못된 템플릿을 선택하면 해당 웹사이트가 제대로 작동하지 않을수도 있습니다.

4.3.1 사용자의 템플릿 선택

사용자의 템플릿 선택은 제한되어 있습니다.

  • 패키지 관리탭에서 따로 관리자가 선택해야 합니다.

4.3.2 SSL 발급

VestaCP는 기본적으로 Let's Encrypt SSL을 쉽게 발급할 수 있도록 하고 있습니다.

  • 사이트를 생성한 뒤에 고급옵션에서 SSL 항목을 체크해주시기 바랍니다. ({public_html} 폴더)

4.3.3 프록시 (Apache 사용 시)

Apache2와 Nginx를 동시에 사용한다면 표시될 것입니다. 프록시를 설정할 수 있습니다.

  • 추가바람

4.4 메일

사용자는 관리자가 패키지 설정에서 허용한 만큼 메일도메인, 도메인당 계정을 생성할 수 있으며 모든 도메인의 /webmail 주소에서 roundcube를 열 수 있습니다.

  • 원하는 메일 도메인을 추가하세요. (A레코드로 연결하면 추가적인 설정이 필요가 없습니다.)
  • 메일 도메인 안에 새로운 메일 사용자를 추가한다음 웹메일에서 해당 계정을 열 수 있습니다.

4.5 데이터베이스

이전 비밀번호를 복구하는 것은 불가능합니다. 모든 도메인의 /phpmyadmin 주소에서 phpmyadmin을 열 수 있습니다.

  • 데이터베이스의 이름과 사용자는 USERNAME_이름으로 정해집니다.
  • 비밀번호는 강력하게 설정하세요.
저의 경우에는 USERNAME_DATABASE(NAME 또는 ID)_RANDOMPASSWORD 형식으로 저장하고 있습니다.

4.6 백업

전체 웹폴더와 데이터베이스를 백업합니다.
  • 추가바람

5 같이 보기

6 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}