서버 설정 · 2 min read · Oct 09, 2025

완벽한 서버 - 우분투 자운티 재칼로프 (우분투 9.04) [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을 편집합니다. 내 파일은 다음과 같습니다 (나는 / 마운트 지점이 있는 파티션에 usrquota, grpquota를 추가했습니다):

vi /etc/fstab

| # /etc/fstab: 정적 파일 시스템 정보. # # 'vol_id --uuid'를 사용하여 장치의 보편적으로 고유한 식별자를 인쇄합니다; 이는 UUID=와 함께 사용되어 장치를 명명하는 더 강력한 방법이 됩니다. # 이는 디스크가 추가되거나 제거되더라도 작동합니다. fstab(5)을 참조하세요. # # <파일 시스템> <마운트 지점> <유형> <옵션> <덤프> <패스> proc /proc proc defaults 0 0 # /는 설치 중 /dev/mapper/server1-root에 있었습니다 UUID=b8d265bc-5959-404d-a68e-8dc1c76f18d6 / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1 # /boot는 설치 중 /dev/sda5에 있었습니다 UUID=01e9c3c7-2ad0-4f52-a356-18290517b362 /boot ext2 relatime 0 2 # 스왑은 설치 중 /dev/mapper/server1-swap_1에 있었습니다 UUID=c1e0bcbb-5c73-4bd2-a7b2-8beeb7526200 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 |

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

touch /quota.user /quota.group  
chmod 600 /quota.*  
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/default/syslogd를 수정해야 합니다. 다음 줄을 수정하세요: SYSLOGD=””를 SYSLOGD=”-a /var/lib/named/dev/log”로 변경합니다:

vi /etc/default/syslogd

| # # syslogd의 최상위 구성 파일 # # 가능한 인수에 대한 전체 문서는 매뉴얼 페이지 syslogd(8)에 있습니다. # # 원격 UDP 로깅을 사용하려면 SYSLOGD="-r"를 사용하세요. # SYSLOGD="-a /var/lib/named/dev/log" |

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

/etc/init.d/sysklogd restart

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

/etc/init.d/bind9 start

14 MySQL

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

aptitude install mysql-server mysql-client libmysqlclient15-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      4318/mysqld  
root@server1:~#
Share: X/Twitter LinkedIn

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

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