Ярлыки

вторник, 19 июня 2012 г.

Настройка SAMBA в школьной сети

Пример smb.conf
[global]
workgroup = school24
server string = %h server (Samba)
log file = /var/log/samba/log.%m
max log size = 1000

usershare allow guests = yes
username map = /etc/samba/smbusers
security = share
use sendfile = no


[install]
        # также расшаривается по nfs
path = /home/schooladm/install
writeable = yes
        browseable = no
valid users = root, schooladm

[share]
        # также расшаривается по nfs
path = /home/schooladm/share
writeable = yes
browseable = no
guest ok = yes
create mask = 0777

[school_docs]
       # также расшаривается по nfs
path = /home/schooladm/school_docs
writeable = yes
browseable = no
guest ok = yes
create mask = 0777

[media]
       # также расшаривается по nfs
       # в этой папке еще существуют папки fotos, video и videoshare
       # папка videoshare транслируется на телевизор или по школьной сети
        path = /home/schooladm/media

writeable = yes
browseable = no
        valid users = admin, root, schooladm

В файле smbusers пишемъ:

root = administrator
nobody = guest smbguest pcguest
schooladm = schooladm
admin = admin
user = user

З.Ы.: Для того, чтобы в samba-папку, у которой прописаны valid users, можно было зайти из windows-машины, необходимо, чтобы на этой машине существовал пользователь, прописанный в valid users и в smbusers.



понедельник, 4 июня 2012 г.

Заметка про LVM


Давно разбираюсь с этой темой, да всё никак не сохраню тут основные моменты.
Тут, тут и тут можно почитать про LVM (собственно оттуда я и стянул инфу).
Создание томов LVM.
Сначала устанавливаем apt-get install lvm2
Полезно еще установить GUI утилиту дял управления LVM system-config-lvm
pvcreate /dev/sdb данная команда сделает из физического раздела физический LVM раздел
Далее надо создать группу томов:
 vgcreate group1 /dev/sdb, где group1 - название группы
Создание логических томов:
 lvcreate -n usr -L10G group1 и так далее для каждого раздела Linux
Посмотреть что натворили можно такими командами:
pvdisplay - информация по физическим томам
vgdisplay - информация по группе томов
lvdisplay - информация по логическим томам
разделы что мы создали появятся в папке /dev/[имя_vg]/, точнее там будут ссылки на файлы,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/group1-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/group1-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/group1-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -> /dev/mapper/group1-var
и т.д…

форматируем наши разделы в любимые файловые системы:
mkfs.ext2 -L tmp /dev/group1/tmp
mkfs.ext4 -L usr /dev/group1/usr
mkfs.ext4 -L var /dev/group1/var
mkfs.ext4 -L home /dev/group1/home

раздел подкачки:
lvcreate -n swap -L2G group1
mkswap -L swap /dev/group1/swap
swapon /dev/group1/swap

Создаём папку и подключая по очереди новообразовавшиеся тома, копируем в них нужное содержимое:
root@ws:~# mkdir /mnt/target
root@ws:~# mount /dev/group1/home /mnt/target
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):
root@ws:~# cp -a /home/* /mnt/target/
root@ws:~# umount /mnt/target/
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:
root@ws:~# mount /dev/group1/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
добавляем нужные строчки в /etc/fstab, например такие:
/dev/mapper/group1-home /home ext4 relatime 0 2
/dev/mapper/group1-tmp /tmp ext2 noatime 0 2
/dev/mapper/group1-swap none swap sw 0 0

Для добавления жесткого диска я пользовался GUI утилитой.

Сначала я форматировал диск, инициализировал его, добавил в группу томов.

В группе томов появилось неиспользуемое место. Тогда можно расширить один или несколько томов (увеличить размер).

Увеличение размера логического тома.

Сначала надо увеличить размер тома, потом увеличить размер файловой системы. ext3/ext4/reiserfs можно увеличивать не отмонтируя.

lvextend -L+4G /dev/volgroup00/test01 //увеличение логического тома на 4Гб

resize2fs /dev/volgroup00/ext //расширение Ext2/Ext3/Ext4

Удаление томов и групп

Логические тома перед удалением должны быть отмонтированы.
# vgreduce volgroup00 /dev/sdb1 //удаление физического тома из группы # lvremove /dev/volgroup00/test01 //удаление логического тома # vgremove volgroup00 //удаление группы томов # pvremove /dev/sdc1 //удаление физического тома



Установка стандартного набора LAMP

Давно уже искал способ быстро поднять LAMP из консоли и постоянно натыкался на огромный набор команд, которые не запомнишь, а записывать лень.
Вот способ быстро это сделать:
sudo tasksel install lamp-server
И усё!
Всё станет устанавливаться и настраиваться (спросит пароль mysql).
Остается только перезапустить apache и установить phpmyadmin (если надо).
Вот тут всё разжевано

Виртуализация на VirtualBox

Название темя поста я написал, конешно, глобальное, но здесь есть очень много моментов, которые я постепенно буду добавлять в этот пост.
Вот тут много написано про виртуализацию на VB
Момент первый: установка. 
Устанавливается VB естественно на Linux, так как стабильнее и удобнее в управлении как с командной строки, так и удаленно.
Установочный бинарник качается сразу с официального сайта Oracle, так как в репах всегда старые версии. Оттуда же качается пакет дополнения для работы с USB.
Момент второй: настройка сети.
 На машине-хосте имеются несколько виртуальных машин: каждая под свою роль. Одни системы для серверов - шлюз, DHCP, файловый, веб-сервер и так далее, а так же  их клоны на случай сбоя.
Так же имеются несколько тестовых систем разных виндовз и линукс.
 Требуется: каждая виртуальная машина должна видеть по сети другую виртуальную, а так же компы внешней сети. Компы из внешней сети должны видеть виртуальные.
 Решение: на виртуальном шлюзе ставим прокси, DHCP и два сетевых интерфейса. Один интерфейс связан сетевым мостом с физическим сетевым интерфейсом машины-хоста, который, в свою очередь смотрит в инет. Второй интерфейс шлюза настроен так - сетевой мост на другой физический сетевой интерфейс машины-хоста, причем обязательно установить "неразборчивый режим" в позицию "разрешить всё".
Сетевые интерфейсы других виртуальных машин настроить так же как второй интерфейс шлюза и на тот же  физический сетевой интерфейс машины-хоста.
Момент третий: установка веб-морды для VirtualBox.
Здесь указано как устанавливать. От меня небольшое дополнение. Тупо копипастить не получится. Надо подстраивать под себя. Я долго сидел разбирался. Скачиваем, распаковываем как указано в статье. Переименовываем папку со скриптами в phpvirtualbox. Далее делаем как описано здесь:

VBOXWEB_USER='пользователь под которым запущен VB'
VBOXWEB_HOST=127.0.0.1
VBOXWEB_PORT=18083
Дальше лезем в /var/www/phpvirtualbox/config.php (его копируем из config.php-example) .
Изменения, которые я проделал:

var $username = 'пользователь под которым запущен VB';
var $password = 'пароль этого пользователя';
var $language = 'ru';
var $consoleHost = '192.168.1.3'; // IP сервера, на котором запущен VB
Далее запускаем/перезапускаем VB:
/etc/init.d/vboxweb-service start/restart
Лезем в браузер по адресу: http://192.168.1.3/phpvirtualbox/
В окне входа пишем admin и admin
Если всё нормально, то увидим страницу VB.
У меня была ошибка Error logging in to vboxwebsrv
Решил так:
В консоли дал команду
VBoxManage setproperty websrvauthlibrary null
Далее перезапустил VB из консоли и снова зашел.

Подсмотрел решение ошибки тут

USB

Для того чтобы усб-устройства работали, нужно ставить версию программы с поддержкой USB (не OSE)
ПО идее правильно подключать усб-устройство к виртуальной машине надо так: добавляем фильтр конкретного устройства в список фильтров и виртуальная машина при загрузке сразу перехватит это устройство. Если сделать пустой фильтр, то машина перехватит любое устройство (так можно если устройство одно).
НО, в линуксе как всегда всё через одно место...Фильтр поставил, устройство подключено, но не видится, перевоткнул в другой порт - заработало. То ли машина видит усб без фильтров, то  ли порт был говеный, то ли какой-другой вариант, о котором я не ведаю.

Автоматический запуск виртуальных машин при загрузке/перезагрузке сервера.

Тут два пути:
1. Сделать исполняемый скрипт, в котором команды будут запускать виртуальные машины и сунуть его в автозагрузку.
2. Прописать команды в оболочке Gnome - запускаемые приложения

У меня получился второй путь. В Параметры - Запускаемые приложения вписал
vboxmanage startvm Имя виртуальной машины
Если имя виртуальной машины содержит пробелы, то в команде имя писать в кавычках.

Моменты, которые будут рассмотрены в будующем: 
  • настройка автоматического запуска виртуальных машин при загрузке/перезагрузке сервера, 
  • подключение к серверу и VB из инета  (скоро отпуск и неохота ездить на работу из-за мелочей).