четверг, 30 января 2014 г.

transparent VLAN bridge + squid3 + ipset+динамический шейпер HTB

Собственно схема:


как из нее видно, между одним из портов маршрутизатора и другим портом L3 коммутатора настроен VLAN trunk. В этих условиях мы собираемся использовать прозрачный мост и прозрачный прокси-сервер для управления http-трафиком пользователей. Также связку iptables и ipset для блокировки неугодных хостов и сетей, а также динамический шейпер скорости на основе скрипта htb.init.
Представленная схема была реализована на: 

ubuntu-server 12.04.4 LTS (GNU/Linux 3.8.0-35-generic x86_64)

root@bridge:~# uname -a
Linux bridge 3.8.0-35-generic #50~precise1-Ubuntu SMP Wed Dec 4 17:25:51 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

0. При установке ОС закажем инсталяцию ssh-сервера.

1. Ставим:
apt-get install bridge-utils
apt-get install ebtables
apt-get install  vlan
apt-get install mc

2. Включаем опции ядра для bridge:
echo 1 > /proc/sys/net/bridge/bridge-nf-call-arptables
echo 1 > /proc/sys/net/bridge/bridge-nf-pass-vlan-input-dev
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-filter-vlan-tagged

3. Конфигурируем /etc/network/interfases:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

auto eth0.5  
#тэг vlan 5 для интерфейса eth0
iface eth0.5 inet manual
vlan_raw_device eth0

auto eth1.5 #
#тэг vlan 5 для интерфейса eth1 (далее по аналогии)
iface eth1.5 inet manual
vlan_raw_device eth1

auto br0 # собственно мост у нас не один, в каждом vlan свой.
iface br0 inet static # трафик только одного VLAN
address 0.0.0.0 # 
заворачивается на прокси
bridge-ports eth0.5 eth1.5
bridge_stp off

auto eth0.12
iface eth0.12 inet manual
vlan_raw_device eth0

auto eth1.12
iface eth1.12 inet manual
vlan_raw_device eth1

auto br1
iface br1 inet static
address 192.168.1.7 # сервером удобнее всего управлять
netmask 255.255.255.0 #  из клиентской сети (VLAN12).
broadcast 192.168.1.255 #
 сообственно поэтому и назначаем 
gateway 192.168.1.1 # нашему мосту указанную адресацию,

bridge-ports eth0.12 eth1.12 # т.к. она соответствует
dns-nameservers 192.168.1.5 # 
адресации VLAN 12
dns-search domain.local
bridge_stp off


auto eth0.97
iface eth0.97 inet manual
vlan_raw_device eth0

auto eth1.97
iface eth1.97 inet manual
vlan_raw_device eth1

auto br2
iface br2 inet static
address 0.0.0.0
bridge-ports eth0.97 eth1.97
bridge_stp off


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




4. Теперь перезапустим сеть:
/etc/init.d/networking restart
Или весь сервер:
reboot

Поставим мост в разрыв транка.
Должны суметь залогиниться по ssh на адрес моста.

5. Установим squid:
apt-get install squid

6. Приводим /etc/squid3/squid.conf к примерно такому виду:

http_port 3128 transparent

acl LocalNet src 192.168.1.0/24

http_access allow LocalNet
http_access deny all

Командуем:
squid3 -k reconfigure # эта команда говорит сквиду перечитать и применить конфигурацию не перезагружаясь, и соответственно не разрывая текущих сессий.
Также есть такие команды:
service squid3 start
service squid3 stop
В дальнейшем можно настроить прокси по своему вкусу, статей на тему разнообразных настроек Squid достаточно.
Например,  и вот как настроить анализатор логов lightsquid и web-server lighthttpd, а также закрыть доступ к  lightsquid паролем. В конечном итоге если вдруг будет надо, я смогу предоставить свои конфиги.

7. Издаем команду:
ebtables -t broute -A BROUTING -p IPv4 --ip-destination-port 80 -j redirect --redirect-target ACCEPT

8. Еще одну:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 ! -d 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128

заворачиваем пакты из нашей подсети (исключая адресованные в подсеть головного офиса) на порт сквида.

9. Смотрим:
 tail -f /var/log/squid3/access.log
Если видим изменяющиеся значения, значит все ОК - http трафик заворачивается на squid.

10. При настройке squid я не хотел настраивать фильтрацию https, т.к. нашел в сети множество отзывов с проблемами  реализации (подмена squid-ом ssl сертификатов - ssl bump). В связи с этим было принято решение блокировать неугодные адреса с помощью iptables используя ipset. 
Узнаем у Google ip-адреса неугодных ресурсов:

# dig @google-public-dns-a.google.com. mail.yandex.ru

; <<>> DiG 9.8.1-P1 <<>> @google-public-dns-a.google.com. mail.yandex.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48890
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mail.yandex.ru. IN A

;; ANSWER SECTION:
mail.yandex.ru. 3077 IN A 87.250.250.25
mail.yandex.ru. 3077 IN A 93.158.134.25
mail.yandex.ru. 3077 IN A 213.180.193.25
mail.yandex.ru. 3077 IN A 213.180.204.25

;; Query time: 70 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jan 30 19:04:45 2014
;; MSG SIZE rcvd: 96


11. Ставим ipset:
apt-get install ipset

Добавляем сеты...
a.Создаем список:
ipset -N ip_set_1 iphash

b.Добавляем адреса в сет:
ipset -A ip_set_1  87.250.250.25
ipset -A ip_set_1  93.158.134.25
pset -A ip_set_1  213.180.193.25
ipset -A ip_set_1  213.180.204.25

c.Можно делать сеты для сетей:
ipset -N net_set_1 nethash

d.Добавляем сети в сет:
ipset -A net_set_1 1.1.1.1/32
ipset -A
net_set_1 2.2.2.2/24

e.Также можем создать сет для привелегированных пользователей нашей сети:
ipset -N managers iphash

f.Добавляем адреса в сет:
ipset -A managers  192.168.1.111
ipset -A managers  192.168.1.222 


Просмотреть сеты можно командой:
ipset -L

g.Запретим доступ к яндекс почте нашей сети, кроме адресов входящих в managers:
iptables -A FORWARD -m set ! --match-set managers src -p tcp -m tcp -m set --match-set ip_set_1  dst --dport 443 -j DROP

e.Запретим доступ к сетям указанных в сете  net_set_1:
iptables -A FORWARD -m set ! --match-set managers src -p tcp -m tcp -m set --match-set net_set_1   dst --dport 443 -j DROP

h.Сохраним наши сеты. 
Cоздадим файл:
touch /directory/directory2/ipset-save

i.Скомандуем:
ipset -S >  /directory/directory2/ipset-save
(При каждом изменении в сеты сохраняемся.)

j.Устраиваем автозагрузку.
Открываем /etc/rc.local и добавляем в него строку:
cat  /directory/directory2/ipset-save | /usr/sbin/ipset -R

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

iptables -A OUTPUT -t mangle -p udp -m multiport --dport 53,5060 -j TOS --set-tos Minimize-Delay

iptables -A FORWARD -t mangle -p tcp -m tcp -d 192.168.0.0/24 -j TOS --set-tos 0x10/0x3f

iptables -A FORWARD -t mangle -p udp -m udp -d 192.168.0.0/24 -j TOS --set-tos 0x10/0x3f


13.Смотрим вывод: 
iptables-save
и далее настраиваем автозапуск правил по своему вкусу.


14. Шейпер.
Для начала следует здраво понимать, что ограничиваться, и попадать в очередь (шейпиться), могут только исходящие с интерфейса пакеты, а не входящие т.к. они уже пришли на интерфейс. Соответственно имея устройство с двумя сетевыми интерфейсами, и соответствующим образом настроенным шейпером можно управлять пропускной способностью канала.

a.Перейдем в свою директорию (работаем от рута, как вы заметили):
cd /home/user 

b.Скачиваем скрипт htb.init:
wget http://switch.dl.sourceforge.net/project/htbinit/HTB.init/0.8.5/htb.init-v0.8.5

c.Переименуeм покороче наш скрипт:
mv  htb.init-v0.8.5  htb
и переместим куда следует:
cp htb /usr/sbin

d.сделаем скрипт исполняемым:
chmod +x /usr/sbin/htb

e.теперь создадим файлы и директории необходимые для работы скрипта:
mkdir /etc/sysconfig
mkdir /etc/sysconfig/htb
touch /var/cache/htb.init


f.начнем писать конфиги для нашего шейпера. перейдем:
cd /etc/sysconfig/htb

g.Создаем конфигурационные файлы (eth0 смотрит в 100Gb порт роутера, eth1 в гигабитный порт свитча):

Для исходящего трафика:sudo touch eth0 # Описываем интерфейс eth0
sudo nano eth0

DEFAULT=10 # метка на файл, создаваемый ниже, eth0-2:10.dfl
R2Q=100 # точность ограничений

sudo touch eth0-2.root # корневой класс
sudo nano eth0-2.root

RATE=100Mbit # гарантированная пропускная способность
CEIL=100Mbit # максимальная пропускная способность
BURST=15k # первые 15k без ограничений

sudo touch eth0-2:10.dfl # сюда попадает трафик, не попадающий ни в одно из правил ниже
sudo nano eth0-2:10.dfl

RATE=1024Kbit # гарантированная пропускная способность
CEIL=99Mbit # максимальная пропускная способность
LEAF=sfq # равномерное распределение между участниками очереди.

sudo touch eth0-2:20.rdp # гарантированный канал для rdp
sudo nano eth0-2:20.rdp

RATE=1Mbit # гарантированная пропускная способность
CEIL=2Mbit # максимальная пропускная способность
BURST=15k # первые 15k без ограничений
LEAF=sfq # равномерное распределение между участниками очереди.
RULE=*:3389 # Применять правило для трафика, у которого исходящий порт 3389
MARK=100 # Метка для исходящего трафика (входящий нарезается нормально и без меток).

Маркируем трафик RDP:
iptables -t mangle -A PREROUTING -s 192.168.1.5 -j MARK --set-mark 100 
Соответсвенно 192.168.1.5 адрес терминального сервера.

Для входящего трафика:

sudo touch eth1 # Описываем интерфейс eth1
sudo nano eth1

DEFAULT=10 # метка на файл, создаваемый ниже, eth1-2:10.dfl
R2Q=100 # точность ограничений

sudo touch eth1-2.root # корневой класс
sudo nano eth1-2.root

RATE=330Mbit # гарантированная пропускная способность
CEIL=330Mbit # максимальная пропускная способность
BURST=15k # первые 15k без ограничений

sudo touch eth1-2:10.dfl # сюда попадает трафик, не попадающий ни в одно из правил ниже
sudo nano eth1-2:10.dfl

RATE=1024Kbit # гарантированная пропускная способность
CEIL=300Mbit # максимальная пропускная способность
LEAF=sfq # равномерное распределение между участниками очереди.
PRIO=2 # PRIO задает приоритет класса трафика (1- максимальный, чем больше число — тем меньшt приоритет).

sudo touch eth1-2:20.rdp # гарантированный канал для rdp
sudo nano eth1-2:20.rdp

RATE=1024Kbit # гарантированная пропускная способность
CEIL=2048Kbit # максимальная пропускная способность
BURST=15k # первые 15k без ограничений
LEAF=sfq # равномерное распределение между участниками очереди.
RULE=*:3389 # Применять правило для трафика, у которого порт назначения - rdp-порт
PRIO=1

sudo touch eth1-2:30.100 # ограничиваем скорость для ip 192.168.1.100
sudo nano eth1-2:30.100

RATE=64Kbit # гарантированная пропускная способность
CEIL=64Kbit  # максимальная пропускная способность
BURST=15k # максимальная пропускная способность
LEAF=sfq # равномерное распределение между участниками очереди.
RULE= 192.168.1.100
PRIO=3

Осталось запустить скрипт:

htb compile # тест. можно посмотреть какие правила будут сформированы и ошибки, если есть.
htb start # запуск
htb stop # остановка
htb restart # перезапуск после внесения изменений в файлы конфигурации

При вышеописанной настройке мы добились того, что канал делится между всеми поровну исходя из заданных значений.
Максимальный приоритет у входящего и исходящего RDP-трафика (удаленные приложения Remote App также используют этот протокол).
IP-адрес 192.168.1.100 ограничен во входящей скорости до 64 kb/sec, в исходящей скорости ограничений нет.

Подробнее о работе htb.init можно почитать по следующим ссылкам:
и вообще найти что-то поиском.

15. Графики за N-период по работе сервера:


16. Отчет Lightsquid:


воскресенье, 15 декабря 2013 г.

wondershaper

Т.К. на моем микросервере перманентно раздаются/скачиваются торренты, я решил облечить себе существование в плане безтормозного промотра страничек и использования RDP, шэйпером в виде Wondershaper.
Итак:
1. Ставим wondershaper:
apt-get install wondershaper
2. Отключаем все сетевые сервисы и замеряем скорость канала с помощью любого сервиса в сети (например: http://2ip.ru/speed/). У меня download 4800 upload 550
3. Описываем для wondershaper свой канал (для нужного интерфейса, в моем случае ppp0), задаем значения чуть меньше:
wondershaper ppp0 4400 500
Все шейпер работает.
4. В конфиге описывает сервисы для наибольшего приоритета
nano /sbin/wondershaper
(у меня так):
NOPRIOPORTSRC="22 8112" #сервисы на  моем сервере
NOPRIOPORTDST="80 443 3389" #удаленные сервисы
5. Чтобы отменить шейпинг вводим команду:
wondershaper clear ppp0
6. Чтобы постоянно не запускать шейпер после рестарта делаем скрипт вида:
#!/bin/sh
wondershaper ppp0 4400 500

7. делаем его исполняемым:
chmod +x /your_folder/your_name_of_skript.sh
8. Чтобы скрипт стартовал при старте сети добавляем строчку в /etc/network/interfaces:
post-up /your_folder/your_name_of_skript.sh

Все, скрипт будет запускаться при загрузке системы.



суббота, 16 ноября 2013 г.

MRTG

0. Уже должен быть установлен web-сервер.

1. Ставим: aptitude install mrtg snmpd
2. в конфиге /etc/snmp/snmpd.conf
добавим строку:

com2sec readonly default public

3. Перезапускаем:

/etc/init.d/snmpd restart

4. Добавляем в крон:

*/05 * * * * USER if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then mkdir -p /var/log/mrtg; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log; fi

5. Добавляем устройства которые хотим мониторить, например:

cfgmaker public@127.0.0.1 >> /etc/mrtg.cfg

на устройствах должен работать snmp.

Через пять минут по адресу http://yourhost/mrtg сможем наблюдать график.

6. Можем наблюдать загрузку процессора, его температуру, загрузку оперативной памяти и swap, заполненность жесткого диска, температуру жесткого диска.

a1) загрузка CPU - скрипт

#!/bin/sh
sensors | grep -A 1 'Core 0' | awk '{print $3-0 }'

а2) часть в mrtg.cfg

Target[cpu]: `/usr/bin/awk '/cpu /{print $2+$3; print $2+$3+$4; print "Some_time";print "localhost"}'</proc/stat`
Title[cpu]: CPU usage
PageTop[cpu]: <H1>CPU Usage</H1>
MaxBytes[cpu]: 200 #двухядерный процессор
ShortLegend[cpu]: %
YLegend[cpu]: CPU Usage
Legend1[cpu]: Time spent in user mode
Legend2[cpu]: Time spent in user + system mode
LegendI[cpu]: user:
LegendO[cpu]: system:
Options[cpu]: growright,nopercent,transparent,pngdate,noinfo
Unscaled[cpu]: ymwd

b1) температура CPU - скрипт

#!/bin/sh
sensors | grep -A 1 'Core 0' | awk '{print $3-0 }'

b2) часть в mrtg.cfg

#cpu_temp
Target[cpu_temp]: `/home/USER/mrtg/cpu_temp.sh`
Title[cpu_temp]: CPU Temperature
PageTop[cpu_temp]: <h1>CPU Temperature</h1>
MaxBytes[cpu_temp]: 100
ShortLegend[cpu_temp]: C
YLegend[cpu_temp]: Temperature, C
LegendI[cpu_temp]: Core 1
LegendO[cpu_temp]: Core 2
Legend1[cpu_temp]: Core 1
Legend2[cpu_temp]: Core 2
Options[cpu_temp]: gauge,growright,nopercent
#kMG[cpu_temp]: k,M,G,T,P,X
Colours[cpu_temp]: RED#bb0000,BLUE#1000ff,GREEN#006600,VIOLET#ff00ff
Unscaled[cpu_temp]: ymwd

c1) загрузка оперативки и своп - скрипт

#!/bin/sh
/usr/bin/free -k | awk '\
NR==3 {ramUsed = $3 }\
NR==4 {swapUsed = $3 }\
END { print swapUsed "\n" ramUsed "\n0\n0" }'


c2)  часть в mrtg.cfg

#memory_usage
Target[localmem]: `/home/USER/mrtg/memstat.sh`
Title[localmem]: Mem and Swap Usage
PageTop[localmem]: <h1>Memory and Swap Usage</h1>
MaxBytes[localmem]: 100000000000
ShortLegend[localmem]: B
YLegend[localmem]: Memory&Swap
LegendI[localmem]: Swap
LegendO[localmem]: Memory
Legend1[localmem]: Swap
Legend2[localmem]: Memory
Options[localmem]: gauge,growright,nopercent
kMG[localmem]: k,M,G,T,P,X
Colours[localmem]: RED#bb0000,BLUE#1000ff,GREEN#006600,VIOLET#ff00ff

d1) заполненость жесткого диска

#! /bin/bash
df -h | grep "/dev/sd" | grep -Po "[0-9]+(?=%)"

d2) часть  в mrtg.cfg

#hdd
Target[hdd]: `/home/USER/mrtg/disk.sh`
Title[hdd]: HDD Usage
PageTop[hdd]: <h1>1 Tb HDD Usage</h1>
MaxBytes[hdd]: 100
ShortLegend[hdd]: %
YLegend[hdd]: Percent
Legend1[hdd]: 100%
Legend2[hdd]: Time spent in user + system mode
LegendI[hdd]: Usage:
#LegendO[hdd]: :
Options[hdd]: gauge,growright,nopercent
Colours[hdd]: RED#bb0000,BLUE#1000ff,GREEN#006600,VIOLET#ff00ff
Unscaled[hdd]: ymwd

e1) температура жесткого диска -скрипт

#!/bin/bash
sudo hddtemp -n /dev/sda #hddtemp без sudo не работает


e2)  часть  в mrtg.cfg

#hdd temp
Target[hddtemp]: `/home/USER/mrtg/hdd_temp.sh`
Title[hddtemp]: HDD Temp
PageTop[hddtemp]: <h1>HDD Temperature</h1>
MaxBytes[hddtemp]: 110
ShortLegend[hddtemp]: C
YLegend[hddtemp]: Temperature, C
Legend1[hddtemp]: Temp HDD
Legend2[hddtemp]: Temp HDD 2
#LegendI[hddtemp]:Temp HDD 3
Options[hddtemp]: gauge,growright,nopercent
#kMG[hddtemp]: k,M,G,T,P,X
Colours[hddtemp]: VIOLET#ff00ff,RED#bb0000,BLUE#1000ff,GREEN#006600
Unscaled[hddtemp]: ymwd

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

chmod  +x /home/USER/mrtg/hdd_temp.sh

чтобы графики рисовались справо-налево раскомментируем в  /etc/mrtg.cfg строку

Options[_]: growright, bits

после заполнения mrtg.cfg делаем:

indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html


если вылезают ошибки - исправляем.

8. Если все ок, по адресу http://yourhost/mrtg через какое-то время сможем увидеть примерно следующее:


пятница, 27 сентября 2013 г.

FTP сервер proftpd (установка и настройка).

Возникла надобность обменяться файлами с друзьями. Решил, что лучше всего для выполнения этой задачи подойдет FTP сервер. Сказано - сделано. Поехали.
Оговорка: сервер не находится за NAT, порт смотрит прямо в инет.

1. Устанавливаем proftpd:
apt-get install proftpd
В процессе установки выбираем standalone.
2. Добавим нашего ftp юзера, одновременно запрещая ему доступ к shell:
adduser guest --shell /bin/false
3. Дадим полные права на домашний каталог (с правами будем разбираться в конфиге):
chmod 777 -R /home/guest
4. Откроем proftpd.conf и начнем настройку  proftpd:
nano /etc/proftpd/proftpd.conf

тут я опишу что у меня отличается от дефолтного  proftpd.conf

DefaultRoot /home/guest   # "запираем" пользователя guest в своем каталоге
Port          21   #стандартный FTP порт, его надо открыть или изменить на тот который нравится, в этом случае на стороне клиента придется его указать.
RequireValidShell off   # запрещаем shell
PassivePorts 49555 49556  #открываем произвольные порты, нужно для пассивного режима, если FTP клиент в активном режиме, то можно этого не делать

запрещаем юзеру удалять и записывать в домашний католог и вложенные в него (тут можно варьировать, изменяя пути к каталогам и лимиты):


<Directory /home/guest/*>
<Limit DELE WRITE>
DenyAll
</Limit>
</Directory>

Для того, чтобы в логах proftpd отображалось правильное время добавим строки:

TimesGMT off
SetEnv TZ :/etc/localtime

Сохраняем, выходим.

5. Корректно выставляем время:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

6. Проверяем:
 ls -l /etc/localtime

7. Перезапускаем proftpd
/etc/init.d/proftpd restart

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

понедельник, 2 сентября 2013 г.

Фортунки :)

Узнал на каком-то из форумов, что можно установить пакет fortunes-ubuntu-server , который будет показывать разные полезные советы - "фортунки" по Убунту/Линукс. Собственно с помощью этого пакета можно выводить сообщения RSS лент, новости, погоду и т.д.
Меня все же больше интересуют советы по Линукс.

1. Ставим:
apt-get install fortunes-ubuntu-server fortunes fortunes-min fortune-mod fortunes-ru

Проверим:
/usr/bin/ubuntu-server-tip
фортунка должна быть на английском, но нам бы хотелось на русском...

2. Подправим файл  /usr/bin/ubuntu-server-tip
на всякий случай я закоментил строку
#FORTUNEDB="ubuntu-server-tips"
и внес другую
FORTUNEDB="ubuntu-server-tips-ru"

3. Проверим:
/usr/bin/ubuntu-server-tip
должно быть на русском.

4. Изначально я хотел не просто читать фортунки, а чтобы они выводились при залогинивании в системе. Для этого:
nano /home/your_name/.profile
в конец внесем строчку:
/usr/bin/ubuntu-server-tip

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


P.S. Так например, с помощью одной из фортунок я узнал о существавании консольного браузера w3m. Наличие которого, полагаю может помочь в трудную минуту.

Вводим в консоли:
w3m http://google.ru
Видим вывод гугла после ввода поискового запроса, кстати в яндексе поиск не заработал.




четверг, 29 августа 2013 г.

web-интерфейс Deluge через https

1. Остановим Deluge:
/etc/init.d/deluge-daemon stop

2. Перейдем в конфиг-папку Deluge.
cd /home/user/.config/deluge

3.Создадим папку для SSL сертификатов и ключей:
mkdir ssl

4. Перейдем в нее:
cd ssl

5. Сгенерим сертификаты и ключи:
openssl req -new -x509 -nodes -out deluge.cert.pem -keyout deluge.key.pem
отвечаем на предлагаемые вопросы по усмотрению.

6. В настройках web-интерфейса укажем пути к ключу и сертификату:

7. Запустим Deluge:
/etc/init.d/deluge-daemon start

8. Перейдем в web-интерфейс Deluge используя https
https://your_address:8112



вторник, 30 июля 2013 г.

Удаление LAMP server из Ubuntu 12.04

Actually, I'm only going to show how to remove AMP, since I assume you want to keep the GNU/Linux part of your installation. It would be nice if the removal could be done with a single command like:
sudo apt-get remove lamp-server

DO NOT DO THAT!!
That command appears to remove most, if not all, of your Ubuntu Desktop system. So instead, let's work backwards to remove the AMP part.
Remove phpMyAdmin

The phpMyAdmin installation was the last part of my LAMP installation tutorial, so we'll remove that first. From the command line:
sudo apt-get purge libapache2-mod-auth-mysql phpmyadmin

You'll be presented with a screen asking if you want to deconfigure the database for phpMyAdmin.


Removing phpMyAdmin

Go ahead and select Yes and hit <Enter>.
You'll be asked next if you want to purge the database for phpMyAdmin.


Purge phpMyAdmin Database

Again, select Yes and hit <Enter>.

The next screen is a little confusing. It prompts for the database administrator password, but it gives the impression that it's installing a new database.


Enter phpMyAdmin Password

Enter the correct password, (you created the password when you installed phpMyAdmin), select Ok and hit <Enter>. The phpMyAdmin removal should now complete.
Remove MySQL

Now let's see if we can remove MySQL. First we'll see what packages are installed relative to MySQL. Go to your terminal and enter:
dpkg -l | grep ^ii | grep mysql-server | awk -F' ' '{ print $2 }'

My system gives this list of packages.
mysql-server
mysql-server-5.1
mysql-server-core-5.1
php5-mysql

So let's get rid of those.
sudo apt-get purge mysql-server mysql-server-5.1 mysql-server-core-5.1

You have successfully removed MySQL Server from your system.
Remove Apache

First, we'll use a similar command like in the previous step to check what Apache packages are installed.
dpkg -l | grep ^ii | grep apache2 | awk -F' ' '{ print $2 }'

My results look like this:
apache2
apache2-mpm-prefork
apache2-utils
apache2.2-bin
apache2.2-common
libapache2-mod-php5

So let's remove those.
sudo apt-get purge apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5

Apache should be gone from your system.
Cleaning up

There may be a few stray packages left on your system that you no longer need. Get rid of them with:
sudo apt-get autoremove

Взято отсюда: http://www.24may.kharkov.ua/page174.html