서버 설정 · 4 min read · Jan 16, 2026

완벽한 서버 - 페도라 10 [ISPConfig 3] - 페이지 5

14 MySQL 비밀번호 설정 및 phpMyAdmin 구성

MySQL 시작:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

그런 다음 MySQL 루트 계정의 비밀번호를 설정합니다:

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

마지막 명령이 오류를 발생시키면…

[root@server1 i386]# mysqladmin -h server1.example.com -u root password howtoforge
mysqladmin: connect to server at ‘server1.example.com’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’
[root@server1 i386]#

… 다음과 같이 비밀번호를 설정할 수 있습니다: MySQL에 연결:

mysql -u root -p

MySQL 루트 사용자에 대한 비밀번호를 입력합니다. 그런 다음 MySQL 셸에서 다음을 수행합니다:

mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';

실행합니다

mysql> SELECT * FROM user;

모든 행에서 사용자가 root인 경우 비밀번호가 있는지 확인합니다.

모든 것이 괜찮아 보이면 실행합니다

mysql> FLUSH PRIVILEGES;

… 그리고 MySQL 셸을 종료합니다:

mysql> quit;

이제 phpMyAdmin을 구성합니다. phpMyAdmin이 localhost에서만 연결을 허용하도록 Apache 구성을 변경합니다 ( 구문을 주석 처리하여):

vi /etc/httpd/conf.d/phpMyAdmin.conf

| # phpMyAdmin - php로 작성된 웹 기반 MySQL 브라우저 # # 기본적으로 localhost만 허용 # # 그러나 phpMyAdmin을 localhost 이외의 누구에게나 허용하는 것은 # SSL로 적절히 보호되지 않는 한 위험하다고 간주해야 합니다. Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # order deny,allow # deny from all # allow from 127.0.0.1 # # 이 디렉토리는 HTTP를 통한 접근이 필요하지 않습니다 - 원래의 # phpMyAdmin 업스트림 tarball에서 가져온 것입니다. # Order Deny,Allow Deny from All Allow from None # 이 구성은 phpMyAdmin 디렉토리에서 mod_security가 # SQL 등을 필터링하지 않도록 방지합니다. 이는 mod_security 구현을 깨뜨릴 수 있습니다. # # # # SecRuleInheritance Off # # |

그런 다음 Apache의 시스템 시작 링크를 생성하고 시작합니다:

chkconfig –levels 235 httpd on
/etc/init.d/httpd start

이제 브라우저를 http://server1.example.com/phpmyadmin/ 또는 http://192.168.0.100/phpmyadmin/로 이동하여 사용자 이름 root와 새 루트 MySQL 비밀번호로 로그인할 수 있습니다.

15 Amavisd-new, SpamAssassin 및 ClamAV 설치

amavisd-new, spamassassin 및 clamav를 설치하려면 다음 명령을 실행합니다:

yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysql

ClamAV를 설치할 때, ClamAV 바이러스 데이터베이스를 3시간마다 업데이트하려고 시도하는 cron 작업이 설치되었습니다. 그러나 이는 /etc/sysconfig/freshclam 및 /etc/freshclam.conf에서 활성화해야만 작동합니다:

vi /etc/sysconfig/freshclam

마지막의 FRESHCLAM_DELAY 줄을 주석 처리합니다:

| ## freshclam 실행의 주기를 crontab에서 변경할 때, ## 이 값도 조정해야 합니다. 이 값은 두 개의 ## 연속적인 freshclam 실행 사이의 시간 간격입니다. 예를 들어 기본값 ## ## | 0 */3 * * * ... ## ## crontab 줄의 경우, 값은 180(분)입니다. # FRESHCLAM_MOD= ## 초 단위로 지연에 대한 미리 정의된 값. 기본적으로 이 값은 ## 'hostid' 프로그램에 의해 계산됩니다. 이 미리 정의된 값은 ## 두 개의 연속적인 freshclam 실행 사이의 3시간의 일정한 시간 간격을 보장합니다. ## ## 이 옵션은 두 개의 특별한 값을 허용합니다: ## 'disabled-warn' ... 자동 freshclam 업데이트를 비활성화하고 ## 경고를 제공합니다. ## 'disabled' ... 자동 freshclam을 조용히 비활성화합니다. # FRESHCLAM_DELAY= ### !!!!! 나를 제거하십시오 !!!!! ### 나를 제거하십시오: 기본적으로 freshclam 업데이트는 비활성화되어 ### 나를 제거하십시오: 사전 활성화 없이 네트워크 접근을 피하기 위해 #FRESHCLAM_DELAY=disabled-warn # 나를 제거하십시오 |

vi /etc/freshclam.conf

Example 줄을 주석 처리합니다:

| [...] # 아래 줄을 주석 처리하거나 제거합니다. #Example [...] |

그런 다음 freshclam, amavisd 및 clamd를 시작합니다…

chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

… 그리고 일부 디렉토리의 소유권을 변경합니다:

chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

16 mod_php, mod_fcgi/PHP5 및 suPHP가 포함된 Apache2 설치

ISPConfig 3은 mod_php, mod_fcgi/PHP5, cgi/PHP5 및 suPHP를 웹사이트별로 사용할 수 있게 해줍니다.

다음과 같이 mod_php5, mod_fcgid 및 PHP5와 함께 Apache2를 설치할 수 있습니다:

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 

다음으로 /etc/php.ini를 엽니다…

vi /etc/php.ini

… 그리고 오류 보고를 변경합니다 (더 이상 알림이 표시되지 않도록) 및 파일 끝에 cgi.fix_pathinfo = 1을 추가합니다:

| [...] ;error_reporting = E_ALL error_reporting = E_ALL & ~E_NOTICE [...] cgi.fix_pathinfo = 1 |

다음으로 suPHP를 설치합니다:

cd /tmp
wget http://www.suphp.org/download/suphp-0.7.0.tar.gz
tar xvfz suphp-0.7.0.tar.gz
cd suphp-0.7.0/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install

그런 다음 suPHP 모듈을 Apache 구성에 추가합니다…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… 그리고 /etc/suphp.conf 파일을 다음과 같이 생성합니다:

vi /etc/suphp.conf

| [global] ;로그 파일 경로 logfile=/var/log/httpd/suphp.log ;로그 수준 loglevel=info ;Apache가 실행되는 사용자 webserver_user=apache ;모든 스크립트가 있어야 하는 경로 docroot=/ ;스크립트를 실행하기 전에 chroot()할 경로 ;chroot=/mychroot ; 보안 옵션 allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;스크립트가 DOCUMENT_ROOT 내에 있는지 확인 check_vhost_docroot=true ;경미한 오류 메시지를 브라우저로 전송 errors_to_browser=false ;PATH 환경 변수 env_path=/bin:/usr/bin ;설정할 umask, 8진수 표기법으로 지정 umask=0077 ; 최소 UID min_uid=100 ; 최소 GID min_gid=100 [handlers] ;php 스크립트에 대한 핸들러 x-httpd-suphp="php:/usr/bin/php-cgi" ;CGI 스크립트에 대한 핸들러 x-suphp-cgi="execute:!self" |

마지막으로 Apache를 재시작합니다:

/etc/init.d/httpd restart

17 PureFTPd 설치

PureFTPd는 다음 명령으로 설치할 수 있습니다:

yum install pure-ftpd

그런 다음 시스템 시작 링크를 생성하고 PureFTPd를 시작합니다:

chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

18 MyDNS 설치

다음과 같이 MyDNS를 설치할 수 있습니다:

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

시스템이 부팅될 때 MyDNS는 MySQL 후에 시작되어야 합니다. MySQL 시작 링크는 Fedora 10에서 우선 순위 64를 가지므로 MyDNS 시작 링크는 65와 99 사이의 우선 순위를 가져야 합니다. 따라서 MyDNS init 스크립트를 엽니다…

vi /etc/init.d/mydns

… 그리고 변경합니다

| [...] # chkconfig: 345 52 50 [...] |

다음으로

| [...] # chkconfig: 345 65 50 [...] |

그런 다음 시작 링크를 생성합니다:

chkconfig --levels 235 mydns on

지금 MyDNS를 시작하지 않습니다. 먼저 구성해야 하며, 이는 나중에 ISPConfig 3 설치 프로그램에 의해 자동으로 수행됩니다.

19 Vlogger 및 Webalizer 설치

Vlogger 및 webalizer는 다음과 같이 설치할 수 있습니다:

yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*

Share: X/Twitter LinkedIn

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

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