Меню

настройка http сервера opensuse

Создать и настроить сервер на базе openSUSE 11.4: DNS, MySQL, Postfix и Web-сервера

Приветствую всех! Сегодня решил написать, как создать / поднять сервер на базе openSUSE 11.4. Пользуюсь этим дистрибутивом уже довольно долго, но всегда в качестве Workstation.

Думаю openSUSE 11.4 в качестве сервера, неважно, будь то файловый, почтовый или веб, работает хорошо 🙂

Я рассмотрю прямо с момента установки самой системы.

Итак, как скачали ISO-файл, записываем его на DVD и загружаемся с него:

Установка openSUSE 11.4 будет проходить на английском языке, я думаю люди, который таким интересуются, знают английский соответствующего уровня.

Тут мы выбираем новую установку и нажимаем «Next». В следующем окне настраиваем свой часовой пояс, выбираем вашу страну и идем к следующей стадии установки:

Тут нам предлогают выбрать DE. Поскольку мы поднимаем сервер, то будем устанавливать без графики, а именно «Minimum Server Selection (Text Mode)».

Нажимаем «Next» и приходим к созданию разделов на вашем диске:

Для примера, разделы на диске выгледят следующим образом:

  1. /dev/sda1 — swap;
  2. /dev/sda2 — root с файловой системой ext4;
  3. /dev/sda3 — srv с файловой системой ext4.

С размером уже можете поиграть самостоятельно, в зависимости от размера ваших дисков.

В этом окне, создаем имя пользователя и пароль. Обратите вмнимание на то, чтобы не было галочки на автологине. Также, для удобства этот же пароль установлен и для root.

Нажимамаем «Next» и проходим к последнему окну в устнановки. Там деактивируем Firewall и разерешаем SSH и окрываем для него порт.

Как все сделали, нажимаем «Install». Как установка завершится, начнется процесс настройки оборудования и сети. Все идет в автоматическок режиме. После всего, загрузится ваш openSUSE 11.4 в текстовом режиме.

После настройки оборудования и сети, в настройки сети IP адрес установлен на динамический. Нам нужно его сменить на статический, для этого вводим команду:

после чего откроется центр-управления YaST2. Далее переходим на вкладку «Network Devices» и октрываем «Network Settings»:

Далее вводим IP-адрес и маску подсети, так же и имя хоста. Нажимаем «Next»:

Тут задаем имя сервера 1 и 2. Для примера: 145.253.2.75 и 8.8.8.8 соответственно.

Нажимаем на «Next» и переходим к последнему разделу — «Routing»:

Тут задаем шлюз IPv4 (Gateway) — 192.168.0.1. Теперь нажимаем «OK» и закрываем данную настройку.

Читайте также:  hyperx cloud stinger микрофон настройка

Теперь идем в настройку Firewall и деактивируем его. Сделать это сможете также в YaST2.

Как все сделаете, закрываем YaST2.

Следующая наша стадия, это установка необходимых пакетов. Для этого идем в терминал и вводим команду:

sudo zypper in findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ make vim telnet cron iptables iputils man man-pages sudo openssl compat-openssl097g

Также, если вы делаете это на openSUSE 11.4 x86_64, устанавливаем еще это:

sudo zypper in libopenssl1_0_0-32bit

Теперь нам необходимо установить специальный пакет — quota. С его помощью вы сможете ограничивать дисковое пространство и количество индексных дескрипторов пользователей и групп.

Теперь редактируем /etc/fstab, командой:

Вид, ваш fstab может принять такой, какой у меня:

Затем введите следующие команды в терминале:

touch /aquota.user /aquota.group
chmod 600 /aquota.*
touch /srv/aquota.user /srv/aquota.group
chmod 600 /srv/aquota.*

mount -o remount /
mount -o remount /srv

Теперь установим пакеты, необходимые для DNS-сервера:

sudo zypper in bind bind-chrootenv bind-devel bind-utils

Далее добавлям автозагрузку для BIND и запускаем его:

chkconfig —add named
/etc/init.d/named start

Устанавливаем компоненты MySQL:

sudo zypper in mysql mysql-community-server mysql-client perl-DBD-mysql perl-DBI perl-Data-ShowTable libmysqlclient-devel libmysqlclient16 libmysqlclient16-32bit libmysqlclient_r16-32bit

Теперь добавляем на автозагрузку и запускаем его, как и BIND:

chkconfig -f —add mysql
/etc/init.d/mysql start

Теперь проверяем, разрешены ли сети:

Если все в порядке, то вы должны увидеть, что типа этого:

tcp 0 0 *:mysql *:* LISTEN 5059/mysqld

Если же нет, то просто раскоментируйте строку:

Теперь приступим к разворачиванию MySQL на вашем компьютере:

И далее вам надо будет ответить на несколько вопросов. Все очень просто:

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on.

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
. Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Читайте также:  epson l222 программа установки

Remove anonymous users? [Y/n]
. Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]
. Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]
— Dropping test database.
. Success!
— Removing privileges on test database.
. Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
. Success!

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Теперь нам необходимо сделать следующее:

mkdir -p /usr/local/lib/mysql
ln -s /usr/include/mysql /usr/local/lib/mysql/include
ln -s /usr/lib64/mysql /usr/local/lib/mysql/lib
cd /usr/local/lib/mysql/lib
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16.0.0
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16.0.0

Установка Postfix с SMTP-AUTH и TLS

sudo zypper in postfix cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd procmail

chkconfig -f —add postfix
/etc/init.d/postfix start

chkconfig -f —add saslauthd
/etc/init.d/saslauthd start

После чего, создаем сертификаты для TLS:

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Для настройки Postfix, делаем следующее:

postconf -e ‘mydomain = example.com’
postconf -e ‘myhostname = server1.$mydomain’
postconf -e ‘mynetworks = 127.0.0.0/8’
postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_sasl_authenticated_header = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains’
postconf -e ‘inet_interfaces = all’
postconf -e ‘alias_maps = hash:/etc/aliases’
postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’

Чтобы разрешить TLS соединения в Postfix, вводим команду:

Читайте также:  настройка asus rt n10u для сети мтс

и раскоментируем строку: tlsmgr.

Теперь перазапустим Postfix:

Установка POP3/IMAP

sudo zypper in courier-imap fam-server courier-authlib expect tcl

chkconfig -f —add fam
chkconfig -f —add courier-authdaemon
chkconfig -f —add courier-pop
chkconfig -f —add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig -f —add courier-pop-ssl
chkconfig -f —add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start

Для добавления POP3/IMAP в автозагрузку и запуска сразу.

Установка Apache с PHP5

sudo zypper in apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel

sudo zypper in 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

Далее редактируем файл /etc/apache2/httpd.conf, командой:

и добавляем следующее содержание:

DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx

После чего, активируем rewrite модуль для Apache:

соответствующий файл. Вносим параметр «SSL»: APACHE_SERVER_FLAGS=»SSL»

Теперь добавляем Apache на автозагрузку:

Устанавливаем пакеты необходимые для mod_ruby:

sudo zypper in apache2-devel ruby ruby-devel

Теперь нам надо установить сам mod_ruby, которого нету в репозиториях openSUSE. Будем собирать его:

cd /tmp
wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb —with-apr-includes=/usr/include/apr-1
make
make install

Для его активирования, вводим:

Теперь нам нужно установить mod_python, но он конфликтует с пакетом patterns-openSUSE-minimal_base. Удалите его через YaST2 и затем можете установить mod_python:

sudo zypper in apache2-mod_python

Дальше, что нам нужно сделать, это активировать модули WebDAV:

a2enmod dav
a2enmod dav_fs
a2enmod dav_lock

и опять перезапустить Apache:

И напоследок установим Webalizer

Далее выполним команды для занесения webalizer в автозагрузку и запуска сразу:

Установка молуей Perl необходимых для SpamAssassin

sudo zypper in perl-HTML-Parser perl-Net-DNS perl-Digest-SHA1 perl-NetAddr-IP perl-Archive-Tar

На этом настройка нашего сервера на базе openSUSE 11.4 завершена. 🙂

источник