====== Linux Сервер для дома (Ubuntu 8.04-8.10) Часть вторая. ====== Продолжаю тему про установку и настройку домашнего сервера. ===== Готовим и ставим сервер. ===== Чтобы проще было в будущем работать попробуем установить ряд дополнительных программ, которые нам пригодятся в дальнейшем. А заодно, поучимся как это делать! Как я уже говорил, у нас есть несколько возможностей для этого. Воспользуемся программой (пакетом) **Synaptic**. Запустим его из меню: ===== Запуск пакета Synaptic ===== Запускаем Synaptic через меню Система → Администрирование: {{:server2-1-synaptic.png|}} А вот и он сам: {{:server2-2-synaptic1.png|}} Обычно я его немного настраиваю, на последующих двух картинках, я показываю какие птички я в нем ставлю: {{:server-2-3-parametry.png|}} И здесь: {{:server-2-4-parametry1.png|}} Далее, воспользуемся поиском, находясь в главном окне Synaptic (рис.1), нажмем на значек с биноклем и надписью 'искать'. У нас выскочит вот такое окошечко: {{:server-2-5-nayti_1_.png|}} Обычно поиск я делаю по "Названию" или более расширенный по "Описанию и названию". ===== Устанавливаем в систему серверное ядро: ===== Набираем в нем слово сервер, и среди появившегося списка находим название linux-server. {{:serwer-2-6-linux-server.png|}} Нажимаем на стоящий слева квадратик, т. е. ставим там птичку, нажимаем применить, и видим следующее окно: {{:server-2-7-linux-server.png|}} Прежде чем я вам разрешу нажать на кнопку Применить, объясню что же мы делаем! Мы просто с помощью пакета Synaptic устанавливаем в систему серверное ядро. А т.к. Synaptic достаточно умный, он предложил установить все три необходимых для этого пакета: linux-image-2.6.22-14-server inux-image-server linux-ubuntu-modules-2.6.22-14-server Ниже привожу картинку из которой видно как это делать: {{:server-2-8-ust-server.png|}} В центральном окошке можно увидеть какие пакеты будут установлены, какие у вас имеются, а какие вам надо будет докачать. Нажимаем еще раз кнопку Применить и увидим, как система закачает и устанавит пакеты серверного ядра. На картинке ниже видно, для этого, ей придется загрузить 21,7 MB дополнительной информации. {{:server-2-9-zagruzka.png|}} ===== Установка пакетов console-cyrillic и mc. ===== Точно также устанавливаем еще два пакета: **console-cyrillic** и **mc**. Первый нужен для русификации консолей, а второй является файловым менеджером, который я постоянно использую для работы с файлами и архивами в консоли. На экране видно, что я их ставлю повторно: {{:server-2-10-console-cyrilic.png|}} Что бы закончить с **Synaptic**, покажу вам окошко, где я с помощью Synaptic удаляю пакет console-cyrillic (как пример), вдруг когда-то потребуется удалить какой- нибудь пакет. Делаю я это так, найдя необходимый для удаление пакет, нажимаю на нем правой кнопкой мышки и выбираю нужный мне пункт. {{:server-2-11-.png|}} :!:Необходимо знать, что выбор пункта:- "Отметить для полного удаления" позволит удалить и все конфигурационные файлы этого пакета. Есть как я уже отмечал и другой способ работы с пакетами - это с помощью Терминала суперпользователя. ===== Второй способ работы с пакетами - с помощью Терминала суперпользователя. ===== Для этого включим его в нашем ГЛАВНОЕ МЕНЮ. Находим пункт **Система->Параметры->Главное меню** Запускаем его, находим раздел Системные и ставим птичку напротив Терминал суперпользователя: {{:server-2-12-menu.png|}} Теперь он будет виден в главном меню. То же можно сделать по всем вашим разделам. Здесь же можно добавлять и свои собственные пункты, разделы и т .д. Обычно я выношу значки терминалов на верхнюю панель Гнома. ===== Устанавливаем пакеты для для нашего сервера LAMP ===== Итак устанавливаем пакет программ, для нашего сервера LAMP (Linux-Apache-MySQL-PHP). Будем это делать в терминале суперпользователя, скопировав туда следующую команду: 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 alien ssh openssh-server mysql-server mysql-client libmysqlclient15-dev phpmyadmin mysql-admin libapache2-mod-auth-mysql mysql-admin-common mysql-query-browser mysql-query-browser-common libapache2-mod-php5 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-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-image-graph imagemagick php5-ldap apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert webalizer ntp ntpdate Выглядеть это будет так: {{:server-2-13-terminal-server.png|}} Затем нажимаем Enter. После чего все эти пакеты будут закачены и установлены в вашу систему. Далее здесь же в терминале надо выполнить вот эти команды: a2enmod ssl a2enmod rewrite a2enmod suexec a2enmod include a2enmod php5 И что бы на нашем сервере заработал пакет phpmyadmin, нужно сделать ссылку на папку где он лежит: ln -s /usr/share/phpmyadmin/ /var/www Проделывая все это, вы должны закрыть все программы для работы с пакетами, как то Synaptic, Менеджер обновлений, Источники приложений, aptitude, иначе система будет ругаться на блокировку! ===== Проверка правильности работы сервера. ===== Перезагружаем компьютер. В загрузочном меню выбираем первый пункт, т. е. загрузку сервера. После входа в систему, проверим что у нас получилось! Запускаем наш браузер под названием Mozilla Firefox и набираем в адресной строке следующую команду: [[http://localhost/apache2-default]] Если мы видим вот такую картинку, значит наш сервер заработал! {{:server-2-14-firefox.png|}} :!:СРАЗУ НАДО ПОНЯТЬ ЧТО ВСЕ ВАШИ СТРАНИЦЫ, ФАЙЛЫ И ДР., КОТОРЫЕ ПО УМОЛЧАНИЮ БУДУТ ВИДНЫ ЧЕРЕЗ БРАУЗЕР, НАХОДЯТСЯ В ПАПКЕ: /VAR/WWW Набрав в браузере команду: [[http://localhost/]] или [[http://127.0.0.1]] или вместо адреса 127.0.0.1, вы можете набрать ip адрес вашей сетевой карты, например у меня: 192.168.0.100 [[http://192.168.0.100]] мы попадаем в папку /var/www, где сервер Apache пытается найти файл index.html, index.php и т. д. Как эту папку посмотреть? Я это делаю с помощью MC. Захожу в терминал суперпользователя. Набираю mc и в нем ищу папку /var/www Вот как раз картинка с mc и c этой папкой: {{:server-2-15-mc.png|}} а так, как там нет такого файла (index.html, index.php), в последних случаях мы увидим в браузере, то что видим в MC, [[http://127.0.0.1]] {{:server-2-16-localhost.png|}} Теперь вам должно стать понятным следующее. Если вы создадите свою HTML страничку, назовете ее index.html и скопируете ее в папку: /var/www , то при следующей загрузке браузера с адресом http://localhost вы как раз ее и увидите!!! :!: Для лучшего понимания поясняю, что если вы в браузере зайдете в папку apache2-default, то вы как раз и увидите дефолтную страницу Apache (см. картинку выше), А через МС зайдя в эту папку (apache2-default,) и наведя курсор на файл index.html и нажав в mc кнопку F3 вы увидите слово It works! ===== Проверка установки php ===== создаем файл: Код: sudo gedit /var/www/testphp.php Вставляем следующую строку в новый файл Сохраняем, запускаем: [[http://localhost/testphp.php]] Web-браузер откроет страницу с полным описанием установленных пакетов PHP. Набрав в адресной строке вашего браузера адрес: [[http://localhost/phpmyadmin]] Вы можете так же, аналогично, вызвать программу phpmyadmin, для работы с вашими MySQL базами. ===== Настройка сети, сетевых карт и имени хоста. ===== Конфигурируем сеть: Код: gedit /etc/network/interfaces если вы не в Х, то: 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 # This is a list of hotpluggable network interfaces. # They will be activated automatically by the hotplug subsystem. mapping hotplug script grep map eth0 # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 Перезапускаем сеть: Код: /etc/init.d/networking restart Должны увидеть вот такую картинку: {{:server-2-17-network-restart.png|}} Теперь редактируем еще один файл: Код: gedit /etc/hosts # если вы не в Х, то; vi /etc/hosts Этот файл должен выглядеть вот так: 127.0.0.1 localhost.localdomain localhost server1 192.168.1.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts Продолжаем настройку имени вашего хоста (вашего компьютера, сервера): Я для примера взял имя server1.example.com и IP адрес 192.168.1.100. IP адрес модема 192.168.1.1. Адрес второй сетевой карты к которой будет подключена домашняя сеть 192.168.2.1. Хотя последняя необязательна, можно расшарить и первую карту. Итак присваиваем имя:- server1.example.com (если у вас куплено доменное имя, то ставите его) Код: echo server1.example.com > /etc/hostname /etc/init.d/hostname.sh echo '192.168.0.100 server1.example.com' >> /etc/hosts Перестартуем Apache2 и увидим следующую картинку: Код: /etc/init.d/apache2 restart {{:server-2-18-apache-restart.png|}} Если вы находитесь в графической оболочке, то можно попытаться настроить это все вызвав через меню- "Программы настройки сети": Система->Администрирование->Сеть: Ниже можете посмотреть картинки с моими настройками: {{:server-2-19-net1.png|}} {{:server-2-20-dns.png|}} {{:server-2-21-net4.png|}} Вторая сетевая карта: {{:server-2-22-net5.png|}} Ну и обязательно, надо помнить об известной команде **ifconfig**, (ifconfig -h- это чтобы посмотреть помощь) Практически это и все по настройкам сети. ===== Установка и настройка сетевого экрана Firestarter. ===== Что бы управлять сетевым экраном надо установить пакет firestarter. Я покажу как это сделать из терминала, но можно с таким же успехом это сделать и из Synaptic. Из терминала надо набрать команду: Код: apt-get install firestarter Запустить его можно из меню системы: Система->Администрирование->Firestarter Видим Wizard, т. е. волшебника. который поможет вам настроить брандмауэр пошагово. {{:server-2-22-firestarter.png|}} Первое окно при запуске- нажимаем Вперед. Следующее окно **Internet connection sharing setup**, позволяет, если вы захотите, сделать возможным связь между двумя вашими сетевыми картами. Включите (Enable.....) {{:server-2-24-firestarter1.png|}} Ниже показан внешний вид главного окна Status. Внизу открыто окно в котором в реальном времени показаны IP адреса хостов, которые работают с вашим сервером, и с которыми работаете вы. здесь Здесь же можно заблокировать брандмауэр- Lock и остановить Stop и запустить потом. {{:server-2-25-firestarter2.png|}} Следующее Окно Ewents, т.е. Окно Событий. Окно показывает историю подключений заблокированных брандмауэром. Таким образом брандмауэр записывает такие события. Есть однако многие действия, Вы можете обратиться к позиции отказа соединения, а затем эти затрагивают, как брандмауэр будет рассматривать аналогичные движения в будущем. {{:server-2-25-firestarter8.png|}} **Firestarter** подсвечивает события тремя цветами. Ниже описаны значения цветов: * Черный В связи очередной попыткой доступа со случайного порта, который был заблокирован брандмауэром. Как правило, вам не надо беспокоиться о таких событиях. * Красный Одна из возможных попыток доступа, c непонятного IP (не государственная служба). Firestarter предлагает обратить вам особое внимание на эти записи. Хотя надо заметить, что это не обязательно означает, кто-то пытается организовать вторжение. Решать об этом Вам. * Серый События классифицируются как безобидные. Этот класс состоит в основном из широковещательного трафика. Следующее окно Входящих политик. В окне можно настраивать контроль на входящий трафик из Интернета к локальной сети до брандмауэра. По умолчанию Все запрещено. каждое разрешающее правило добавляет одну дырку. (грубо говоря). Три части окна - сверху вниз:- разрешения для хоста, ниже для портов или служб и последнее проброс (forward) портов или служб. В окне на картинке внизу установлены открытыми порты 80, 21-22 т.е. HTTP и FTP. {{:server-2-26-firestarter7.png|}} Следующее 2 окна показывают, как в предыдущем окне добавляются правила: Добавляем правило которое открывает доступ из Интернет к 80 порту, т.е. к серверу Apache. {{:server-2-27-firestarter4.png|}} Добавляем правило которое открывает доступ из Интернет к 21-22 портам, т.е. к серверу FTP: {{:server-2-28-firestaer5.png|}} Следующее окно- Окно Исходящих политик. Это окно для управления контролем исходящего трафика в Интернет и машины на которой установлен межсетевым экран, а так же для любого LAN клиента. По умолчанию внешняя политика является разрешительной. Это значит, что и вы, и любой клиент, подключенных к локальной сети имеют возможность быть в сети Интернет, читать электронную почту и т.д. без ограничений. В окне как раз можно вводить различные ограничения. По умолчанию включена возможность создать т. н. черный список: Здесь окно имеет подразделение на три части. Если коротко в первой верхней части можно запретить конкретный адрес или хост в интернете, например порносайт или несколько. Во второй части которая по центру запретить конкретный хост или ip адрес в локальной сети или несколько. И в нижней части запретить службу или порт. См. окно ниже: {{:server-2-29-firestarter10.png|}} Нажав радиокнопку "Restrictive by default, whitelist traffic" включаем вторичное окна режима для контроля исходящего трафика. Т. е. запрещаем для себя и локальной сети весь внешний трафик и создаем т.н. белый список. В верхнем окне можем разрешить один адрес или хост в интернете. В среднем окне разрешить выход для отдельной машины в локальной сети. И в нижнем окне разрешить работы отдельных портов или служб. Ниже помещена картинка с описанным окном: {{:server-2-30-firestarter11.png|}} Настройки самого брандмауэра -(Preferences). Опция видна в главном окне. Обычно я включаю две птички на первом окне - настройка интерфейса: Это включить иконку в tray в панели задач. И минимизировать **Firestarter** в панель задач при закрытии его окна:↓ {{:server-2-31-firestarter12.png|}} Так же в настройка брандмауэра-> Редактирование политик, можно включить полезную опцию:- применять изменения правил сразу:↓ {{:server-2-32-firestarter6.png|}} В этом окне можно подправить все настройки связанные с сетью.Включить NAT. Включить DHCP сервер:↓ {{:server-2-33-firestarter3.png|}} Остальные настройки можно посмотреть в помощи для этого пакета. Обычно я их оставляю по умолчанию!! Вот таким образом этот пакет под названием Firestarter или брандмауэр или межсетевой экран настраивать правила для iptables. Посмотреть созданные правила, применив в терминале (или консоле) следующую команду: Код: iptables -L :!: Да еще! Не бойтесь, если вы вышли из Х-сов (графической оболочки, Гнома) IPTABLES продолжает работать!!! Пока все! если что вспомню, буду добавлять. ===== Установка на нашем сервере форума SMF 1.1.4 и его русификация. ===== Чтобы установить форум SMF 1.1.4 его надо скачать. Скачиваем его с официального сайта. [[http://www.simplemachines.org/download/index.php?thanks;filename=smf_1-1-4_install.tar.bz2]] Теперь файл русификации: Запустим MC в терминале суперпользователя (просто наберем команду** mc** и нажмее Enter) Найдем в левом окне МС загруженный файл smf_1-1-4_install.tar.bz2, наведем на него курсор и нажмем Enter. МС откроет архив и мы увидим его содержимое. Нажимая на клавишу Ins выделим все папки и файлы. Затем справа откроем в окне МС папку /var/www. Опять с помощью клавиши Tab перейдем на левое окно и нажав клавишу F5 скопируем все файлы с левого окна на правое, для тренировке можно скопировать файлы в папку forum, которую в мс можносоздать в правом окне нажав клавишу F7. {{:server-2-34-forum1.png|}} Если мы скопировали в папку forum, то и открывать будем ее в браузере http://localhost/forum/ Если вы хотите чтобы при наборе вашего ip адреса или доменного адреса открывался ваш форум, то копируйте все сразу в корень: ''/var/www''. Далее точно также поступаем с файлом русификации, открываем в одном окне MC и копируем открывшуюся папку Themes в туже папку находящуюся в моем примере в /var/www/forum. Скачать для кодировки UTF8 можно здесь: [[http://www.simplemachines.org/download/index.php?thanks;filename=smf_1-1-4_russian-utf8.zip]] Файл для русификации в формате UTF8 называется: smf_1-1-4_russian-utf8.tar.bz2 Далее определяем права на папки и файлы форума принадлежащими группе www-data. Код: chown -R www-data:www-data /var/www/forum Можно открыть права только на необходимые папки и файлы: Это следующие папки и файлы: * attachments папка права 777 * avatarsпапка права 777 * Packages папка права 777 * Packages/installed.list файл права 666 * Smileys папка права 777 * Themes папка права 777 * agreement.txt файл права 666 * Settings.php файл права 666 * Settings_bak.php файл права 666 Я делаю это так (пару примеров):-нажав комбинацию клавиш Ctrl+x+c присваиваем файлу ''installed.list'' права **666** {{:server-2-35-mc1.png|}} Нажав комбинацию клавиш Ctrl+x+c присваеваем папке Packages права 777 {{:server-2-36-mc2.png|}} Теперь используя phpmyadmin создадим пустую базу данных под названием smf Запускаем phpmyadmin:↓ {{:server-2-37-phpmyadmin.png|}} :!: Как видите чтобы попасть в phpmyadmin, я набрал пароль root-a для MySQL. Далее создаем базу данных в кодировке UTF8: ↓ {{:server-2-38-phpmyadmin-smf.png|}} Вписываем название smf , сравнение utf8_genersl_ ci , нажимаем кнопку "Создать" Теперь запускаем установку форума [[http://localhost/forum]] (в моем примере): ↓ {{:server-2-39-smf11.png|}} Здесь главное не забыть поставить птичку использовать кодировку utf8 по умолчанию.. Написать название форума, реальный адрес или доменное имя, имя базы данных, в нашем случае smf. Т.к. мы, не определяли конкретного пользователя для данной базы данных, то пишем главного пользователя root и его пароль для баз, который мы определили когда ставили сервер MySQL. Нажимаем далее и попадаем на страницу в которой надо ввести имя Администратора форума его пароль и email а так же для безопасности еще раз пароль root-a для MySQL: ↓ {{:server-2-40-smf8.png|}} Если все правильно то нас пропустят к последнему окну, где попросят поставить птичку возле слов убрать файл install.php и нажать на слово форум: {{:server-2-41-smf9.png|}} Где мы и увидим наш форум: {{:server-2-43-smf10.png|}} Если что то не так, то откатится назад не долго, заходим в phpmyadmin, удаляем базу smf: {{:server-2-42-delete_smf.png|}} Затем с помощью MC удаляем папку форум, и начинаем все сначала, у меня на это уходит около 3-х минут!!! Реально если у вас есть статический IP и доменное имя, то надо работать с ними. И надо помнить, что главная папка которая будет открываться по адресу в браузере: [[http://localhost это]] это корень /var/www. А если я положил свой форум в папку forum, то я его открою по адресу: [[http://localhost/forum]]. Пока все! ===== Как активировать пользователя ROOT ===== По умолчанию после установки системы пользователь root как бы отсутствует, чтобы активировать его надо сменить ему пароль, после чего он появиться в системе. Сделать это можно через меню Пунк Система->Администрирование->Пользователи и группы: См. картинки: {{:server-2-43-root.png|}} Выбираем пользователя ROOT, Нажимаем на кнопку свойства, и вписываем дважды придуманный ему пароль: {{:server-2-44-root1.png|}} В этом окне на второй вкладки 'Привилегии пользователя', ставим птички- разрешить. {{:server-2-45-root3.png|}} В последних версиях Ubuntu, немного изменилось окно входа, чтобы выполнить действия в данном окне, надо его разблокировать и авторизироваться. Смотри рисунки ниже: {{:server-2-45-root.png|}} {{:server-2-46-root.png|}} По моему, здесь все понятно! ===== Настройка модема ===== При настройке модема, надо понять следующее. Модем получает динамический IP адрес от провайдера. Этот IP адрес вам надо перенаправить (пробросить) на ваш сервер. Для этого надо включить в модеме функцию мапирования, чтобы динамический (или статический адрес, если вы купили эту услугу) переадресовывался на IP адрес вашего сервера (у меня это 192.168.1.100) Далее, можно , через сервис сервера DynDNS сделать себе бесплатное доменное имя, или купить доменное имя у провайдера. Или можно, просто сказать своим друзьям свой IP адрес, и они набрав его в браузере они попадут на ваш сервер. ===== Управление сервером ===== Для управления сервером, в том числе и удаленно можно использовать пакет WEBMIN. Последнюю версии для Ubuntu, можно скачать здесь. [[http://www.webmin.com/download.html]] Скачиваем пакет **webmin_1.400_all.deb** Устанавливаем его обычным способом, затем набираем в браузере например для localhost [[https://localhost:10000]] Заходим под root, меняем язык на русский и не спеша изучаем и привыкаем к нему! ===== Пароль root-а для MySQL ===== :!: Если вы забыли пароль root-а для захода на свой MySQL-сервер, то надо просто переконфигурировать сервер MySQL. Набираем в консоли: sudo dpkg-reconfigure mysql-server-5.0 Жмем Enter и в появляющихся окошках вводим новый пароль и его подтверждение. --- //[[ubuntu@liski.su|Victor53p]] 2009/01/21 10:48//