+11.60
Рейтинг
25.08
Сила

Proudly made on Earth

CentOS: ещё одно описание установки VirtualBox )

В виду того, что найденные мной описания установки VirtualBox на CentOS в моём случае не стали исчерпывающими я решил описать свой вариант.

Система CentOS 6.6.

Скачиваю файл описания репозитория VirtualBox:
wget download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Перекладываю его в папку /etc/yum.repos.d

Устанавливаю VirtualBox:
yum install VirtualBox-4.3

Однако установка аварийно завершается в процессе скачивания дистрибутива с сообщением о низкой скорости скачивания. Скачиваю его вручную:
wget download.virtualbox.org/virtualbox/rpm/el/6/x86_64/VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm

И устанавливаю:
yum install VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm

При попытке настройки командой "/etc/init.d/vboxdrv setup" получаю ошибку:
Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.


Смотрю в папке /usr/src/ точное название папки и прописываю переменную окружения:
export KERN_DIR=/usr/src/kernels/2.6.32-504.1.3.el6.x86_64

Запускаю снова "/etc/init.d/vboxdrv setup" и опять неудача — что-то там про то, что невозможно найти файлы заголовков (headers) ядра.

Перезагрузился, в процессе загрузки устанавливались какие-то модули VirtualBox-а.

Снова запускаю "/etc/init.d/vboxdrv setup" и, о чудо, кроме ошибок в процессе удаления старых модулей всё прошло нормально:
Stopping VirtualBox kernel modules                         [  OK  ]
Uninstalling old VirtualBox DKMS kernel modules
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
                                                           [  OK  ]
Trying to register the VirtualBox kernel modules using DKMS[  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]


Запускаем его:
VirtualBox

Выбираю операционку Windows XP (32 bit), в качестве CD-привода выбираю виртуальный привод и указываю его на заранее скаченный имидж Windows XP 32-бита.

Пакет расширения

Вроде бы нужен, чтобы работал USB и ещё какие-то штуки:
Description: USB 2.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM with E1000 support.

Скачиваем с сайта VirtualBox-а «VirtualBox 4.3.20 Oracle VM VirtualBox Extension Pack».

Устанавливаем его:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.20-96996.vbox-extpack

Посмотреть список пакетов расширения:
VBoxManage list extpacks

Расшаренные папки

Чтобы папки из хост-системы были видны в гостевой нужно в гостевой системе установить Oracle VM VirtualBox Guest Additions. Для этого в меню этой виртуальной машины надо выбрать пункт — Devices — Insert Guest Additional CD image. Винда в гостевой машине запустит установку программы, а дальше как обычно.

IPv6 в MS Windows

Посмотреть список IPv6-соседей:
netsh interface ipv6 show neighbors

Отключить обработку RA-сообщений (понятно, что адрес придётся назначит вручную):
netsh int ipv6 set int N routerdiscovery=disabled
— N — это индекс интерфейса.
Посмотреть индексы интерфейсов:
netsh int ipv6 show int
Посмотреть параметры IPv6 на интерфейсе:
netsh int ipv6 show int N

Mac OS X: ещё несколько твиков

Для отключения монитора нажмите: Control + Shift + Eject.

Консольная утилита для управления системой питания:
pmset

Несколько параметров:
displaysleep — время простоя в минутах (0 — отключает данный режим), до отключения дисплея. Заменил параметр «dim» в Mac OS X 10.4.
disksleep — время простоя до отключения вращения жесткого диска. Заменил параметр «spindown» в Mac OS X 10.4. (Устанавливается в минутах, 0 отключает режим).
sleep — время простоя до засыпания системы. (Устанавливается в минутах, 0 отключает режим).
ttyskeepawake — предотвратить засыпание системы, если любой tty активен (например, удаленная сессия). tty считается неактивным в случае, когда время его простоя превышает время простоя для засыпания. Значения =1/0.
autopoweroff — Поддерживается не на всех системах там, где он поддерживается, включен по умолчанию. После заданного периода, указанного в минутах, система будет создавать файл гибернации и переходить в режим минимального энергопотребления чипсета. Выход из режима сна в таком случае занимает больше времени, чем обычно. В случае если имеются подключенные внешние устройства, при работе от батарей или сетевой активности выключения питания не будет.
autopoweroffdelay — время ожидания перед переходом в режим autopoweroff. Указывается в минутах.

Взято отсюда. Там же есть больше информации.

Apache: Ограничение доступа по логину-паролю ИЛИ IP-адресу

Есть сайт на Apache со служебной информацией и кучей папок. В разные папки есть доступ у разных юзеров, групп или IP-адресов. Обычно ограничение делается следующих видов:
— определённому юзеру/группе с любого IP-адреса;
— определённому юзеру/группе с определённых IP-адресов;
— всем без ограничений;

А вот новый вариант, настройка которого неочевидна:
— определённому юзеру/группе ИЛИ с определённых IP-адресов без пароля;

Содержимое файла .htaccess:
# Описываем ограничение по логину/паролю:
AuthType Basic
AuthName MyStatPage
AuthUserFile /usr/local/apache/conf/.users
AuthGroupFile /usr/local/apache/conf/.groups
# Пускать всех юзеров из группы mygroup:
require group mygroup

# Разрешаем доступ с указанных IP-адресов:
order allow,deny
allow from 10.1.1.0/255.255.255.0
allow from 10.1.2.1

# Разрешаем доступ при совпадении любого из условий (а не обязательно обоих):
Satisfy Any

Указание SSL-сертификата для nginx

Для получения подписанного сертификата я использую службу Dynadot, провайдер сертификата — AlphaSSL.

При использовании apache проблем не было. Я прописывал в конфиге три файла — файл с подписанным сертификатом сайта, файл с ключом, и файл с промежуточными сертификатами:
SSLCertificateFile "/etc/httpd/conf/my.crt"
SSLCertificateKeyFile "/etc/httpd/conf/my.key"
SSLCaCertificateFile "/etc/httpd/conf/AlphaSSLroot.crt"

В файле AlphaSSLroot.crt приведены друг за другом корневой сертификат и сертификат AlphaSSL как промежуточные:
-----BEGIN CERTIFICATE-----
сертификат Root CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат AlphaSSL Intermediate CA
-----END CERTIFICATE-----

В nginx только два аналогичных параметра — для файла с подписанным сертификатом и для файла с ключом:
ssl_certificate /usr/local/nginx/conf/my.crt;
ssl_certificate_key /usr/local/nginx/conf/my.key;

А вот куда указать промежуточные сертификаты, без них же не работает? Как оказалось их можно указать прямо в файле my.crt с подписанным сертификатом сайта, главное не перепутать последовательность:
-----BEGIN CERTIFICATE-----
подписанный сертификат вашего сайта
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат Root CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат AlphaSSL Intermediate CA
-----END CERTIFICATE-----

Промежуточные сертификаты взяты с сайта AlphaSSL.

CentOS: управление запуском сервисов

Какие сервисы запускаются на каких уровнях:
chkconfig --list

Какие уровни что означают:

# /etc/inittab
# Default runlevel. The runlevels used are:
# 0 — halt (Do NOT set initdefault to this)
# 1 — Single user mode
# 2 — Multiuser, without NFS (The same as 3, if you do not have
# networking)
# 3 — Full multiuser mode
# 4 — unused
# 5 — X11
# 6 — reboot (Do NOT set initdefault to this)

Примеры:

1. В каких случаях запускать mysqld:
chkconfig --level 23 mysqld on
2. Не запускать апач на уровнях 2 и 3:
chkconfig --level 23 httpd off
3. Не запускать апач вообще:
chkconfig httpd off

Mac OS X: Добавление статических маршрутов при подключении по VPN

Для поднятия статических маршрутов при подключении по VPN создаём файл /etc/ppp/ip-up:
#!/bin/sh

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:

LOG="/tmp/ppp.log"
date > $LOG

list="10.1.1.2 10.1.1.3 10.1.1.4 10.2.2.1"
for i in $list
do
 route add -host $i $IPREMOTE >> $LOG 
done

Если у вас несколько VPN-соединений, то очевидно придётся проверять IP-адрес шлюза, например:
if [ $IPREMOTE = «10.3.3.1» ]
then
# делаем что надо для подключения к 10.3.3.1
fi

Понятно, что в этом скрипте можно не только статические маршруты навешивать.

Ну и конечно указанный файл должен иметь права на выполнение:
chmod a+x /etc/ppp/ip-up

CentOS IPv6

Есть интерфейс из ВЛАН-10, на котором уже имеется IPv4-адрес, надо добавить второй адрес, но уже из IPv6-сети. Это можно сделать вот так:
ip addr add 2001:0db8:3:4:0:0:0:3/64 dev eth0.10

Удалить вот так:
ip addr del 2001:0db8:3:4:0:0:0:3/64 dev eth0.10

А чтобы при перезагрузке компьютера этот адрес появился снова добавляем записи для IPv6 в уже существующий файл /etc/sysconfig/network-scripts/ifcfg-eth0.10:
DEVICE=eth0.10
PHYSDEV=eth0
ONBOOT=yes
VID=10
IPADDR=10.1.1.3
NETMASK=255.255.255.0
BOOTPROTO=static
VLAN=yes
USERCTL=no
GATEWAY=10.1.1.1
PEERDNS=yes
DNS1=10.1.1.1
DNS2=10.1.1.2
DOMAIN=elcat.kg
# Добавляем данные для IPv6:
IPV6INIT=yes
IPV6ADDR=2001:0db8:3:4:0:0:0:3/64
IPV6_DEFAULTGW=2001:0db8:3:4:0:0:0:1

Пингуем командой ping6, а путь смотрим командой tracepath6.

Несколько примеров просмотра, удаления и добавления IPv6-маршрутов:
ip -6 route show
ip -6 route show ::/0
ip -6 route show default
ip -6 route delete ::/0
ip -6 route add default via 2001:0db8:3:4:0:0:0:1
ip -6 route add 2001:0db8:33:44::/64 via 2001:0db8:3:4:0:0:0:1
ip -6 route delete 2001:0db8:33:44::/64

К сожалению маршрут до конкретного хоста из подсети, на которую добавлен маршрут, не показывается:
ip -6 route show 2001:0db8:33:44:0:0:0:13
Только для заданной подсети:
ip -6 route show 2001:0db8:33:44::/64

Ну или старый, добрый netstat:
netstat -rn --inet6

Apache: Directory index forbidden by Options directive

Есть у меня куча разной документации и для удобства доступа к ней я поднимаю веб-сервер Apache (httpd) с виртуальным сайтом.
Т.к. по большей части в папках нет индексного файла, я прописываю опцию "+Indexes", чтобы Апач выводил мне список файлов.
Проблем обычно не было, а вот сделал это на машине с CentOS и появилась странная проблема — несмотря на указанную опцию список файлов в корне виртуального сайта не отображался, вместо него выводилась страница из дистрибутива Апача, а в логи записывалась ошибка «Directory index forbidden by Options directive». При этом в подпапках список файлов выводился нормально.
Долго не мог понять в чём проблема, ковыряние в конфигах и эксперименты не помогали.
Пришлось гуглить. Оказалось, что в стандартной установке Апача есть файл /etc/httpd/conf.d/welcome.conf, в котором, собственно, и сказано, что для корня не выводит список файлов, а выводить файл с ошибкой.
Я просто удалил (переименовал) этот файл и перезапустил Апач. Однако при обновлении Апача файл перезаписался и ситуация повторилась, тогда я файл оставил, но закомментировал строки в нём.

Нож "Страж" от фирмы "Зубр"

Купил на днях складной нож под названием «Страж» из серии «Эксперт» от фирмы «Зубр».
Понравился формой и сделан добротно, стальная рукоятка, но очень тугой линейный фиксатор. Тяжело открывать нож и ещё тяжелее его складывать. Ни о каком быстром открытии одной рукой речи нет. А после нескольких складываний палец уже так болел, что пришлось оставить нож в открытом состоянии пока палец не перестал болеть )
Зубр - Страж