База знаний: Linux Server
Установка хостинг панели ISPConfig на VPS под Ubuntu
Автор Алексей | HiTex.BY на 27 июня 2012 12:16
|
|
Данный вариант установки предложен для абсолютно чистого сервера без установленного какого либо ПО на него. ISPConfig работает со следующими компонентами: Apache 1.3.x/2.0.x/2.2.x Proftpd & vsftpd Supports The Following Mail Servers: Sendmail & Postfix All POP3 & POP3s Servers All IMAP & IMAPs Servers BIND 8/9 (A, CNAME, MX, SPF Records) Firewall Configuration Monitoring Of Services And Automatic Restart Web FTP Web Mail Interface phpMyAdmin Integration После установки вам будут доступны следующие параметры для вашего VPS , где любая из опций может быть включена или выключена для аккаунтов пользователей: PHP incl. Safemode SSI CGI-Directories SSL Sites and Certificates Frontpage 2002 extensions (if installed on the server) MySQL Databases Disk Quota Webalizer statisics Traffic statistics Traffic limits (for web sites and resellers) Disk usage statistics and overquota warnings Individual standard index and error pages per domain Individual records for inclusion in apache vhost (admin only) Domain redirects Backup Log-Quota and Logrotation Standard CGI WAP pages Hosting templates Cronjobs Начнем установку с удаления app-armor, он может помешать нормальной работе ISPConfig. /etc/init.d/apparmor stop update-rc.d -f apparmor remove aptitude remove apparmor apparmor-utils Установка Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 rkhunter binutils ntp ntpdate В процессе установки пакетов вам надо будет ответить на вопросы, задать пароль для сервера MYSQL, отказаться от создания директорий для веб администрирования, для почтовой системы выбрать конфигурацию “интернет сайт”, указать полное доменное имя вашего сервера, а так же согласиться на установку сертификатов. Далее отредактируйте конфиг файл для MYSQL сервера /etc/mysql/my.cnf, за комментируйте строку bind-address = 127.0.0.1 как показано в примере ниже, затем перезапустите MYSQL сервер командой /etc/init.d/mysql restart. Код: [...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 [...] Проверьте все ли верно, выполнив команду netstat -tap | grep mysql, результат должен быть примерно таким: Код: root@server1:~# netstat -tap | grep mysql tcp 0 0 *:mysql *:* LISTEN 8474/mysqld root@server1:~# Во время установки почтовый сервер Courier генерирует сертификаты для localhost, нам надо сменить их на наше доменное имя, для этого нам надо удалить старые сертификаты, поправить конфигурационные файлы Courier и сгенерировать новые сертификаты для нашего домена. В примере используется домен server1.example.com. Код: cd /etc/courier удалим старые сертификаты rm -f /etc/courier/imapd.pem rm -f /etc/courier/pop3d.pem Отредактируем конфиги vi /etc/courier/imapd.cnf Впишите ваш домен вместо localhost […] CN=server1.example.com […] Отредактируем второй конфиг vi /etc/courier/pop3d.cnf замените localhost на ваш домен […] CN=server1.example.com […] теперь сгененрируем новые сертификаты mkimapdcert mkpop3dcert Перезапустите Courier для того что бы он подхватил новые сертификаты выполнив пару команд: Код: /etc/init.d/courier-imap-ssl restart /etc/init.d/courier-pop-ssl restart Установим Amavisd-new, SpamAssassin, и Clamav Код: aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl Установка Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt Код: aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp В процессе установки надо ответить на вопросы, на первый вопрос ответьте apache2, на следующий вопрос заданный пакетом phpmyadmin ответить Yes, затем у вас спросят пароль для root на сервер mysql, и пароль для доступа к phpmyadmin, оставьте его пустым. Включите необходимые модули для вебсервера Apache2 Код: a2enmod suexec rewrite ssl actions include Далее обезопасим доступ к phpmyadmin, удалите файл /etc/phpmyadmin/htpasswd.setup и закомментируйте секцию в конфиге Apache2 /etc/phpmyadmin/apache.conf как показано ниже Код: [...] ## Authorize for setup # # # AuthType Basic # AuthName “phpMyAdmin Setup” # AuthUserFile /etc/phpmyadmin/htpasswd.setup # # Require valid-user # […] После этого перезапустим Apache2 командой /etc/init.d/apache2 restart Установка PureFTPd и Quota Код: aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool Отредактируем конфиг сервера PureFTPD /etc/default/pure-ftpd-common, изменив пару важных параметров как показано ниже Код: [...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...] После этого перезапустите PureFTPD командой /etc/init.d/pure-ftpd-mysql restart Для включения квот для пользователей отредактируем файл /etc/fstab который отвечает за монтирование дисков, добавим к разделу / опции usrquota и grpquota, выглядеть это будет примерно так Код: # /etc/fstab: static file system information. # # Use 'vol_id --uuid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # proc /proc proc defaults 0 0 # / was on /dev/mapper/server1-root during installation UUID=b8d265bc-5959-404d-a68e-8dc1c76f18d6 / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1 # /boot was on /dev/sda5 during installation UUID=01e9c3c7-2ad0-4f52-a356-18290517b362 /boot ext2 relatime 0 2 # swap was on /dev/mapper/server1-swap_1 during installation 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 Установка DNS сервер MyDNS Код: aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev Пакет MyDNS отсутствует в репозиториях Ubuntu, поэтому ставить его будем из исходных кодов. Код: cd /tmp wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz tar xvfz mydns-1.2.8.27.tar.gz cd mydns-1.2.8 ./configure make make install После установки создадим стартовый скрипт для MyDNS, создайте файл /etc/init.d/mydns и впишите в него следующее Код: #! /bin/sh # # mydns Start the MyDNS server # # Author: Philipp Kern . # Based upon skeleton 1.9.4 by Miquel van Smoorenburg # and Ian Murdock . # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/mydns NAME=mydns DESC=”DNS server” SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 case “$1? in start) echo -n “Starting $DESC: $NAME” start-stop-daemon –start –quiet \ –exec $DAEMON — -b echo “.” ;; stop) echo -n “Stopping $DESC: $NAME” start-stop-daemon –stop –oknodo –quiet \ –exec $DAEMON echo “.” ;; reload|force-reload) echo -n “Reloading $DESC configuration…” start-stop-daemon –stop –signal HUP –quiet \ –exec $DAEMON echo “done.” ;; restart) echo -n “Restarting $DESC: $NAME” start-stop-daemon –stop –quiet –oknodo \ –exec $DAEMON sleep 1 start-stop-daemon –start –quiet \ –exec $DAEMON — -b echo “.” ;; *) echo “Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}” >&2 exit 1 ;; esac exit 0 Сделаем скрипт исполняемым и добавим в автозагрузку Код: chmod +x /etc/init.d/mydns update-rc.d mydns defaults Установим Vlogger и Webalizer Код: aptitude install vlogger webalizer Установим Jailkit Jailkit нужен нам для реализации chroot наших пользователей для входа по ssh. Важно, Jailkit обязательно должен быть установлен перед установкой ISPConfig! Установим необходимые пакеты Код: aptitude install build-essential autoconf automake1.9 libtool flex bison Jailkit так же как и MyDns будем ставить из исходников Код: cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz tar xvfz jailkit-2.5.tar.gz cd jailkit-2.5 ./configure make make install cd .. rm -rf jailkit-2.5* Установим fail2ban Код: aptitude install fail2ban Установим SquirrelMail Код: aptitude install squirrelmail Создадим симлинк для более удобного входа в почтовый интерфейс, он будет доступен по адресу http://server1.example.com/webmail (server1.example.com замените на ваш домен) Код: ln -s /usr/share/squirrelmail/ /var/www/webmail Затем настроим SquirrelMail выполнив команду squirrelmail-configure. Вместо squirrel mail вы можете установить Roundcube mail,выглядит она поприятнее, функционала побольше. Установим ISPConfig 3 Код: cd /tmp wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.1.tar.gz?use_mirror= tar xvfz ISPConfig-3.0.1.1.tar.gz cd ispconfig3_install/install/ Запустим установку Код: php -q install.php Далее примерно описан процесс установки с ответами на вопросы задаваемыми установщиком root@server1:/tmp/ispconfig3_install/install# php -q install.php ——————————————————————————– >> Initial configuration Operating System: Debian Lenny/Sid or compatible Following will be a few questions for primary configuration so be careful. Default values are in [brackets] and can be accepted with <ENTER>. Tap in ”quit” (without the quotes) to stop the installer. Select language (en,de) [en]: <– ENTER Installation mode (standard,expert) [standard]: <– ENTER Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <– ENTER MySQL server hostname [localhost]: <– ENTER MySQL root username [root]: <– ENTER MySQL root password []: <– пароль root для mysql MySQL database to create [dbispconfig]: <– ENTER MySQL charset [utf8]: <– ENTER Generating a 2048 bit RSA private key ……………………………………………………..+++ …………..+++ writing new private key to ’smtpd.key’ —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ’.’, the field will be left blank. —– Country Name (2 letter code) [AU]: <– ENTER State or Province Name (full name) [Some-State]: <– ENTER Locality Name (eg, city) []: <– ENTER Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– ENTER Organizational Unit Name (eg, section) []: <– ENTER Common Name (eg, YOUR name) []: <– ENTER Email Address []: <– ENTER Configuring Jailkit Configuring SASL Configuring PAM Configuring Courier Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring Pureftpd Configuring MyDNS Configuring Apache Configuring Firewall Installing ISPConfig ISPConfig Port [8080]: <– ENTER Configuring DBServer Installing Crontab no crontab for root no crontab for getmail Restarting services … * Stopping MySQL database server mysqld …done. * Starting MySQL database server mysqld …done. * Checking for corrupt, not cleanly closed and upgrade needing tables. * Stopping Postfix Mail Transport Agent postfix …done. * Starting Postfix Mail Transport Agent postfix …done. * Stopping SASL Authentication Daemon saslauthd …done. * Starting SASL Authentication Daemon saslauthd …done. Stopping amavisd: amavisd-new. Starting amavisd: amavisd-new. * Stopping ClamAV daemon clamd …done. * Starting ClamAV daemon clamd …done. * Stopping Courier authentication services authdaemond …done. * Starting Courier authentication services authdaemond …done. * Stopping Courier IMAP server… …done. * Starting Courier IMAP server… …done. * Stopping Courier IMAP-SSL server… …done. * Starting Courier IMAP-SSL server… …done. * Stopping Courier POP3 server… …done. * Starting Courier POP3 server… …done. * Stopping Courier POP3-SSL server… …done. * Starting Courier POP3-SSL server… …done. * Restarting web server apache2 … waiting …done. Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -E -b -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -B Installation completed. root@server1:/tmp/ispconfig3_install/install# После установки система готова к использованию, зайдите в админ панель ISPConfig по адресу http://server1.example.com:8080/ с логином admin паролем admin Вам останется только создать и настроить аккаунты, а так же немного привести в порядок конфигурацию установленных демонов. | |
|
Комментарии (0)