Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix системы (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   Совершенный Сервер на Ubuntu 8.10 (https://forum.antichat.xyz/showthread.php?t=94880)

Belfigor 05.12.2008 07:00

Совершенный Сервер на Ubuntu 8.10
 
Совершенный Сервер на Ubuntu 8.10 (часть 1)

Данный мануал взят с сайта HowtoForge.com

Я не буду здесь описывать установку Ubuntu-server 8.10 а перейду сразу к настройке сервера .

скачать Ubuntu-server 8.10 можно здесь http://www.ubuntu.com/

Статья расчитана только для новичков , гуру не почерпнут для себя здесь ничего нового !
__________________________________________________ __________
Все комманды нужно выполнять в терминале (консоль) под рутом (root)

SUDO SU Enter
Ваш пароль : xxxxx
__________________________________________________ ___________

Для выхода из редактора VIM использовать клавишу Esc без сохранения :q , с сохранением :wq

__________________________________________________ ___________

По всем интересующим вас вопросам просьба использовать: man vim, apache2 , bind9, mc и тд и тп !!!

Теперь пожалуй начнём

№1
Для начала установим SSH Server , если вы не установили его в процессе установки Убуту то это можно сделать сейчас выполнив сделующие команды :

PHP код:

apt-get install ssh openssh-server 

Для подключения к вашему серверу с Windows (вот не хотел это слово тут вообще писать :D ) вы можете использовать такую утилиту как Putty , её легко найти в интернете , я админю своей сервак из под Linux Mint , в консоли ssh 192.168.1.1 -l belfigor : мой пасс .

Тестовые редакторы можно использовать разные, такие как vim , mc и nano , я пользуюсь vim , для удобства mc , по дефолту программа vi уже установленна , но в среде Дебиан и Убуну она бывает ведёт себя странно , профиксим это дело:

Код:

apt-get install vim-nox mc
за одно можно установить mc . GNU Midnight Commander File Manager

№2

Настроим нашу сеть , я использую сервер в качестве шлюза , данную конфигурацию вы можете заточить под свои нужды , мой конфиг приведёт ниже:

PHP код:

vi /etc/network/interfaces 

Код:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.1.1
        dns-search ru

перезагрузим нашу сеть

PHP код:

/etc/init.d/networking restart 

Теперь отредактируем файл /etc/hosts
PHP код:

vi /etc/hosts 

Код:

127.0.0.1      localhost.localdomain  localhost
192.168.1.1  server1.example.com    server1

# The following lines are desirable for IPv6 capable hosts
::1    localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Запустим
Цитата:

echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start
Проверяем
PHP код:

hostname
hostname 
-

вы должны увидеть следущие server1.example.com или же Ваше название сервера !

№3

Отредактируем файл /etc/apt/sources.list из закоментируем строку которая иcпользует установочный СD , так же проверим что universe и multiverse репозиторий доступны :

PHP код:

vi /etc/apt/sources.list 

Код:

#
# deb cdrom:[Ubuntu-Server 8.10 _Intrepid Ibex_ - Release i386 (20081028.1)]/ intrepid main restricted

#deb cdrom:[Ubuntu-Server 8.10 _Intrepid Ibex_ - Release i386 (20081028.1)]/ intrepid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://de.archive.ubuntu.com/ubuntu/ intrepid main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid universe
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid multiverse
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://de.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu intrepid partner
# deb-src http://archive.canonical.com/ubuntu intrepid partner

deb http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb http://security.ubuntu.com/ubuntu intrepid-security universe
deb-src http://security.ubuntu.com/ubuntu intrepid-security universe
deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse

следом запускаем команду
PHP код:

apt-get update
apt
-get upgrade 

Этим самым мы обновим и установим важные и нужные обновления для нашего сервера

Перезагрузимся
Код:

reboot
№4

Установим софт который нам потребуется для работы , это можно выполнить одной линией

Код:

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential
Так же установим квоту

Код:

apt-get install quota
Отредактируем файл /etc/fstab , добавив в него usrquota , grpquota и раздел с точкой монтирования .

PHP код:

vi /etc/fstab 

Код:

# /etc/fstab: static file system information.
#
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
proc            /proc          proc    defaults        0      0
# /dev/sda1
UUID=ef38977b-0f39-4201-a4c3-2eed8fce0b6c /              ext3    relatime,errors=remount-ro,usrquota,grpquota 0      1
# /dev/sda5
UUID=c4ecae0e-77b7-4b3b-b16f-303bb32a761d none            swap    sw              0      0
/dev/scd0      /media/cdrom0  udf,iso9660 user,noauto,exec,utf8 0      0

Включим квоту этими командами :

Код:

touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /

Код:

quotacheck -avugm
quotaon -avug

№5

Установим DNS сервер

Код:

apt-get install bind9
Для помещения BIND в chroot выполним следущие шаги:

Код:

/etc/init.d/bind9 stop
Отредактирем файл /etc/default/bind9 изменив линию OPTIONS="-u bind" на OPTIONS="-u bind -t /var/lib/named"

PHP код:

vi /etc/default/bind9 

Код:

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-u bind -t /var/lib/named"

Создадим соседние директории под /var/lib:

Код:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Затем переместим конфиг директорию из /etc в /var/lib/named/etc:

Код:

mv /etc/bind /var/lib/named/etc
Создадим сим линк в новой конфиг директории из старого размещения (тем самым устраним проблемы когда bind обновиться в будующем)

PHP код:

ln -/var/lib/named/etc/bind /etc/bind 

Сделаем null и random devices, и выставим нужные права на директории :

Код:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

Нам нужно изменить /etc/default/syslogd так как мы можем всё ещё получать важные сообщения системных логов , изменим линию : SYSLOGD="" на SYSLOGD="-a /var/lib/named/dev/log":

PHP код:

vi /etc/default/syslogd 

Код:

#
# Top configuration file for syslogd
#

#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#

#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"

Перезапустим демона :

PHP код:

/etc/init.d/sysklogd restart 

Стартуем наш DNS сервер , все ошибки можно проглядеть в /var/log/syslog

Код:

/etc/init.d/bind9 start
от себя
Цитата:

всё заработало и завелось без проблем , ошибок не было ! "
№6 Устанавливаем MYSQL

Будем делать всё в следущием порядке :

PHP код:

apt-get install mysql-server mysql-client libmysqlclient15-dev 

Во время установки нас попросят назначить нашему серверу пароль root:
Цитата:

New password for the MySQL "root" user: ваш sql пароль
Repeat password for the MySQL "root" user: подтверждение вашего sql пароля
Допустим мы хотим чтобы Mysql слушал все интерфейсы, а не только локалхост , для этого отредактируем etc/mysql/my.cnf , и закометируем строку bind-address = 127.0.0.1

PHP код:

vi /etc/mysql/my.cnf 

Код:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address
[...]

Этого можно и не делать если вы собираетесь использовать Mysql для локалхоста , теперь можем перегрузить MysqL

Код:

/etc/init.d/mysql restart
Проверим работоспособность Mysql
Код:

netstat -tap | grep mysql
Всё должно выглядеть следующим образом

Цитата:

root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 6724/mysqld
root@server1:~#
Установка Apache/PHP5/Ruby/Python

№7 Устанавливаем Apache:

Код:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
Далее установим PHP5, Ruby, and Python ( и три модуля к Apache)

Код:

apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Затем отредактируем /etc/apache2/mods-available/dir.conf

PHP код:

vi /etc/apache2/mods-available/dir.conf 

изменим строку DirectoryIndex

Код:

<IfModule mod_dir.c>

          #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
          DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

</IfModule>

Теперь мы имеем работоспособные модули Апача , такие как (SSL, rewrite, suexec, and include):
PHP код:

a2enmod ssl
   a2enmod rewrite
   a2enmod suexec
 a2enmod 
include 

Перезапустим Apache
Код:

/etc/init.d/apache2 restart
################################################## Из МАНУАЛА !
__________________________________________________ ____________
Цитата:

We have to fix a small problem with Ruby. If you install ISPConfig and enable Ruby for a web site, .rbx files will be executed fine and displayed in the browser, but this does not work for .rb files - you will be prompted to download the .rb file - the same happens if you configure Ruby manually for a vhost (i.e., it has nothing to do with ISPConfig)
Цитата:

Мы профиксим небольшие проблемы с Ruby , Если вы установили ISPConfig и Ruby доступен для веб сайте , .rbx файлы будут исполняться и отображаться в браузере , но это не будет работать для .rb файлов///.....
Откроем файл /etc/mime.types и закоментируем строку application/x-ruby:

PHP код:

vi /etc/mime.types 

Код:

[...]
#application/x-ruby                            rb
[...]

Перезапустим Апач
Код:

/etc/init.d/apache2 restart
Теперь .rb файлы будут исполняться и отображаться в браузере , так же как и .rbx

№8

Отключаем PHP Globally , это необходим сделать только в том случае если вы хотите установить ISPConfig

ISPConfig это панель, которая использует предустановленный на сервере почтовый сервер, веб сервер, php, mysql, perl и другие.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Если вы не планируете устанавливать на этот сервер ISPConfig , пропустите данную секцию !!!!!

PHP код:

vi /etc/mime.types 

Код:

[...]
#application/x-httpd-php                                phtml pht php
#application/x-httpd-php-source                phps
#application/x-httpd-php3                      php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                      php4
[...]

Отредактируйте файл /etc/apache2/mods-enabled/php5.conf и закоментируйте следующие строки :

PHP код:

vi /etc/apache2/mods-enabled/php5.conf 

Код:

<IfModule mod_php5.c>
  #AddType application/x-httpd-php .php .phtml .php3
  #AddType application/x-httpd-php-source .phps
</IfModule>

Код:

/etc/init.d/apache2 restart
Источник http://www.howtoforge.com/perfect-server-ubuntu-8.10
Copyright Falko http://www.howtoforge.com/forums/member.php?u=2
Copyleft Belfigor

Во второй части мануала будет рассмотреннo: установка и настройка Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Ubuntu 8.10)" , Постоянное одновременное подключение Интернет + Локалка (Domolink) за 5 минут! на Ubuntu 8.10 , установка и настройка Proftpd Mysql .

(c)stopxaker.ru

Belfigor 05.12.2008 20:48

Цитата:

Сообщение от Крыса Тыловая
В серверном сегменте однозначно рулит BSD. Желательно Free или Open, хотя и из остальных получатся серваки лучше чем из бубунты.

1:
То что статья называеться "Совершенный сервер на Ubuntu 8.10" это не я придумал , это перевод "The Perfect Server - (Ubuntu 8.10)" можешь сходить на офсайт и разрулить эту тему там ;)

2 Не нравиться Ubuntu , юзай Debian .

3. С удовольствием бы почитал твой мануал (пусть даже переведённый ) о поднятии сервера на OpenBSD

и последние, я юзаю как Ubuntu-server так и Debian так и FreeBSD , и даже иногда балуюсь CentOS , так что если тебе что то не нравиться , то напиши и выложи свой ман по OpenBSD , и приведи веские доводы и сравнения по этой ОС , то бишь чем что лучше и чем что хуже !
А разводить Холивары , имхо , не стоит ;)

nerezus 05.12.2008 21:03

Чем лучше Убунту, чем BSD
1) Нет проблем с дровами. Сейчас в *BSD такая же жопа с дровами на новое железо по отношению к линуху, какая недавно была в Linux по отнношению к винде.
2) Джава. Есть, но неофициально и не поддерживается саном.
3) Многово софта нет под фряху. Те же всякие ЗендСтудио и т.д.
4) И это не говоря о серверном сегменте: попробуйте поднять Oracle на FreeBSD )

Useroff 06.12.2008 02:24

Цитата:

1) Нет проблем с дровами. Сейчас в *BSD такая же жопа с дровами на новое железо по отношению к линуху, какая недавно была в Linux по отнношению к винде.
Бред, многие линуксы используют дрова *BSD систем.
Цитата:

3) Многово софта нет под фряху. Те же всякие ЗендСтудио и т.д.
Еще пущий бред, или посмотри в порты.

nerezus 06.12.2008 12:34

Цитата:

Еще пущий бред, или посмотри в порты.
Ну-ну, прежде чем языком шевелить, ты подуи\мал бы.
Начнем с того, что Zend Studio платная и проприетарная. Ну и как она в портах оказаться может?)
http://www.freebsd.org/cgi/ports.cgi?query=Zend&stype=all
Проверь вот )
А на оффсайте можно скачать версии под мак, винду и линух.

Цитата:

Бред, многие линуксы используют дрова *BSD систем.
Ты это скажи владельцам Wi-Fi карточек, к примеру )

nerezus 06.12.2008 13:21

Цитата:

Если тебе нужен ява-плеер, на севере, на котором монитор то не нужен, значит ты в своей жизни ни одного сервера не видел.
Мне нужна ява на девелоперской тачке, под которой я разрабатываю ПО для сервера.
И среда разработки мне нужна. Чтобы разрабатывать ПО для сервера.
Да и монитор мне нужен. Чтобы смотреть в него при разработке для сервера.

Цитата:

А на что тебе нужны дрова? На новый радеон? Или на звуковуху?
Конечно. К примеру недавно писал туб - тестировал на сервере, подобном боевому.

Useroff 06.12.2008 23:24

Цитата:

Напиши статью !!! это лучше чем всё обсирать , вот и посмотрим на сколько ты крут , а языком все могут , а то все суровые админы , а чуть какая проблема , все на Ачат бегут
Вот тебе статья по созданию идеального вэб сервака на OpenBSD
http://servmast.ru/index.php?newsid=19

Belfigor 06.12.2008 23:31

Цитата:

Сообщение от Useroff
Вот тебе статья по созданию идеального вэб сервака на OpenBSD
http://servmaster.net/index.php?newsid=19

2 Useroff , cпасибо за ссылку , но сколько юзаю ФРяху , таким образом никогда не ставил и ставить не буду

Цитата:

Далее начнем ставить:
Код:

# pkg_add php5-core
Всё только из портов !!! ;)

зы ещё раз прощу не втягивайте меня в холивар :D

Useroff 07.12.2008 01:01

Цитата:

Создание идеального сервера на Ос у которой проблемы с реализацией SMP вообще странно.
OpenBSD может работать с 2 и более процами, не хуже чем FreeBSD.
Цитата:

Или все сводиться поумолчанию к chroot ,который не дает не какой безопасности =)
1. Кто мешает httpd="-u" ?
2. chroot, ограждает индейца от систмы, тем самым уменьшает % взома.
3. chroot ставится за 15 минут куда угодно то на Фриху, то на бунту.

procedure 07.12.2008 12:49

Уважаемые, на надо разводить холивар. Достаточно просто высказать свое мнение. И попытаться прислушаться к мнению другого. Не надо спорить в разделе, давайте уж забудем это выражение "плохая ОС", оскорбление других личностей и сторонее ПО показывает не ваш ум, а вашу глупость.

Добавлено: тему открыл, ждем 2ую часть.


Время: 15:59