Linux Сервер для дома (Ubuntu 7.10) часть вторая.

Часть вторая.

Готовим и ставим сервер.

Чтобы проще было в будущем проще работать попробуем доустановить ряд как мне кажется очень нужных программ.

А заодно и поучимся как это делать!

Как я уже говорил, у нас есть несколько возможностей для этого.

Воспользуемся программой (пакетом) Synaptic.

Запустим его из меню:

Запуск пакета Synaptic


А вот и он сам:

 

 

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

 

 

И здесь:


Далее, воспользуемся поиском, нажмем на значек с биноклем и надписью искать.

У нас выскочит вот такое окошечко:

Обычно поиск я делаю по "Названию" или более расширенный по "Описанию и названию".

Набираем в нем слово сервер, и среди появившегося списка находим название linux-server.

 

Нажимаем на стоящий слева квадратик, т. е. ставим там птичку, нажимаем применить, и видим следующее окно:

 

 

Прежде чем я вам дам команду нажать на кнопку "Применить", объясню что же мы делаем!

Мы просто с помощью пакета Synaptic устанавливаем в систему серверное ядро.

А т.к. Synaptic достаточно умный, он предложил установить все три необходимых для этого пакета:

linux-image-2.6.22-14-server

inux-image-server

linux-ubuntu-modules-2.6.22-14-server

Ниже привожу картинку из которой видно как это делать:


 


В центральном окошке можно увидеть какие пакеты будут установлены, какие у вас имеются, а какие вам надо будет докачать.

Т. .е. видно, что вам придется загрузить 21,7 MB дополнительной информации. Нажимаем "Применить" и закачиваем и устанавливаем п



Точно также устанавливаем еще два пакета: console-cyrillic и mc Первый нужен для русификации консолей,

а второй является файловым менеджером, который я постоянно использую для работы с файлами и архивами в консоле.


 

На экране видно, что я их ставлю повторно.

Что бы закончить с Synaptic, покажу вам окошко, где я с помощью Synaptic удаляю пакет console-cyrillic (как пример),

вдруг когда-то потребуется удалить какой- нибудь пакет.

Делаю я это так, найдя необходимый для удаление пакет, нажимаю на нем правой кнопкой мышки и выбираю нужный мне пункт.

Необходимо знать, что выбор пункта:- "Отметить для полного удаления" позволит удалить и все конфигурационные файлы этого пакета.



Есть как я уже отмечал и другой способ работы с пакетами - это с помощью Терминала суперпользователя.

Для этого включим его в нашем ГЛАВНОЕ МЕНЮ.

Находим пункт Система->Параметры->Главное меню

Запускаем его, находим раздел Системные и ставим птичку напротив Терминал суперпользователя.

Теперь он будет виден в главном меню. То же можно сделать по всем вашим разделам.

Здесь же можно добавлять и свои собственные пункты, разделы и т .д.

alert  Обычно я выношу значки терминалов на верхнюю панель Гнома.

Итак устанавливаем пакет программ для нашего сервера 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


Выглядеть это будет так:


Затем нажимаем Enter. После чего все эти пакеты будут закачены и установлены в вашу систему. Далее здесь же в терминале надо выполнить вот эти команды:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
a2enmod php5

И что бы на нашем сервере заработал пакет phpmyadmin, нужно сделать ссылку на папку где он лежит:

ln -s /usr/share/phpmyadmin/ /var/www

alert  Проделывая все это, вы должны закрыть все программы для работы с пакетами, как то Synaptic, Менеджер обновлений,

Источники приложений, aptitude, иначе система будет ругаться на блокировку!

Проверка.

Перезагружаем компьютер. В загрузочном меню выбираем первый пункт, т.е. загрузку сервера.

После входа в систему, проверим что у нас получилось!

Запускаем наш браузер под названием Mozilla Firefox и набираем в адресной строке следующую команду:

http://localhost/apache2-default Если мы видим вот такую картинку, значит наш сервер заработал!


alert  СРАЗУ НАДО ПОНЯТЬ ЧТО ВСЕ ВАШИ СТРАНИЦЫ ФАЙЛЫ ИТ. .Д., КОТОРЫЕ БУДУТ ВИДНЫ. ЧЕРЕЗ БРАУЗЕР НАХОДЯТСЯ В ПАПКЕ: /VAR/WWW

Набрав в браузере команду:

http://localhost/

или

http://127.0.0.1

или вместо 127.0.0.1 набрать ip адрес вашей сетевой карты, например у меня 192.168.1.100

http://192.168.1.100

мы попадаем в папку /var/www, где сервер Apache пытается найти файл index.html, index.php ит. д.

Как эту папку посмотреть? Я это делаю с помощью MC.

Захожу в терминал суперпользователя. набираю mc и в нем ищу папку /var/www

Вот как раз картинка с mc и c этой папкой:

 

а так, как там нет такого файла (index.html, index.php), в последних случаях мы увидим в браузере, то что видим в MC,

http://127.0.0.1

Теперь вам должно стать понятным следующее. Если вы создадите свою HTML страничку, назовете ее index.html и скопируете ее в папку: /var/www ,

то при следующей загрузке браузера с адресом http://localhost вы как раз ее и увидите!!!

P.S. для лучшего понимания поясняю, что если вы в бразере зайдете в папку apache2-default, то вы как раз и увидите дефолтную страницу

Apache (см. картинку выше),

А через МС зайдя в эту папку (apache2-default,) и наведя курсор на файл index.html и нажав в mc кнопку F3 вы увидите слово It works!

Проверка установки php
создаем файл:

Код:
sudo gedit /var/www/testphp.php

Вставляем следующую строку в новый файл

Сохраняем, запускаем: http://localhost/testphp.php Вызов через браузер phpmyadmin http://localhost/phpmyadmin

Настройка сети, сетевых карт и имени хоста.

Конфигурируем сеть:

Код:
# 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.0.100
 netmask 255.255.255.0
 network 192.168.0.0
 broadcast 192.168.0.255
 gateway 192.168.0.1

 

Перезапускаем сеть:

Код:
/etc/init.d/networking restart

Должны увидеть вот такую картинку:



Теперь редактируем еще один файл
Код:
gedit /etc/hosts # если вы не в Х, то; vi /etc/hosts

 

Этот файл должен выглядеть вот так:
127.0.0.1 localhost.localdomain localhost server1
192.168.0.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


Если вы находитесь в графической оболочке, то можно попытаться настроить это все вызвав через меню-

"Программы настройки сети":

Система->Администрирование->Сеть: Ниже можете посмотреть картинки с моими настройками:



Вторая сетевая карта:


Ну и обязательно, надо помнить об изветном пакете ifconfig (ifconfig -h- это чтобы посмотреть помощь)

Практически это и все по настройкам сети.

Установка и настройка сетевого экрана.

Что бы управлять сетевым экраном надо установить пакет firestarter.
Я покажу как это сделать из терминала, но можно с таким же успехом это сделать и из Synaptic.
Из терминала надо набрать команду:

Код:
apt-get install firestarter

запустить его можно из меню системы: Система->Администрирование->Firestarter Видим Wizard,

т. е. волшебника. который поможет вам настроить брандмауэр пошагово.

Первое окно при запуске- нажимаем Вперед.

Следующее окно Internet connection sharing setup, позволяет

Если вы хотите сделать возможным связь между двумя вашими сетевыми картами включите (Enable.....)

Ниже показан внешний вид главного окна Status.
Внизу открыто окно в котором в реальном времени показаны IP адреса хостов, которые работают с вашим сервером,
и с которыми работаете вы. здесь Здесь же можно заблокировать брандмауэр- Lock и остановить Stop и запустить потом.

Следующее Окно Ewents, т.е. Окно Событий. Окно показывает историю подключений заблокированных брандмауэром.
Таким образом брандмауэр записывает такие события.
Есть однако многие действия, Вы можете обратиться к позиции отказа соединения, а затем эти затрагивают,

как брандмауэр будет рассматривать аналогичные движения в будущем.

Firestarter подсвечивает события тремя цветами. Ниже описаны значения цветов:

* Черный
В связи очередной попыткой доступа со случайного порта, который был заблокирован брандмауэром.
Как правило, вам не надо беспокоиться о таких событиях.
* Красный
Одна из возможных попыток доступа, не государственная служба. Firestarter предлагает обратить вам особое внимание на эти записи.
Хотя надо заметить, что это не обязательно означает, кто-то пытается организовать вторжение. Решать об этом Вам.
* Серый
События классифицируются как безобидные. Этот класс состоит в основном из широковещательного трафика.



Следующее окно Входящих политик.

В окне можно настраивать контроль на входящий трафик из Интернета к локальной сети до брандмауэра.
По умолчанию Все запрещено. каждое разрешающее правило добавляет одну дырку. (грубо говоря).
Три части окна - сверху вниз:- разрешения для хоста, ниже для портов или служб и последнее проброс

- (forward) портов или служб.

В окне на картинке внизу установлены открытыми порты 80, 21-22 т.е. HTTP и FTP.



Следующее 2 окна показывают, как в предыдущем окне добавляются правила:
Добавляем правило которое открывает доступ из Интернет к 80 порту, т.е. к серверу Apache.


Добавляем правило которое открывает доступ из Интернет к 21-22 портам, т.е. к серверу FTP:.

Следующее окно- Окно Исходящих политик. Это окно для управления контролем исходящего трафика в Интернет.

И машины на которой установлен межсетевым экран, а так же для любого LAN клиента. По умолчанию внешняя политика является разрешительной.

Это значит, что и вы, и любой клиент, подключенных к локальной сети имеют возможность быть в сети Интернет, читать электронную почту и т.д. без ограничений.

В окне как раз можно вводить различные ограничения. По умолчанию включена возможность создать т. н. черный список:

Здесь окно имеет подразделение на три части. Если коротко в первой верхней части можно запретить конкретный адрес или хост в интернете,

например порносайт или несколько других.

Во второй части которая по центру запретить конкретный хост или ip адрес в локальной сети или несколько. И в нижней части запретить службу или порт.

См. окно ниже:


Нажав радиокнопку "Restrictive by default, whitelist traffic" включаем вторичное окна режима для контроля исходящего трафика.

Т. е. запрещаем для себя и локальной сети весь внешний трафик и создаем т.н. белый список. В верхнем окне можем разрешить

один адрес или хост в интернете.
В среднем окне разрешить выход для отдельной машины в локальной сети. И в нижнем окне разрешить работы отдельных портов или служб.

ниже помещена картинка с описанным окном:

Настройки самого брандмауэра -(Preferences). Опция видна в главном окне.

Обычно я включаю две птички на первом окне - настройка интерфейса:

Это включить иконку в tray в панели задач. И минимизировать firestarter в панель задач при закрытии его окна.

Так же в настройка брандмауэра-> Редактирование политик, можно включить полезную опцию:- применять изменения правил сразу.

В этом окне можно подправить все настройки связанные с сетью.Включить NAT. Включить DHCP сервер.

Остальные настройки можно посмотреть в помощи для этого пакета. Обычно я их оставляю по умолчанию!!

Вот таким образом этот пакет под названием 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.


Если мы скопировали в папку 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


 

Нажав комбинацию клавиш Ctrl+x+c присваеваем папке Packages права 777

 

 

Теперь используя phpmyadmin создадим пустую базу данныз под названием smf

Запускаем phpmyadmin

Как видите я набрал пароль root-a

далее создаем базу данных в кодировке UTF8

 

 

Вписав название smf , сравнение utf8_genersl_ ci , нажимаем кнопку "Создать"

Теперь запускаем установку форума http://localhost/forum (в моем примере)

Здесь главное не забыть поставить птичку использовать кодировку utf8 по умолчанию..

Написать название форума, реальный адрес или доменное имя, имя базы данных, в нашем случае smf.

Т.к. мы не определяли конкретного пользовател для данной базы данных, то пищем гдавного пользователя root и его пароль для баз,

который мы определили когда ставили сервер MySQL.

Нажимаем далее и попадаем на страницу в которой надо ввести имя Администратора форума его пароль и email,

а так же для безопасности еще раз пароль root-a.

Если все правильно то нас пропустят к последнему окну, где попросят поставить птичку возле слов убрать файл install.php и нажать на слово форум

Где мы и увидим наш форум:

 

Если что то не так то откатится не долго, заходим в phpmyadmin, удаляем базу smf:

Затем с помощью MC удалить папку форум и начать все сначала, у меня на это уходит 3 минуты!!!

Реально если у вас есть статический IP и доменное имя надо работать с ними.

И помнить, что главная папка которая будет открываться на команду http://localhost это корень /var/www .

Раз я положил свой форум в папку forum то я его открою по команде http://localhost/forum.
Пока все!

Как активировать пользователя ROOT

По умолчанию после установки системы пользователь root как бы отсутствует, чтобы активировать его надо сменить ему пароль,

после чего он появиться в системе.

Сделать это можно через меню Пунк Система->Администрирование->Пользователи и группы

См. картинки

 

По моему, здесь все понятно!

Настройка модема

При настройке модема, надо понять следующее. Модем получает динамический IP адрес от провайдера.

Вам его надо пробросить на ваш сервер. Т. е. включить в модеме функцию мапирования, чтобы динамический

(или статический адрес, если вы купили эту услугу) переадресовывался на IP адрес вашего сервера (у меня это 192.168.1.100)
Далее, можно , через сервис сервера DynDNS (http://www.dyndns.com/) сделать себе бесплатное доменное имя,

или купить доменное имя у провайдера.

Или просто сказать своим друзьям свой IP адрес, и они набрав его в браузере попадут на ваш сервер.

Управление сервером

Для управления сервером, в том числе и удаленно можно использовать пакет  WEBADMIN. Последнюю версии для Ubuntu? можно скачать здесь.

http://www.webmin.com/download.html

Скачиваем пакет  webmin_1.400_all.deb

Устанавливаем его обычным способом, затем набираемв браузере например для localhost https://localhost:10000

Заходим под root, меняем язык на русский и потихоньку изучаем и привыкаем к нему!

P.S Если вы забыли пароль root-а для захода на свой MySQL-сервер

Если вы забыли пароль root-а для своего MySQL-сервера, то надо просто переконфигурировать сервер MySQL.

Набираем в консоле:

sudo dpkg-reconfigure mysql-server-5.0

Жмем "Enter" и в появляющихся окошках вводим новый пароль  и его подтверждение.