서버 설정 · 2 min read · Nov 04, 2025

완벽한 서버 - 우분투 매버릭 미어캣 (우분투 10.10) [ISPConfig 2] - 페이지 4

11 소프트웨어 설치

이제 나중에 필요한 몇 가지 패키지를 설치합니다. 실행하세요

aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential

(이 명령은 한 줄로 입력해야 합니다!)

12 저널링 쿼터

(내가 선택한 파티션 구성과 다른 구성 방식을 선택한 경우, 쿼타가 필요한 파티션에 적용되도록 이 장을 조정해야 합니다.)

쿼타를 설치하려면 다음을 실행하세요

aptitude install quota

/etc/fstab을 편집합니다. 내 파일은 다음과 같습니다 (나는 /에 마운트 지점이 있는 파티션에 usrjquota=quota.user, grpjquota=quota.group, jqfmt=vfsv0를 추가했습니다):

vi /etc/fstab

| # /etc/fstab: 정적 파일 시스템 정보. # # 'blkid -o value -s UUID'를 사용하여 장치의 고유 식별자를 인쇄합니다; 이는 UUID=와 함께 사용하여 장치를 더 강력하게 이름 지정하는 방법으로, 디스크가 추가되거나 제거되더라도 작동합니다. fstab(5)을 참조하십시오. # # <파일 시스템> <마운트 지점> <유형> <옵션> <덤프> <패스> proc /proc proc nodev,noexec,nosuid 0 0 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot는 설치 중 /dev/sda1에 있었습니다 UUID=a8f37dcf-5836-485c-a451-3ae2f0f47720 /boot ext2 defaults 0 2 /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 |

쿼타를 활성화하려면 다음 명령을 실행하세요:

mount -o remount /

quotacheck -avugm
quotaon -avug

13 DNS 서버

다음 명령을 실행하세요

aptitude install bind9

보안상의 이유로 BIND를 chrooted로 실행하려고 하므로 다음 단계를 수행해야 합니다:

/etc/init.d/bind9 stop

파일 /etc/default/bind9를 편집하여 데몬이 비특권 사용자 bind로 실행되고 /var/lib/named에 chroot되도록 합니다. 다음 줄을 수정합니다: OPTIONS=”-u bind”를 OPTIONS=”-u bind -t /var/lib/named”로 변경합니다:

vi /etc/default/bind9

| # resolvconf 실행? RESOLVCONF=yes # 서버의 시작 옵션 OPTIONS="-u bind -t /var/lib/named" |

/var/lib 아래에 필요한 디렉토리를 생성합니다:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

그런 다음 /etc에서 /var/lib/named/etc로 구성 디렉토리를 이동합니다:

mv /etc/bind /var/lib/named/etc

구성 디렉토리의 새 위치에 대한 심볼릭 링크를 이전 위치에서 생성합니다 (향후 bind가 업데이트될 때 문제를 피하기 위해):

ln -s /var/lib/named/etc/bind /etc/bind

null 및 random 장치를 만들고 디렉토리의 권한을 수정합니다:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

파일 /etc/rsyslog.d/bind-chroot.conf를 생성해야 합니다…

vi /etc/rsyslog.d/bind-chroot.conf

… 다음 줄을 추가하여 시스템 로그에 중요한 메시지를 여전히 기록할 수 있도록 합니다:

| $AddUnixListenSocket /var/lib/named/dev/log |

로깅 데몬을 재시작합니다:

/etc/init.d/rsyslog restart

BIND를 시작하고 /var/log/syslog에서 오류를 확인합니다:

/etc/init.d/bind9 start

14 MySQL

MySQL을 설치하기 위해 다음을 실행합니다:

aptitude install mysql-server mysql-client libmysqlclient16-dev

MySQL root 사용자에 대한 비밀번호를 제공하라는 메시지가 표시됩니다 - 이 비밀번호는 root@localhost 사용자와 [email protected] 모두에 대해 유효하므로 나중에 MySQL root 비밀번호를 수동으로 지정할 필요가 없습니다:

MySQL “root” 사용자에 대한 새 비밀번호: <– yourrootsqlpassword
MySQL “root” 사용자에 대한 비밀번호를 반복하십시오: <– yourrootsqlpassword

MySQL이 localhost뿐만 아니라 모든 인터페이스에서 수신 대기하도록 하려면 /etc/mysql/my.cnf를 편집하고 bind-address = 127.0.0.1 줄의 주석을 제거합니다:

vi /etc/mysql/my.cnf

| [...] # # skip-networking 대신 기본값은 이제 localhost에서만 수신 대기하는 것입니다. # 이는 더 호환성이 높고 덜 안전하지 않습니다. #bind-address = 127.0.0.1 [...] |

그런 다음 MySQL을 재시작합니다:

/etc/init.d/mysql restart

이제 네트워킹이 활성화되었는지 확인합니다. 실행하세요:

netstat -tap | grep mysql

출력은 다음과 같아야 합니다:

root@server1:~# netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 6796/mysqld
root@server1:~#

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.