Видеоурок 1

Заходим веб-браузер Mozilla https://192.168.0.1:8080

Центр управления системой >> Пользователи >> Новая учётная запись: >> заполняем окно | vova | >>Создать>>

Мы создали первого пользователя, но для того чтобы от его имени удаленно администрировать СЕРВЕР командной строкой ему надо разрешить временно получать права суперпользователя root , для этого заходим

Центр управления системой >> Группы >> Выделяем группу wheel >> Новый пользователь >> появляется vova>> Добавить

По ssh заходим

[pavel@host-15]$ ssh -l vova 192.168.0.1

Сервер отвечает выводом:

The authenticity of host '192.168.0.1  (192.168.0.1)' can't be established.
RSA key fingerprint is  ec:3c:30:2f:f5:94:6a:c8:71:49:14:29:f4:f2:3a:df.
Are you sure you  want to continue connecting (yes/no)?

Соглашаемся и говорим yes, сервер просит ввести пароль, вводим и получаем приглашение работать от имени пользователя vova на сервере

[vova@server ~]$

доступ с правами суперпользователя root через su -l (некоторые делают просто su - , без буковки "l", но когда не знаешь с какой системы заходишь, лучше 'su -l'). Это очень ВАЖНО.

[vova@server ~]$  su -l

Если на нашей рабочей станции и сервере имя пользователя совпадает, т. е vova там и там, то заходить можно еще короче:

[vova@host-15]$ ssh 192.168.0.1

Таким образом могу удаленно администрировать сервер двумя способами: браузером через адрес https://192.168.0.1:8080 А главное по SSH, пусть даже при помощи Putty.

Видеоурок 2

Шаг № 1 : Создам ключ.

На своей рабочей станции, с любой системой ALT, от имени простого пользователя под именем "vova" (Мы помним, что на сервере мы создали также пользователя "vova". В этом примере специально работаю с одним и тем же именем, для упрощения команд. В противном случае вам надо пред каждым IP адресом 192.168.0.1 добавлять имя другого пользователя pavel-at-192-dot-168 .0.1 и далее по тексту) открываем виртуальную консоль, (для того чтобы пользоваться всеми благами графических редакторов, это миф, что в командной строке буковки вручную набивают) копируем и вставляем команду (команда это текст после знака $, а именно одним словом: ssh-keygen -tdsa -b 1024

[vova@host-15]$ssh-keygen -tdsa -b 1024

выводит текст и останавливается, жмем ввод

всего три раза

Шаг №2: Копируем ключ с клиента на сервер,

для чего даем команду одной строкой

[vova@host-15]$scp ~/.ssh/id_dsa.pub 192.168.0.1:/home/vova

спросит пароль (тот который дали vova на сервере)

Шаг №3: перейти не сервер

[vova@host-15]$ ssh 192.168.0.1

спросит пароль (тот который дали vova на сервере) и выводит приглашение работать от имени vova на сервере

[vova@server ~]$

и командой записать ключ

[vova@server ~]$ cat id_dsa.pub>>~/.ssh/authorized_keys

(если не записывает, то на сервере нет каталога /.ssh , тогда можно создать на сервере ключ, опять же командой ssh-keygen -tdsa -b 1024. Каталог будет создан.

Выйти с сервера командой

[vova@server ~]$exit

Вот и все. Шаги закончились. Можем тестировать. Теперь, если мы будем по ssh заходить на сервер от имени этого пользователя, именно с этой рабочей станции, то он нас не будет спрашивать пароль, а сразу впустит.

Пример: Вводим

[vova@host ~]$ ssh 192.168.0.1

Сразу выводит приглашение работать от имени vova уже на сервере:

Last  login: Mon Nov  2 18:11:23 2009 from 192.168.0.1
[vova@server ~]$

пароль не спросит, это нормально и безопасно.

Шаг №4: Копирование файлов

Копирование файла и целого каталога осуществляется одной командой: команда - откуда - куда

[vova@host-15]$scp file vova@192.168.0.1:/home/vova

Файл file будет скопирован с текущего каталога нашей рабочей машины в домашний каталог пользователя vova на сервере.

[vova@host-15]$scp -r 77 vova@192.168.0.1:/home/vova

Весь каталог 77 будет скопирован с нашей рабочей машины в домашний каталог пользователя vova на сервере.

Видеоурок 3

Для того чтобы установить программу надо указать нашему серверу откуда он должен скачать. Для этого есть Хранилище (Репозиторий), то есть место для хранения ПО, из которого программные пакеты могут быть получены и установлены на компьютер.

Если доступ в интернет есть, лучше это делать с официального сайта.

Шаг № 1: Заходим удаленно на наш серврер по ssh

[pavel@host-15]$ ssh -l vova 192.168.0.1

сервер просит ввести пароль, вводим и получаем приглашение работать от имени пользователя vova на сервере

[vova@server ~]$

доступ с правами суперпользоватля root через su -l (некоторые делают просто su - , без буковки "l", но когда не знаешь с какой системы заходишь, лучше 'su -l'). Это очень ВАЖНО и обережет вас от многих проблем.

[vova@server ~]$  su -l

получаем приглашение в виде решетки # а не $ как было раньше

[root@server ~]#

Объявляем Хранилищем репозиторий свободного программного обеспечения Сизиф ALT Linux

В file /etc/apt/sources.list.d/alt.list убираем знак # комментарий в двух строчках

rpm [p5] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch i586 classic
rpm [p5] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch noarch classic

ВАЖНО: Это два каталога одного Хранилища. Много ошибок происходят когда подключают разные Хранилища одновременно, поэтому, если вы еще где-то что-то раскомментировали или записали, вы должны знать точно, что вы делаете. В противном случае лучше больше ничего не трогать.

Шаг № 2: Синхронизируем Хранилище.

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

[root@server ~]#apt-get update

Пояснение: update используется для повторной синхронизации файлов описаний пакетов с их источником. Описания доступных пакетов будут получены из источников, указанных в /etc/apt/sources.list

Шаг № 3: Для теста установим полезную программку для проверки портов под названием nmap, из нашего нового Хранилища

[root@server ~]#apt-get install nmap

сервер выводит

Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
 nmap
0 upgraded, 1 newly installed, 0 removed and 27 not upgraded.
Need to get 0B/1194kB of archives.
After unpacking 5775kB of additional disk space will be used.
Get:1 cdrom://ALT Linux 5.0.0 Ark Server  (none) main build 2009-10-26 ALTLinux/main nmap 20020501:5.00-alt2 [1194kB]
Fetched 1194kB in 0s (5376kB/s)
Committing changes...
Preparing... ###################################################### [100%]
1: nmap      ###################################################### [100%]
Running /usr/lib/rpm/posttrans-filetriggers
Done.
[root@dhcppc0 archives]#

Все прошло удачно. Обычно используют всего 4 команды:

  • apt-get install <package№1> <package№2>- устанавливает один или более пакетов отмеченных к установке. Пакеты будут получены и установлены.

  • apt-cache search <шаблон>- выполняет полный поиск текста по всем доступным файлам пакетов по заданному шаблону.

  • apt-get remove <package>- удалить пакет, установленный в систему с сохранением файлов конфигурации

  • rpm -qa | grep <шаблон> - выводит список установленных пакетов по заданному шаблон

Видеоурок 4

Шаг № 1:

В файле default.conf найдите и поправьте параметр RewriteCond %{HTTPS} != on на off.

Шаг № 2:

В /etc/httpd2/conf/sites-available/default.conf находим строку:

DocumentRoot "/usr/share/doc/indexhtml/ "

заменяем или комментируем, т.е. ставим перед ней знак # и пишем свою:

DocumentRoot "/var/www/html/"

или другую, какую вам надо. Размещаете туда свой сайт. В этом же файле находите строку:

<Directory "/usr/share/doc/indexhtml/">

заменяете

<Directory "/var/www/html/">

Шаг № 3 (не обязателен)

Для того чтобы не терять возможность читать документацию вставляем в самый конец

Alias /doc "/usr/share/doc/indexhtml/"
<Directory      "/usr/share/doc/indexhtml/">
Include         conf/extra-available/Directory_html_default.conf
</Directory>

Шаг № 4

В /etc/httpd2/conf/extra-available/Directory_html_default.conf дописываете в строку

Options Includes FollowSymLinks MultiViews

слово Indexes и получаете

Options Indexes Includes FollowSymLinks MultiViews

Шаг № 5

перегружаем apache2

[root@server ~]#service httpd2 restart

Шаг № 6

заходим по адресуhttp://192.168.0.1/ и видим тестовую страницу It Works или новую, которую разместили сами в каталог /var/www/html/ заходим по адресу http://192.168.0.1/doc и видим документацию.

Видеоурок 5

Шаг № 1: Проверяем входной пароль для суперпользователя MySQL-server и изменяем на новый

Изначально у MySQL-server пароль рута

[root@school_server ~]# mysql -u root -p
Enter password: Вводим пароль рута
mysql>

заменяем пароль на новый, т.е. входное имя в MySQL-server остается root, но пароль теперь будет 123456

mysql> SET  PASSWORD  =  PASSWORD('123456');

проверяем: выходим

mysql> quit
Bye
[root@school_server ~]#

входим

[root@school_server ~]# mysql -u root -p
Enter password: Вводим 123456
mysql>

Пароль суперпользователя MySQL-server изменили.

Шаг № 2: Создаем пользователя

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, CREATE,DROP ON *.* TO vova_user@localhost IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.00 sec)

mysql>

выходим

mysql> quit

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

[root@school_server ~]# mysql -u vova_user -p
Enter password: Вводим 1234
mysql>

Шаг № 3: Создаем базу данных

mysql> create database myjoomla;
Query OK, 1 row affected (0.02 sec)

проверяем командой

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| moodle             |
| myjoomla           |
| mysql              |
| vova_joomla        |
| vova_phpBB         |
| wikidb             |
+--------------------+
7 rows in set (0.00 sec)

mysql>

Сами базы MySQL хранит в /var/lib/mysql/db/, здесь также можно посмотреть какие базы созданы. База данных myjoomla создана и ей может управлять пользователь MySQL-server'а vova_user выходим

mysql> quit

Создавать базы данных MySQL-server для скриптов типа joomla и phpBB лучше от имени простого пользователя,тогда будет меньше проблем с безопасностью, а главное проще будет переносить сайты на другое железо. Цитата: Такой пользователь сможет использовать все основные SQL-команды для данных в таблицах, а так же создавать и удалять базы данных. Однако он не сможет выключать, перезапускать демон MySQL, смотреть на список процессов, не будет иметь доступ к файлам сервера, а так же сможет подключаться к базе данных только с localhost'а и указывая свой пароль Дополнение: Выгрузить базу MySQL можно командой:

[root@school_server ~]# mysqldump -u vova_user -p myjoomla > myjoomla11.sql

ПРИМЕЧАНИЕ: Вы должны убедиться, что база данных не изменяется в это время, иначе Вы получите противоречивую копию. Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую:

[root@school_server ~]# mysql -u vova_user -p
mysql> drop database if exists myjoomla;
mysql> create database myjoomla;
mysql> quit

а затем в неё загрузить данные:

[root@school_server ~]# mysql -u root -p myjoomla < myjoomla11.sql

Видеоурок 6

Веб-сервер имеет возможность выставлять домашние каталоги пользователей. Это может заинтересовать школы, Так каждый класс и даже каждый ученик, может размещать свои сайты и веб-страницы. Управление таким сайтом осуществляется по личному логину и паролю пользователя и не нужны права администратора. Наряду с общим сайтом, под одним и тем же IP -адресом или доменом появляются еще сайты, количество которых ограничивается только здравым смыслом. В apache все изначально настроено и реализовано через каталог public_html. Если рядовой пользователь своими правами в домашней директории создаст каталог public_html, то он автоматически становиться видимым для всеобщего обозрения. Для этого достаточно набрать адрес сервера, с именем пользователя, используя знак "~" . Например:

Шаг № 1

Создаем пользователя

Заходим веб-браузер Mozilla https://192.168.0.1:8080

Центр управления системой >> Пользователи >> Новая учётная запись: >> заполняем окно | pavel | >>Создать>>

Шаг №2

включаем пользователя в группу apache2

Переходим в директорию /home затем

[vova@server ~]# chown pavel.apache2 pavel

Шаг №3

Пользователь pavel в своей домашней директории и создает там каталог public_html, куда размещает свою страничку и целый веб-сайт. Все.

Обращаю внимание, что в школьном сервере все пользователи включены в один домен и могут видеть домашние каталоги и каталоги public_html других пользователей. Вносить изменения не могут, а видеть могут.

При организации такого доступа на веб-сайты и выдачи прав рядовым пользователям, администратор сервера должен четко понимать это и принимать необходимые решения по разграничению прав. Для этого можно использовать учетные записи не LDAP, а локальных пользователей. Тогда доступа к соседним каталогам не будет.

Шаг №4

Создаем локального пользователя

[vova@server ~]# adduser class10a
[vova@server ~]# passwd class10a

Шаг №5

включаем пользователя в группу apache и даем право доступа. Переходим в директорию /home затем

[vova@server ~]# chown class10a.apache2 class10a
[vova@server ~]# chmod g+rx class10a

Если трудна командная строка, то можно подгрузить

[vova@server ~]#apt-get install alterator-users

и после перезагрузки сервера в Центре управления системой появится раздел Локальные пользователи.

Видеоурок 7

Шаг №1: Назначаем пароль и создаем базу в mysqld

Изначально пароль у мускула рута, поэтому входим

mysql -u root -p

вводим пароль рута

получаем приглашение

mysql>

создаем новую базу под именем, допустим vova_joomla

mysql> create database vova_joomla;
mysql> quit

Шаг №2: Устанавливаем Joomla

скачиваем из инета скрипт Joomla, у меня он получился в таком виде Joomla_1.5.14-Stable-Full_Package-Russian.zip

размещаем архив в каталоге /var/www/html/joomla и распаковываем его командой

unzip Joomla_1.5.14-Stable-Full_Package-Russian.zip

удаляем из каталога архив

устанавливаем права

chown -R apache2:apache2 /var/www/html/joomla
chmod -R 660 /var/www/html/joomla
chmod -R u+X /var/www/html/joomla

Шаг №3: Запускаем скрипт Joomla

Заходим по адресу http://192.168.0.1/joomla

отвечаем на вопросы и заполняем по шагам уже этого скрипта

Шаг 4: База данных

заполняем

Название хоста
localhost
Имя  пользователя
root
Пароль:  пароль рута
Имя базы данных
vova_joomla

Шаг 5

Удаляем каталог /var/www/html/joomla/installation Входим администратором или просто на наш новый сайт.

Видеоурок 8

Шаг №1: Назначаем пароль и создаем базу в mysqld

Изначально пароль у мускула рута, поэтому входим

mysql -u root -p

вводим пароль рута получаем приглашение

mysql>

создаем новую базу под именем, допустим vova_phpBB

mysql> create database vova_phpBB;
mysql> quit

Шаг №2: Устанавливаем phpBB

скачиваем из инета скрипт phpBB, у меня он получился в таком виде phpBB-3.0.7-PL1-ru.zip размещаем архив в каталоге /var/www/html и распаковываем его командой

unzip phpBB-3.0.7-PL1-ru.zip

удаляем архив устанавливаем права

chown -R apache2:apache2 /var/www/html/phpBB3
chmod -R 660 /var/www/html/phpBB3
chmod -R u+X /var/www/html/phpBB3

Шаг №3: Запускаем скрипт phpBB

Заходим по адресу http://192.168.0.1/phpBB3

отвечаем на вопросы и заполняем по шагам уже этого скрипта

Выходим в графу Установка и выполняем по пунктам уже самого скрипта

Имя  сервера БД или DNS     localhost
Имя базы данных             vova_phpBB
Имя пользователя            root
Пароль к БД                 пароль рута

не забываем удалить /var/www/html/phpBB3/install

Входим администратором или просто на наш новый форум.

Видеоурок 9

Шаг №1

Останавливаем работу сайта

[root@server ~]#service httpd2 stop

Шаг №2

Создаем архивы ( на примере Joomla)

заходим в каталог /var/www/html/

[root@server ~]#tar -cvf - joomla | gzip -c > joomla1.tar.gz

Создаем архив базы данных. Выгрузить базу MySQL можно командой:

[root@server ~]# mysqldump -u root -p vova_joomla > joomla1.sql

спросит пароль рута или новый, если поменяли

Шаг №3

Запускаем работу сайта

[root@server ~]#service httpd2 stаrt

Копируем в надежное место joomla1.tar.gz, joomla1.sql

Восстановление

==== Шаг №1 ==== Восстанавливаем базу данных

На новом сервере лучше предварительно выполнить урок № 7 и проверить работу скрипта.

Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую:

[root@server ~]#mysql -u root -p

спросит пароль рута

mysql> drop database if exists vova_joomla;
mysql> create database vova_joomla;
mysql> quit

а затем в неё загрузить данные:

[root@server ~]#mysql -u root -p vova_joomla < joomla1.sql

спросит пароль рута

Шаг №2

Восстанавливаем каталог Joomla размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой

[root@server ~]#tar -zxvf joomla1.tar.gz

удаляем из каталога архив проверяем права, если что подправляем

[root@server ~]#chown -R apache2:apache2 /var/www/html/joomla
[root@server ~]#chmod -R 660 /var/www/html/joomla
[root@server ~]#chmod -R u+X /var/www/html/joomla

в нашем примере этого делать не пришлось

Проверяем работу сайта. Сайт восстановлен.

Видеоурок 10

Выполняем инструкцию: Веб-сервер на школьном сервере

Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами.

Например, DNSы salomatin.ru и ivaniov.ru посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы.

Шаг 1: Регистрируем домены на один IP адрес

Вообще то надо регистрировать где-нибудь в nic.ru, но мы для тестирования, чтобы не привлекать DNSы, создадим временные домены host1; host2; host3 на своем рабочем настольном компьютере допишем в файл (как это делать в виндос не знаю) от рута:

[vova@server ~]#cat >>/etc/hosts
192.168.0.1   host1
192.168.0.1   host2
192.168.0.1   host3
сохранить (ctrl+d)

заходим в директорию /etc/chroot.d и исполняем

[vova@server ~]#./resolv.all

тестируем со своего рабочего настольного компьютера от имени простого пользователя

ping host1
ping host2
ping host3

должны попадать на IP школьного сервера

Шаг 2: Разрешаем загружать виртуальные сайты

В file /etc/httpd2/conf/sites-start.d/000-default.conf

ports_all=yes
default=yes
vhosts=no

редактируем последнюю строку

vhosts=yes

Для применения изменений запускаем

# a2chkconfig

Шаг 3: Прописываем виртуальные хосты

в файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем

<VirtualHost *:80>
#ServerAdmin webmaster-at-dummy-host-dot-example-dot-com
DocumentRoot /var/www/vhosts/host1
ServerName host1
#ServerAlias http://www.host1
ErrorLog /var/log/httpd2/host1-error_log
CustomLog /var/log/httpd2/host1-access_log common
</VirtualHost>
#
<VirtualHost *:80>
#ServerAdmin webmaster-at-dummy-host-dot-example-dot-com
DocumentRoot /var/www/vhosts/host2
ServerName host2
#ServerAlias http://www.host2
ErrorLog /var/log/httpd2/host2-error_log
CustomLog /var/log/httpd2/host2-access_log common
</VirtualHost>
#
<VirtualHost *:80>
#ServerAdmin webmaster-at-dummy-host-dot-example-dot-com
DocumentRoot /var/www/vhosts/host3
ServerName host3
#ServerAlias http://www.host3
ErrorLog /var/log/httpd2/host3-error_log
CustomLog /var/log/httpd2/host3-access_log common
</VirtualHost>

Шаг 4: Создаем домашние каталоги виртуальных хостов

в /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. Заходим со своего рабочего настольного компьютера

и в каждом видим свою тестовую страницу.

Видеоурок 11

Цитата: "существует довольно удобная утилита a2chkconfig, которая позволяет автоматизировать процесс загрузки модулей, необходимых для приложения. Для этого в /etc/httpd2/conf/mods-start.d/ помещаете файл с произвольным названием и расширением .conf, любые другие файлы расширения будут игнорированы. Формат файла простой

<имя  модуля>=yes # разрешение загрузки модуля (добавляет ссылку на модуль в  /etc/httpd2/conf/mods-enabled/)
<имя модуля>=no  # запрещение  загрузки модуля (удаляет ссылку на модуль в  /etc/httpd2/conf/mods-enabled/)

Для применения изменений запускаете

#  a2chkconfig"

Включаем ссылки загрузку модулей:

#cat >>/etc/httpd2/conf/mods-start.d/130-info.conf
info=yes

cat >>/etc/httpd2/conf/mods-start.d/131-status.conf
status=yes

Включаем ссылку загрузки сайта:

#cat >>/etc/httpd2/conf/extra-start.d/020-httpd-info.conf
httpd-info=yes

Создаем сами ссылки

# a2chkconfig

В файле /etc/httpd2/conf/extra-available/httpd-info.conf разрешаем доступ по адресу c нашей локальной сети строка 24 и строка 47

Allow from .example.com  192.168.0.0/24

Перегружаем apache2

# service httpd2 restart

Смотрим полезную информацию о нашем Apache2 по адресам:

Видеоурок 12

Мы установили веб-сервер и хотим знать:

Кто и с каких адресов обращался к нашему серверу и что скачивал.

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

Шаг №1: Устанавливаем

[root@server ~]# apt-get install webalizer

В файле /etc/webalizer/apache.conf подправляем строку 29

LogFile        /var/log/httpd2/access_log

Шаг №2

Даем команду webalizer -у проанализировать логи

[root@server ~]# webalizer -c /etc/webalizer/apache.conf

смотрим графический результат анализа http://192.168.0.1/webalizer/

Основное достоинство - простота установки.


VirtualBox

Многие пробовали запускать на своем настольном компьютере VirtualBox, а там уже устанавливать гостевую ОС.

В Альт Линукс 5.0.1 Школьный Сервер это тоже можно делать. Точно также. Разница лишь в том, что каждому нажатию мышкой в графической среде Desktop'а или Windows есть заменяющая команда. А для установки самой гостевой системы включается дополнительный дисплей.

Почему именно VirtualBox, если есть KVM и OpenVZ.

Судя по форуму он уже самый популярный. А также в VB не надо предварительно создавать профили и переносить их на сервер, а можно ставить удаленно гостевую ОС с ноля. VB позволяет это делать даже виндос компьютера, при аварии видеть на экранчике вывод ошибки, заходить рутом напрямую.

VirtualBox — активно развивающийся проект. Работать в нем все удобнее. В интернете появляются неплохие переводы инструкций работы с VirtualBox, такие как http://mirspo.narod.ru/vbox/

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

В данном примере мы рассмотрим как запустить на (хостовой) операционной системе Альт Линукс 5.0.1 Школьный Сервер другие ('гостевые') операционные системы в изолированном и безопасном окружении на ('виртуальной машине') VirtualBox.

Создадим виртуальные машины на школьном сервере через сетевое соединение SSH, без непосредственного контакта с сервером. Мы будем устанавливать VirtualBox, взятый c сайта http://www.virtualbox.org/ и используя VRDP соединение установим гостевую ОС.

Нам необходимы:

Хост, назовём его «Реальный сервер»: Системный блок с установленным на нем Альт Линукс 5.0.1 Школьный Сервер;

SSH соединение с удаленного рабочего компьютера (удаленный) на реальный сервер;

Файл VirtualBox-3.1.6-59338-Linux_x86.run с официального сайта.

Файл ISO на реальном сервере с программой установки гостевой ОС (мы будем использовать в данном примере ALT Linux 4.0 Server);

Шаг № 1: Обновляем ядро.

Для этого запускаем специальный скрипт.

[root@server ~]#update-kernel -t std-def

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

[root@server ~]#apt-get install kernel-headers-modules-std-def

Подгружаем:

[root@server ~]#apt-get install make

Шаг № 2: Удаляем установленные версии VirtualBox

[root@server ~]#apt-get remove virtualbox-*

система готова к установке VirtualBox c сайтаhttp://www.virtualbox.org/

Шаг № 3:Скачиваем любым способом VirtualBox в отдельный каталог

http://download.virtualbox.org/virtualbox/3.1.6/VirtualBox-3.1.6-59338-Linux_x86.run заходим простым пользователем в этот каталог и делаем скрипт исполняемым

[vova@server ~]$chmod +x VirtualBox-3.1.6-59338-Linux_x86.run

рутом запускаем скрипт

[root@server ~]#./VirtualBox-3.1.6-59338-Linux_x86.run

машина установлена

Задаем параметры виртуального сервера (собираем железо)

На реальном сервере создаем виртуальную машину, назовем ее virt1 ВНИМАНИЕ: Команды изменяются. Проверены для версии 3.1.6. Для других версий могут не подходить. Обращайтесь к справке своей версии. От имени простого пользователя:

[vova@server ~]$VBoxManage createvm --name virt1 --ostype Linux26 --register

Установим необходимые настройки ВМ, требующиеся устанавливаемой гостевой ОС.

[vova@server ~]$VBoxManage modifyvm virt1 --memory 512 --vram 11 --acpi on

Создаем виртуальный контроллер PIIX4 для ВМ и зарегистрируем его в VirtualBox:

[vova@server ~]$VBoxManage storagectl virt1 --add ide --controller PIIX4 --name PIIX4

Создаем виртуальный жесткий диск для ВМ (в данном случае, размером 20GB) и зарегистрируем его в VirtualBox:

[vova@server ~]$VBoxManage createhd --filename aaaa.vdi --size 20000 --remember

Установим созданный файл VDI первым виртуальным жестким диском:

[vova@server ~]$VBoxManage storageattach virt1 --storagectl PIIX4 --port 0 --device 0 --type hdd --medium aaaa.vdi

Подключим ISO к виртуальной машине, с которого она будет загружаться:

[vova@server ~]$VBoxManage storageattach virt1 --storagectl PIIX4 --port 0 --device 1 --type dvddrive --medium /home/vova/iso/altlinux-4.0.1-server-i586-install-cd.iso

Подключаем виртуальную сетевую карту eth0. Включаем на реальном сервере «Адаптер 1» в режиме сетевой адаптер хоста (hostonly)

[vova@server ~]$VBoxManage modifyvm virt1 --nic1 hostonly

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

[vova@server ~]$VBoxManage modifyvm virt1 --hostonlyadapter1 vboxnet0

Подключаем виртуальную сетевую карту eth1. Включаем на реальном сервере «Адаптер 2» в режиме сетевой мост (bridged)

[vova@server ~]$VBoxManage modifyvm virt1 --nic2 bridged

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

[vova@server ~]$VBoxManage modifyvm virt1 --bridgeadapter2 eth0

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

Устанавливаем гостевую OC через встроенный сервер VRDP.

VirtualBox содержит встроенный сервер VirtualBox Remote Desktop Protocol (VRDP). Он позволяет вам увидеть графический вывод виртуальной машины и управлять ею удаленно, так если бы виртуальная машина находилась на самом удаленном компьютере. VRDP является обратно совместимым расширением Microsoft's Remote Desktop Protocol (RDP). Обычно с удаленной машины посылается обновление графического вывода клиенту, а события клавиатуры и мыши посылаются серверу. В результате вы можете использовать стандартных клиентов RDP для управления удаленными ВМ.

Запускаем виртуальную машину в режиме: поддержка с пользовательского интерфейса, т.е. протокол rdp включен: vrdp=on

VBoxHeadless --startvm virt1 --vrdp=on

Видим сообщение, что порт 3389 открыт. Консоль не закрываем, иначе виртуальная машина будет остановлена.

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

Можно использовать любой стандартный клиент RDP для подключения к удаленной виртуальной машине. Вы должны указать IP адрес вашей хост системы (не виртуальной машины!) - использующейся как сервер к которому подключаются, а также номер порта который использует RDP сервер. По умолчанию , сервер VRDP использует стандартный RDP порт TCP 3389 . Номер порта может быть изменен с помощью параметра --vrdpport в команде VBoxManage modifyvm. Изменяют порт если используют более одного VRDP сервера, так как он может быть уже занят.

В Windows XP : Пуск - Все программы - Стандартные - Связь - Подключение к удаленному рабочему столу

В других системах, вы можете использовать стандартную открытую программу rdesktop. Она содержится в большинстве дистрибутивах Linux, но VirtualBox также поставляется с модифицированным вариантом программы rdesktop для поддержки удаленного USB .Для rdesktop, используйте командную строку, так как указано ниже:

rdesktop -a 16 -N 1.2.3.4:3389

Замените "1.2.3.4" IP адресом хоста, и 3389 другим номером порта если необходимо. Параметр -a 16 указывается для использования глубины цвета в 16 бит на пиксель - который мы рекомендуем. (Для лучшей производительности, после установки гостевой операционной системы, вам нужно установить глубину цвета дисплея тем же самым значением). Параметр -N включает использование клавиши NumPad. Если вы работаете в среде KDE, то вы отдадите предпочтение krdc , KDE RDP клиенту. Команда будет выглядеть следующим образом:

krdc --window --high-quality rdp:/1.2.3.4:3389

Элемент "rdp:/" требуется для переключения krdc в режим использования RDP. В Альт Линукс 5.0.1 Школьный Мастер можно набрать в консоли команду

krdc [:3389]

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

И начинаем устанавливать гостевую ОС.

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

Саму гостевую ОС устанавливаем как обычно. Если возникают проблемы с курсором мышки, можем использовать клавиши Tab и пробела.

Самое главное правильно подключить сетевые карты.

В нашем примере eth0 либо получает адрес автоматически DHCP (в этом случае ей будет присвоен адрес 192.168.56.101), либо сами задаем любой из 192.168.56.0/24, шлюз тогда 192.168.56.1

Остальные сетевые карты настраиваем так, чтобы увидеть сервер в локальной сети.

Выключение, автозагрузка и некоторые полезные команды

Выключать виртуальную машину корректнее на самом сервере, как обычно. Заходим по SSH и рутом набираем команду halt. Либо через Центр управления системой. Команда:

VBoxHeadless --startvm virt1 --vrdp=on

включает виртуальный сервер vert1 в графическом режиме, что удобно при установки и настройке, но это лишние ресурсы. Команда:

VBoxHeadless --startvm virt1 --vrdp=off

включает виртуальный сервер vert1 без RDP. В этом случае, мы не видим дисплея, но можем управлять по SSH или через Центр управления системой. Однако, в этих обоих случаях, нельзя закрыть консоль на нашем настольном компьютере. Произойдёт прекращение работы удаленного виртуального сервера. Можно предложить запустить команду nohup, невосприимчивую к сигналам завершения, и чей вывод будет направлен не на терминал.

nohup VBoxHeadless --startvm virt1 --vrdp=off

В этом случае виртуальный сервер запускается автономно. Останавливается также по SSH или через Центр управления системой. Наряду с этим существуют интересные команды остановки виртуального сервера:

VBoxManage controlvm virt1 pause

временно останавливает виртуальную машину, без смены ее состояния работы. (Эта команда может эквивалентна выбору элемента "Пауза" в графическом меню "Машина")

VBoxManage controlvm virt1 reset

вызывает тот же эффект, что и нажатие кнопки "Сброс/Reset" в реальном компьютере: вызывается холодная перезагрузка виртуальной машины, что приводит к немедленной перезагрузке гостевой операционной системы.

VBoxManage controlvm virt1 poweroff

эквивалентно выключению питания в реальном компьютере. Так же не сохраняется состояние ВМ и ваши данные могут быть повреждены.

VBoxManage controlvm virt1 savestate

сохраняет текущее состояние ВМ на диск и останавливает работу машины. Может пригодится еще команда

VBoxManage controlvm virt1 setlinkstate<1-4>

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

VBoxManage list vms

отображает список всех виртуальных машин зарегистрированных в VirtualBox. По умолчанию показывается компактный список в две колонки: имя ВМ и UUID; если вы укажите параметр --long или -l , то будет показан детальный список настроек ВМ

АВТОЗАГРУЗКА

От имени рута для автозапуска можно делать вот так:

su -l -c "nohup VBoxHeadless --startvm virt1 --vrdp=off" vova

Заменив vova на имя вашего пользователя. Если занесем эту команду в /etc/rc.d/rc.local, (его изначально нет, необходимо создать самому), то виртуальный сервер будет сам запускаться при включении физического сервера. В командной строке это будет выглядеть так:

[root@server ~]# cat >>/etc/rc.d/rc.local

#!/bin/sh
su -l -c "nohup VBoxHeadless --startvm virt1 --vrdp=off" vova

[root@server ~]# chmod uga+x /etc/rc.d/rc.local

Архивирование, удаление, аварийное восстановление и перенос на другой хост

Останавливаем виртуальный сервер. Экспортируем

VBoxManage export virt1 --output virt1_arh.ovf

сохраняем в надежном месте. Импортируем

VBoxManage import virt1_arh.ovf

Удаляем

VBoxManage unregistervm virt1 --delete


SSH