Собрание статей и заметок преимущественно по администрированию операционных систем Linux и Windows (но не только). Цель - собрать в одном месте полезное и интересное, что то вроде записной книжки. Большая часть скопирована целиком или скомпилирована из найденного в интернете, и я никоим образом не предендую на авторство, которое мне не принадлежит, чукча не писатель, чукча читатель. Некоторые же статейки - написаны мной, в качестве шпаргалок по мотивам прохождения некоторых квестов.
Установка хостинг панели ISPConfig 3 на Ubuntu 9.04
В этой статье описывается как установить панель управления хостингом ISPConfig на Ubuntu 9.04. 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
После установки вам будут доступны следующие параметры для вашего хостинга, где любая из опций может быть включена или выключена для аккаунтов пользователей:
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.
В процессе установки пакетов вам надо будет ответить на вопросы, задать пароль для сервера 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, результат должен быть примерно таким:
Во время установки почтовый сервер 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 для того что бы он подхватил новые сертификаты выполнив пару команд:
В процессе установки надо ответить на вопросы, на первый вопросо ответьте apache2, на следующий вопрос заданный пакетом phpmyadmin ответить Yes, затем у вас спросят пароль для root на сервер mysql, и пароль для доступа к phpmyadmin, оставьте его пустым.
Включите необходимые модули для вебсервера Apache2
Код:
a2enmod suexec rewrite ssl actions include
Далее обезопасим доступ к phpmyadmin, удалите файл /etc/phpmyadmin/htpasswd.setup и закомментируйте секцию в конфиге Apache2/etc/phpmyadmin/apache.conf как показано ниже
После этого перезапустите 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
Сделаем скрипт исполняемым и добавим в автозагрузку
Jailkit нужен нам для реализации chroot наших пользователей для входа по ssh.
Важно, Jailkit обязательно должен быть установлен перед установкой ISPConfig!
Установим необходимые пакеты
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
Далее примерно описан процесс установки с ответами на вопросы задаваемыми установщиком
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
Вам останется только создать и настроить аккаунты, а так же немного привести в порядок конфигурацию установленных демонов.