Apache: tips & hints

July 4th, 2012

Заметки о том, что может вылететь из головы, когда не залазишь в конфиг Apache.

——————————————————————

Alias (http://httpd.apache.org/docs/2.0/mod/mod_alias.html#alias). Создаем алиас для директории, которая на самом деле расположена вне DocumentRoot.

Alias /alexey /home/alexey/pub_html
<Directory /home/alexey/pub_html>
Order allow,deny
Allow from all
</Directory>

——————————————————————

Options Indexes. Indexes – одна из нескольких возможных Options (http://httpd.apache.org/docs/2.0/mod/core.html#options). Смысл ее такой: когда в директории нет файла, отдаваемого сервером по умолчанию (index.html и т.п.), и когда у нас прописано Options Indexes , тогда сервер выдаст листинг директории. Если же нет ни index.html, ни параметра Options Indexes, тогда сервер будет выдавать ошибку 404 при попытке открыть директорию.

Alias /alexey /home/alexey/pub_html
<Directory /home/alexey/pub_html>
Order allow,deny
Allow from all

    Options Indexes
</Directory>

——————————————————————

server-status (http://httpd.apache.org/docs/2.0/mod/mod_status.html). Отображает статус сервера.

Добавляем в конфиг:

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 192.168.0.0/24 127.0.0.1
</Location>

Теперь (если мы из подсети 192.168.0.0/24) можно увидеть небольшую сводку статистики работы сервера по адресу http://наш_сервер/server-status . Также можно смотреть с localhost’a, в т.ч. консольной командой ‘apachectl status’ .

——————————————————————

Order – задаёт порядок – allow или deny. Решение принимается по последнему параметру. То есть, если указано только:

Order Allow,Deny

то доступ будет запрещён. Если же прописано:

Order Allow,Deny

Allow from all

то доступ будет рзрешен всем.

Если прописано:

Order Allow,Deny

Allow from 10.4.1.0/24

то доступ будет разрешен только из сети 10.4.1.0/24.

Сгенерировать список

July 4th, 2012

Сгенерировать какой-либо список, например IP-адресов для скрипта шейпера, можно например таким скриптом:

#!/bin/bash

TC=”traffic_shaping_rules_go_here 192.168.0.”

for i in `seq 1 10`;
do
echo $TC$i
done

Очистка кеша памяти в Linux

July 4th, 2012

С правами администратора делаем:

sync; echo 3 > /proc/sys/vm/drop_caches

Взято отсюда .

OpenVPN в OpenBSD

July 4th, 2012

OpenBSD – клиент.

В конфиге (который на ура работает в Linux), прописано “dev tun”. В OpenBSD это уже не прокатит. Надо называть интерфейс – tun0.

Не указав этот неприметный ноль, мы получим примерно такие ошибки в выводе OpenVPN’a:

ifconfig: SIOCSIFMTU: Device not configured ifconfig: SIOCGIFFLAGS: Device not configured Thu Sep 17 13:23:44 2009 OpenBSD

ifconfig failed: external program exited with error status: 1 

Thu Sep 17 13:23:44 2009 Exiting

Обсуждение проблемы тут: http://www.daemonforums.org/showthread.php?p=27062

Меняем локаль в Ubuntu

July 4th, 2012

В разных дистрибутивах делается по-разному.

В Ubuntu – правим /etc/default/locale .

Посмотреть список возможных локалей можно так: locale -a .

Fluxbox: отключение энергосбережения

July 4th, 2012

У вас имеется проблема с отключением экрана при просмотре фильмов? Поздравляем, Xorg обнаружил ваше бездействие :). Если вам не нужен режим энергосбережения, его можно полностью отключить. Но, когда вы не будете пользоваться монитором, – вам придется отключать его самостоятельно, вручную.

Просто добавьте эту строку в начало файла ~/.fluxbox/startup

xset s off -dpms &

Взято отсюда.

Apache MIME types

July 4th, 2012

Если Apache выдаёт PHP-страницы в виде plain text, не смотря на то, что включен модуль PHP, то нужнно дописать в конфиг одну строчку.

Для Apache из Slackware это делается так: в /etc/httpd/mime.types добавляем строку

application/x-httpd-php                .php

либо:

application/x-httpd-php                php

работают оба варианта.

Принудительный выход пользователя из системы

July 4th, 2012

Принудительно “выйти пользователя” из системы:

pkill -KILL -u username

Разумеется, нужны соответствующие права (root/sudo).

Fluxbox. Блокируем экран.

July 4th, 2012

fluxbox-wiki говорит нам, что есть 2 способа блокировать экран. Одним из них, alock, мы и воспользуемся.

В репозиториях даже Ubuntu нет этого пакета. Поэтому берем с официального сайта и собираем. Предварительно убеждаемся, что есть пакеты, какие указаны на сайте: gmake, gcc, xlibs.

gmake – не что иное, как ‘make’. Наверняка должен быть в вашей системе. (проверить, установлен ли – dpkg -l make)

gcc – тоже есть по умолчанию в Ubuntu (dpkg -l gcc)

xlibs – с этим поинтереснее. Как выяснилось, в Ubuntu ‘xlibs’ входят в пакет xorg-dev , по умолчанию он не установлен, так что ставим (sudo apt-get install xorg-dev). Еще перед этим я поставил пакет libwx11-0, но предполагаю, что это совсем ни к чему, и он ни на что не влияет.

Далее скачиваем alock, распаковываем , смотрим опции сборки (./configure —help). В итоге я сделал вот так:

./configure —with-passwd —with-xcursor —with-xrender —with-imlib2

make

sudo make install

Заметьте, что не gmake, как описано на сайте alock, а make.

После этого вылазит симпатичная табличка с текстом:

,————————————————————————-
| it seems that you have compiled ‘alock’ with   
| ‘shadow’ support. to use that binary you have  
| set the ‘suid’ – bit, something like:          
|                                                
|    $> chown root:root $prefix/bin/alock        
|    $> chmod 4111 $prefix/bin/alock             
|                                                
| if not you ll get ‘permission denied’ problems.
`————————————————————————-

Так что делаем, как сказано:

sudo chown root:root /usr/local/bin/alock
sudo chmod 4111 /usr/local/bin/alock

Далее читаем man alock, чтоб знать, как воспользоваться программкой. Я заблокировал экран вот так:

alock -bg blank:color=black -auth passwd -cursor:none

Результатом был заблокированный черный пустой экран, даже без строки ввода пароля :-) Просто ввел “вслепую” пароль, нажал enter и всё повилось обратно.

Fluxbox и индикатор раскладок

July 4th, 2012

Пожалуй, единственное, что меня не совсем устраивало при работе в Fluxbox, это сохранение одной и той же (активной) раскладки во всех открытых окнах.

На помощь пришёл пакет xxkb, в Ubuntu 11.04 он есть в репозитории. При запуске xxkb выдавалось сообщение, что

xxkb: Unable to get a default value for the required resource ‘XXkb.mainwindow.type’

Поэтому копируем дефолтовый конфиг /etc/X11/app-defaults/XXkb в ~/.xxkbrc , находим там строку “XXkb.mainwindow.type” и указываем одно из допустимых значений (они перечислены строкой ниже). Я указал ‘tray’, т.к. хочу, чтоб xxkb сидел в трее. :-)

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

PS: после установки xxkb раскладки у меня стали переключаться не по Ctrl-Shift, а по Alt-Shift. И иконка флага раскладки была больше, чем место, занимаемое значком xxkb в трее. Но это всё поправимые мелочи, которые при желании можно исправить.

Икнока нужного размера (15 х 15) уже есть в пакете xxkb, лежит в /usr/share/xxkb/ и называется en15.xpm и ru15.xpm, так что открываем редактором наш ~/.xxkbrc , находим там строки:

XXkb.mainwindow.image.1: en48.xpm
XXkb.mainwindow.image.2: ru48.xpm

… и меняем их на:

XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm

Еще во fluxbox не хватает блокировщика экрана (чтоб отойти от компьютера и скрыть все от посторонних глаз). О том, как его настроить, читайте в следующей заметке.