====== 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//