자동 방식: 개인 계정에서 실행하는 스크립트 하나가 서버 전체(Apache + PHP 웹 스택, 데이터베이스, 보안 도구, cron)를 준비합니다. 이후에는 패널을 배포하고 SSL을 발급한 뒤 라이선스를 입력하면 됩니다. Ubuntu/Debian에서 동작합니다. 새 VPS에서는 모든 것을 처음부터 구성하고, 이미 구성된 서버에서는 추가 작업만 수행합니다(“구성된 서버” 프로필, 01단계). 아래 명령은 순서대로이니, 위에서 아래로 그대로 따라가기만 하면 됩니다.
monitor.example.com — 사용자의 도메인, 203.0.113.10 — 서버의 실제 IP, /var/www/monitor — 패널 루트(public/, assets/, config.php가 위치한 곳), DB 비밀번호는 직접 정하세요.
jail.local), root-crontab, UFW 규칙, Apache 설정. 서버가 이미 구성되어 있다면(운영 중인 패널, 사이트, 메일, 자체 jail) — “구성된 서버” 프로필을 선택하세요. 이 프로필은 추가 변경만 하며 방화벽, Fail2ban, 메일, SSH, sysctl은 건드리지 않습니다. 호스팅 패널이 감지되면 스크립트가 자동으로 이 모드로 전환됩니다. 첫 실행 전에 드라이 런(계정 내 체크박스)을 켜면 아무것도 변경하지 않고 어떤 작업이 수행될지 보여줍니다. 운영 서버에서는 만약을 위해 스냅샷을 만들어 두세요.
my.arciveo.com → “서버 설정” 섹션에서 받습니다(Arcivéo Monitor 등록 후 이용 가능). 이 명령어는 계정에 연결되어 있으며 개인 토큰이 포함됩니다.
스크립트가 서버 전체를 준비합니다: 웹 스택(Apache + PHP), 데이터베이스, SSL 도구, 전체 보안 도구 모음 및 cron 작업(Lynis, SMART, debsums, Logwatch, 일일 리포트, ipsum 업데이트).
1) 보안 수준을 선택하세요(명령어를 복사하기 전에 계정에서):
2) 서버에서 root 권한으로 계정의 명령어를 실행하세요 — 형식은 다음과 같습니다:
monitor.example.com 같은 주소로 대시보드를 열고 무료 SSL을 받으려면 도메인이 서버를 가리켜야 합니다. DNS 관리 패널(등록기관 또는 호스팅 업체)에서 A 레코드를 생성하세요:
몇 분 후(때로는 최대 한 시간) 도메인이 서버를 가리키는지 확인하세요:
/var/www/monitor를 생성하고 Apache 사이트를 구성했습니다(DocumentRoot는 패널 루트로, PHP-FPM, .htaccess용 AllowOverride). 디렉터리와 vhost를 따로 만들 필요 없이 파일만 업로드하고 권한을 설정하면 됩니다.
my.arciveo.com → “다운로드”에서 받을 수 있습니다. 서버에 올리기 전에 아카이브를 압축 해제하세요.
배포 파일의 내용을 /var/www/monitor에 업로드하세요(내부에 public/, assets/, config.php 등이 위치하도록) — SFTP/SCP(FileZilla / WinSCP)로 하거나 로컬 컴퓨터에서 scp 명령으로 업로드합니다:
ServerName)을 바로 기록하려면 01단계의 자동 설정 명령에 도메인을 전달합니다: … | sudo bash -s -- monitor.example.com (또는 개인 계정의 “패널 도메인” 필드에 도메인을 입력). 도메인을 전달하지 않으면 패널은 모든 호스트와 IP에 응답하며, SSL 발급 시(06단계) certbot이 ServerName을 기록합니다. 다시 설치할 필요는 없습니다.
root로 올렸거나 SFTP로 업로드했다면 파일 소유자가 root여서 웹 서버(www-data)가 읽을 수 없고, 패널이 빈 화면이나 403 오류로 열립니다(로그: .htaccess unreadable / directory not executable). 아래 명령으로 해결됩니다:
SFTP 업로드 권한을 본인에게 열어 주세요. 위 명령 이후 모든 파일의 소유자는 www-data인데, FileZilla / WinSCP는 본인 계정으로 접속하므로 업로드가 SSH_FX_PERMISSION_DENIED(Permission denied)로 실패합니다. 두 가지 방법 중 하나를 선택하세요.
방법 A — 본인 계정에만 ACL 부여(권장). 쓰기 권한은 본인만 갖고, 웹 서버는 여전히 패널 코드를 덮어쓸 수 없습니다:
방법 B — www-data 그룹을 통해. 더 간단하지만 패널 파일에 대한 쓰기 권한을 웹 서버도 갖게 됩니다. PHP에 취약점이 생기면 코드가 교체될 수 있습니다. 명령 순서가 중요합니다 — config.php와 작업 폴더는 마지막에 잠급니다:
id deploy — 그룹 목록에 www-data가 나타나야 합니다. ls -ld /var/www/monitor — 권한 drwxrwsr-x이며, x 대신 s는 setgid가 설정되었다는 뜻입니다.
데이터베이스와 사용자를 생성한 뒤 스키마를 가져옵니다. DB 블록은 터미널에 통째로 붙여 넣으세요 (sudo mysql은 unix 소켓으로 root 로그인하므로 root 비밀번호가 필요 없습니다). monitor_db와 monitor_user는 예시 이름이며 원하는 대로 지정할 수 있습니다. 데이터베이스 이름, 사용자, 비밀번호를 기억해 두었다가 다음 단계에서 config.php에 입력하세요:
database/db.sql에서) 테이블과 admin 계정을 자동으로 생성합니다.
www-data가 아닌)로 실행될 때뿐입니다.
패널 루트에 있는 config.php(/var/www/monitor/config.php)는 직접 편집해야 하는 유일한 파일입니다. 패널의 모든 설정은 이 파일에서 define() 상수로 지정됩니다. 편집기로 여세요:
강조된 부분에 자신의 값을 넣고, 나머지는 그대로 두세요:
변경할 항목:
DB_NAME, DB_USER, DB_PASS — 04단계에서 DB를 만들 때 지정한 데이터베이스 이름, 사용자, 비밀번호와 정확히 동일하게(예시를 그대로 뒀다면 monitor_db / monitor_user). DB_HOST와 DB_CHARSET는 건드리지 마세요.APP_URL — https://를 포함한 패널의 전체 주소이며, 끝에 슬래시가 없어야 하고 www도 없어야 합니다. 라이선스를 활성화하는 도메인(07단계)과 일치해야 하며, 그렇지 않으면 키가 거부됩니다.TIMEZONE — 사용자의 시간대입니다(목록은 timedatectl list-timezones). 패널이 날짜를 표시하는 방식에만 영향을 주며, cron 작업의 실행 시간에는 영향을 주지 않습니다(그쪽은 시스템 시간대를 따릅니다).SESSION_LIFETIME — 몇 초간 활동이 없으면 패널이 재로그인을 요청할지 지정합니다(기본값 8시간). 예: 3600 = 1시간, 86400 = 하루.display_errors, log_errors, error_log)은 기본값 그대로 두세요.파일을 저장하고(Ctrl+O, Enter, 이어서 Ctrl+X) PHP-FPM을 재시작하세요. 그렇지 않으면 OPcache 때문에 변경 사항이 적용되지 않습니다:
640(03단계에서 설정)과 루트 .htaccess의 명시적 차단으로 보호됩니다. 공개 저장소에 올리거나 실제 비밀번호가 담긴 채로 지원팀에 전달하지 마세요.
http://로는 로그인할 수 없습니다.
certbot과 Apache 플러그인은 자동 설정으로 이미 설치되어 있습니다. 도메인 DNS는 이미 서버를 가리키고 있어야 합니다(02단계). 한 번의 명령으로 발급:
Y.<VirtualHost *:443>를 작성하며, http→https 리다이렉트와 자동 갱신을 설정합니다. 마지막에 Successfully enabled HTTPS가 표시됩니다.
dig +short monitor.example.com가 서버 IP를 반환하는지, 그리고 80/443 포트가 열려 있는지 확인하세요(sudo ufw allow 80,443/tcp).
발급 후: https://monitor.example.com는 자물쇠 표시와 함께 열리고, http://는 https://로 리다이렉트됩니다.
https://monitor.example.com을 열고 admin / useradmin으로 로그인한 뒤 체크리스트를 진행하세요:
ARCIVEO-…를 본인 도메인에 활성화하고 키를 “설정” → “라이선스”에 붙여넣으세요. 자세히.public/start_db.php가 남아 있다면 삭제하세요: 인증 없이 데이터베이스를 재생성할 수 있게 합니다. 이 파일이 패널 루트나 public/에 남아 있는 동안 패널은 빨간 배너로 경고합니다.