Tạo mã thiết lập hệ thống server trên OpenSUSE 11.2 và cài đặt ISPConfig 3 doc

25 306 0
Tạo mã thiết lập hệ thống server trên OpenSUSE 11.2 và cài đặt ISPConfig 3 doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tạo mã thiết lập hệ thống server trên OpenSUSE 11.2 và cài đặt ISPConfig 3 Trong bài viết sau, Quản Trị Mạng sẽ hướng dẫn các bạn tạo 1 đoạn mã, có thể tự động thực thi nhiều công đoạn như thiết lập, tùy chỉnh các thông số kỹ thuật… và cuối cùng là cài đặt ứng dụng. Lưu ý rằng tuyệt đối không được thực thi đoạn mã này trên 1 hệ thống server đang hoạt động bình thường, vì sẽ gây ra hiện tượng xung đột, không tương thích khi đoạn mã tự động khởi tạo hoặc ghi đè các file tùy chỉnh và có thể khiến cho hệ thống ngừng hoạt động. Chỉ nên áp dụng phương pháp này khi cài đặt mới hoàn toàn OpenSUSE 11.2 Những điểm cần lưu ý: - mysql phụ thuộc hoàn toàn bên trong các đoạn mã mydns - Thiết lập fail2ban - Không tắt bỏ chế độ firewall - Thay đổi các thiết lập của Pure-ftpd (cho phép đổi tên file, thay đổi cổng) - Cơ chế xác thực thông qua Postfix - Xác nhận quyền truy cập với Apache SSL, chuyển ISPConfig thành HTTPS - Khắc phục và hoàn chỉnh quá trình thiết lập NameVirtualHost Apache với OpenSUSE (rất quan trọng đối với Apache để nhận biết các domain đa dạng từ ISPConfig) - Thiết lập quá trình rdiff-backup với cron Tuy nhiên, đoạn mã này không phù hợp với những hệ thống trong thực tế yêu cầu 2 thành tố: mysql_secure_install và ispconfig_update_svn đang hoạt động. Sử dụng câu lệnh sau: zypper update và reboot trước khi thực thi đoạn mã này. Đồng thời, các bạn cũng nên thay đổi host name (nằm trong file HOSTNAME) trước đó. Đoạn mã này có yêu cầu 2 thao tác sau: Đầu tiên, khi mysql_secure_install đang hoạt động. Thứ 2, dành cho việc cập nhật ISPConfig3, hãy gõ lệnh svn hoặc stable khi hệ thống yêu cầu cung cấp dạng cập nhật (nên chọn stable). Tất cả các lựa chọn khác giữ nguyên ở chế độ mặc định bằng cách nhấn Enter. Bên cạnh đó, các bạn nên thay đổi những giá trị biến sau trong đoạn mã: THIS_PLATFORM: có thể là x86_64 hoặc i586. MYSQLROOTPASS: hãy thay đổi giá trị này, và nhớ làm việc này trong khi cài đặt module mysql_secure_install. MY_HOSTNAME, MY_DOMAIN: thay đổi thành tên server của bạn, ở giá trị mặc định nó sẽ là server1.mydomain.com. ISPCONFIG_TAR_GZ: hãy chắc chắn rằng ISPCONFIG_TAR_GZ có trong phiên bản ISPConfig 3 mới nhất. Lưu đoạn mã này tại 1 nơi nào đó trên server (ví dụ /usr/local/sbin/opensuse_ispconfig3.sh): vi /usr/local/sbin/opensuse_ispconfig3.sh #!/bin/sh # Script by George Yohng (georgesc#oss3d.com) # Do zypper update and reboot before running this script # Also better change host name (file HOSTNAME) manually before running this script, though looks like it's not necessary # This script requires two manual actions. # First - when mysql_secure_install is running. One should type a new mysql password, the same as here # Second - for ISPConfig3 update. One should type 'svn' when the update type is asked # For both of scripts, all other options are default, one can just press ENTER. # Also, please change MYSQLROOTPASS below, and be sure to enter it verbatim # during the installation of mysql_secure_install. # Important: When setting an MX entry, point it to mail.yourdomain.com rather than # just to yourdomain.com, and create a CNAME entry for mail. Otherwise it doesn't # seem to work somehow. THIS_PLATFORM=x86_64 MYSQLROOTPASS=098j91r3kx # Change this to your server name. By default it's configured to server1.mydomain.com # If your web site hosts a complete domain, such as domain.com, still leave # something for MY_HOSTNAME. 'server1' or 'host' is a good name. MY_HOSTNAME=server1 MY_DOMAIN=mydomain.com # Packages may have been updated, therefore also check the RPM and TARGZ locations below, # and preferably use the latest versions of everything. GETMAIL_RPM=http://download.opensuse.org/reposito ries/server:/mail/openSUSE_11.2/noarch/getmail- 4.17.0-1.1.noarch.rpm MAILDROP_RPM=http://download.opensuse.org/reposit ories/server:/mail/openSUSE_11.2/$THIS_PLATFORM/m aildrop-2.4.0-1.6.$THIS_PLATFORM.rpm PAM_MYSQL_TARGZ=http://heanet.dl.sourceforge.net/ sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz SUPHP_RPM=http://download.opensuse.org/repositori es/server:/php/openSUSE_11.2/$THIS_PLATFORM/suphp -0.7.1-3.1.$THIS_PLATFORM.rpm #SUPHP_RPM=http://download.opensuse.org/repositor ies/home:/kolbma/openSUSE_11.1/$THIS_PLATFORM/sup hp-0.7.1-16.1.$THIS_PLATFORM.rpm FAIL2BAN_RPM=http://download.opensuse.org/reposit ories/home:/kolbma/openSUSE_11.1/$THIS_PLATFORM/f ail2ban-0.8.4-2.1.$THIS_PLATFORM.rpm SQUIRRELMAIL_RPM=http://download.opensuse.org/rep ositories/server:/php:/applications/openSUSE_11.2 /noarch/squirrelmail-1.4.20-1.1.noarch.rpm JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/j ailkit-2.11.tar.gz PHPMYADMIN_RPM=http://download.opensuse.org/repos itories/server:/php:/applications/openSUSE_11.2/n oarch/phpMyAdmin-3.3.3-1.1.noarch.rpm MYDNS_RPM=http://mydns.bboy.net/download/mydns- mysql-1.1.0-1.i386.rpm VLOGGER_TARGZ=http://n0rp.chemlab.org/vlogger/vlo gger-1.3.tar.gz RDIFF_BACKUP_TARGZ=http://savannah.nongnu.org/dow nload/rdiff-backup/rdiff-backup-1.2.8.tar.gz ISPCONFIG_TAR_GZ=http://downloads.sourceforge.net /ispconfig/ISPConfig-3.0.2.2.tar.gz?use_mirror= MY_FULLHOSTNAME=$MY_HOSTNAME.$MY_DOMAIN # Disable apparmor /etc/init.d/boot.apparmor stop chkconfig -d boot.apparmor # Allow ports through firewall SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500 SuSEfirewall2 # Switch off X login (check!) chkconfig del xdm rcxdm stop # Quota yast2 -i quota touch /aquota.user /aquota.group chmod 600 /aquota.* touch /srv/aquota.user /srv/aquota.group chmod 600 /srv/aquota.* # TODO: change fstab here mount -o remount / mount -o remount /srv mount -o remount /home quotacheck -avugm quotaon -avug # Basic packages yast2 -i mc yast2 -i findutils readline libgcc glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico # Host name echo $MY_FULLHOSTNAME > /etc/HOSTNAME echo 127.0.0.2 $MY_FULLHOSTNAME $MY_HOSTNAME >> /etc/hosts echo 69.46.236.210 mydns.bboy.net >> /etc/hosts export HOST=$MY_FULLHOSTNAME export HOSTNAME=$MY_FULLHOSTNAME # Postfix, Courier, Saslauthd, MySQL yast2 -i postfix postfix-mysql mysql mysql-client courier-imap courier-authlib courier-authlib- mysql python cron cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus- sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd libmysqlclient-devel pwgen chkconfig add mysql chkconfig add postfix chkconfig add saslauthd chkconfig add fam chkconfig add courier-authdaemon chkconfig add courier-pop chkconfig add courier-imap chkconfig add courier-pop-ssl chkconfig add courier-imap-ssl /etc/init.d/mysql start /etc/init.d/postfix start /etc/init.d/saslauthd start /etc/init.d/courier-pop start /etc/init.d/courier-imap start /etc/init.d/courier-pop-ssl start /etc/init.d/courier-imap-ssl start # getmail cd /tmp rpm -i $GETMAIL_RPM rpm force -i $MAILDROP_RPM # pam yast2 -i pam-devel pam-32bit pam-devel-32bit pam- modules-32bit # pam_mysql cd /tmp wget -c $PAM_MYSQL_TARGZ tar xvfz pam_mysql-*.tar.gz rm -rf pam_mysql-*.tar.gz cd pam_mysql-* ./configure make make install cd /tmp rm -rf /tmp/pam_mysql-* # mysql_secure_installation mysql_secure_installation #(echo Y; echo $MYSQLROOTPASS; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; ) # amavis, spam asassin, etc yast2 -i amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql # TODO: change /etc/amavisd.conf #$mydomain = "$MY_DOMAIN"; # a convenient default for other settings #$myhostname = "$MY_HOSTNAME"; sed -i 's/\$mydomain = '\''example.com'\'';/\$mydomain='\'$MY_DOMAIN\''; \n\$myhostname='\'$MY_FULLHOSTNAME\'';/g' /etc/amavisd.conf chkconfig add amavis chkconfig add clamd /etc/init.d/amavis start /etc/init.d/clamd start # Apache2 yast2 -i apache2 apache2-mod_fcgid yast2 -i php5-bcmath php5-bz2 php5-calendar php5- ctype php5-curl php5-dom php5-ftp php5-gd php5- gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5- sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5- fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5 rpm -i $SUPHP_RPM a2enmod suexec a2enmod rewrite a2enmod ssl a2enmod actions a2enmod suphp a2enmod fcgid chown root:www /usr/sbin/suexec2 chmod 4755 /usr/sbin/suexec2 chkconfig add apache2 /etc/init.d/apache2 start # PhpMyAdmin rpm -i $PHPMYADMIN_RPM # FTP yast2 -i pure-ftpd quota sed -i 's/NoRename.*yes/NoRename no/g' /etc/pure- ftpd/pure-ftpd.conf sed -i 's/AutoRename.*yes/AutoRename no/g' /etc/pure-ftpd/pure-ftpd.conf sed -i 's/# PassivePortRange.*30000 50000/PassivePortRange 30000 30500/g' /etc/pure- ftpd/pure-ftpd.conf chkconfig add pure-ftpd /etc/init.d/pure-ftpd start # MyDNS rpm -ivh force $MYDNS_RPM # MyDNS script cat > /etc/init.d/mydns <<EOFMARKER #! /bin/sh # Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany. # All rights reserved. # # Author: Kurt Garloff # Please send feedback to http://www.suse.de/feedback/ # # /etc/init.d/mydns # and its symbolic link # /(usr/)sbin/rcmydns # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Template system startup script for some example service/daemon mydns # # LSB compatible service control script; see http://www.linuxbase.org/spec/ # # Note: This template uses functions rc_XXX defined in /etc/rc.status on # UnitedLinux (UL) based Linux distributions. If you want to base your # script on this template and ensure that it works on non UL based LSB # compliant Linux distributions, you either have to provide the rc.status # functions from UL or change the script to work without them. # ### BEGIN INIT INFO # Provides: mydns # Required-Start: \$syslog \$remote_fs mysql # Should-Start: \$time ypbind sendmail # Required-Stop: \$syslog \$remote_fs # Should-Stop: \$time ypbind sendmail # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: mydns XYZ daemon providing ZYX # Description: Start mydns to allow XY and provide YZ # continued on second line by '#<TAB>' # should contain enough info for the runlevel editor # to give admin some idea what this service does and # what it's needed for # (The Short-Description should already be a good hint.) ### END INIT INFO # # Any extensions to the keywords given above should be preceeded by # X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB. # # Notes on Required-Start/Should-Start: # * There are two different issues that are solved by Required-Start # and Should-Start # (a) Hard dependencies: This is used by the runlevel editor to determine # which services absolutely need to be started to make the start of # this service make sense. Example: nfsserver should have # Required-Start: \$portmap # Also, required services are started before the dependent ones. # The runlevel editor will warn about such missing hard dependencies # and suggest enabling. During system startup, you may expect an error, # if the dependency is not fulfilled. # (b) Specifying the init script ordering, not real (hard) dependencies. # This is needed by insserv to determine which service should be # started first (and at a later stage what services can be started # in parallel). The tag Should-Start: is used for this. # It tells, that if a service is available, it should be started # before. If not, never mind. # * When specifying hard dependencies or ordering requirements, you can # use names of services (contents of their Provides: section) # or pseudo names starting with a \$. The following ones are available # according to LSB (1.1): # \$local_fs all local file systems are mounted # (most services should need this!) # \$remote_fs all remote file systems are mounted # (note that /usr may be remote, so # many services should Require this!) # \$syslog system logging facility up # \$network low level networking (eth card, ) # \$named hostname resolution available # \$netdaemons all network daemons are running # The \$netdaemons pseudo service has been removed in LSB 1.2. # For now, we still offer it for backward compatibility. # These are new (LSB 1.2): # \$time the system time has been set correctly # \$portmap SunRPC portmapping service available # UnitedLinux extensions: # \$ALL indicates that a script should be inserted # at the end # * The services specified in the stop tags # (Required-Stop/Should-Stop) # specify which services need to be still running when this service # is shut down. Often the entries there are just copies or a subset # from the respective start tag. # * Should-Start/Stop are now part of LSB as of 2.0, # formerly SUSE/Unitedlinux used X-UnitedLinux- [...]... sendmail-whois[name=Named, dest=georgef2b@oss3d.com] logpath = /var/log/named/security.log ignoreip = 168.192.0.1 EOFMARKER3 service fail2ban restart Gán thuộc tính thực thi cho đoạn mã: chmod 755 /usr/local/sbin /opensuse_ ispconfig3 .sh Và các bạn có thể chạy đoạn mã này bằng câu lệnh sau: /usr/local/sbin /opensuse_ ispconfig3 .sh Chúc các bạn thành công! ... start # ISPCONFIG cd /tmp wget -c $ISPCONFIG_ TAR_GZ tar xvfz ISPConfig- *.tar.gz cd ispconfig3 _install/install/ (echo; echo; echo $MY_FULLHOSTNAME; echo; echo; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; ) | php -q install.php cd /tmp rm -rf /tmp /ispconfig3 _install rm -f /tmp /ISPConfig- *.tar.gz # Squirrelmail rpm -i $SQUIRRELMAIL_RPM ln -s /srv/www/htdocs/squirrelmail... -signkey /etc/apache2/ssl.key /server. key -out /etc/apache2/ssl.crt /server. crt openssl rsa -passin pass:0passphrase$MYSQLROOTPASS -in /etc/apache2/ssl.key /server. key -out /etc/apache2/ssl.key /server. key.insecure mv /etc/apache2/ssl.key /server. key /etc/apache2/ssl.key /server. key.secure mv /etc/apache2/ssl.key /server. key.insecure /etc/apache2/ssl.key /server. key a2enmod ssl sed -i 's/.VirtualHost _default_\:8080./\ . Tạo mã thiết lập hệ thống server trên OpenSUSE 11. 2 và cài đặt ISPConfig 3 Trong bài viết sau, Quản Trị Mạng sẽ hướng dẫn các bạn tạo 1 đoạn mã, có thể tự động thực. nhiều công đoạn như thiết lập, tùy chỉnh các thông số kỹ thuật… và cuối cùng là cài đặt ứng dụng. Lưu ý rằng tuyệt đối không được thực thi đoạn mã này trên 1 hệ thống server đang hoạt động. thích khi đoạn mã tự động khởi tạo hoặc ghi đè các file tùy chỉnh và có thể khiến cho hệ thống ngừng hoạt động. Chỉ nên áp dụng phương pháp này khi cài đặt mới hoàn toàn OpenSUSE 11. 2 Những điểm

Ngày đăng: 11/07/2014, 23:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan