서버 설정 · 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 -pMySQL 루트 사용자에 대한 비밀번호를 입력합니다. 그런 다음 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 # |
그런 다음 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-mysqlClamAV를 설치할 때, 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.confExample 줄을 주석 처리합니다:
| [...] # 아래 줄을 주석 처리하거나 제거합니다. #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/db16 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 restart17 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-Buildercd /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*
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.