Сам скрипт debmirror можно скопировать с другой системы, а для его работы необходимо установить следующие пакеты.
LockFile::Simple и LWP::UserAgent Установка производится следующим образом perl -MCPAN -e shell install LockFile::Simple install LWP::UserAgent
При установке и конфигурировании nginx я решил что у меня получится отключить его логи простым убиранием параметров access_log и error_log из конфигурации, но не тут-то было, спустя несколько дней сервак лег, причиной оказалось 25Гб аксес логов, распологавшихся в каталоге nginx, поэтому они не были заархиврованы, в отличии от логов в /var/log.
Оказывается для того, чтобы отключить логирование в nginx , нужно в конфиге сервера писать следующим образом эти параметры:
Оказывается для того, чтобы отключить логирование в nginx , нужно в конфиге сервера писать следующим образом эти параметры:
access_log off;после этого логи перестали писаться на диск.
error_log off;
Постфикс будет хранить базу пользователей в mysql, администрирование юзеров будет осуществляться через PostfixAdmin
Необходимо установить следующие пакеты postfix postfix-mysql dovecot-pop3d.
Затем стоит установить PostfixAdmin, его установку описывать не буду, она проста.
Для использования БД необходимо создать пользователя postfix, пароль postfix, название БД - mail, можно использовать иные, статья будет описана для этого случая.
Также стоит отметить что в mysql необходимо сделать бинд на 127.0.0.1, т.к. postfix выполняет chroot и не может работать с сокетом mysql, именно поэтому в конфигах postfix указывается 127.0.0.1
Все каталоги с почтой должны принадлежать пользователю mail группе mail.
Далее приступим к конфигурированию сервера postfix
Необходимо установить следующие пакеты postfix postfix-mysql dovecot-pop3d.
Затем стоит установить PostfixAdmin, его установку описывать не буду, она проста.
Для использования БД необходимо создать пользователя postfix, пароль postfix, название БД - mail, можно использовать иные, статья будет описана для этого случая.
Также стоит отметить что в mysql необходимо сделать бинд на 127.0.0.1, т.к. postfix выполняет chroot и не может работать с сокетом mysql, именно поэтому в конфигах postfix указывается 127.0.0.1
Все каталоги с почтой должны принадлежать пользователю mail группе mail.
Далее приступим к конфигурированию сервера postfix
( Read more... )
Задача: Весь трафик http https и ftp пустить через одного провайдера, остальной трафик пустить через другого.
Для этого будем использовать возможности маркировки пакетов в iptables и маршрутизацию при помощи iproute2
В соответствии с настройками маршрутизации, по умолчанию весь трафик направляется в интерфейс для остального трафика, необходимо выделить нужный трафик и отправить в другой шлюз.
В /etc/iproute2/rt_tables добавляем новую таблицу 201 newif
Далее добавляем следующие правила
После этого в iptables прописываем правила для маркировки нужных пакетов
Для этого будем использовать возможности маркировки пакетов в iptables и маршрутизацию при помощи iproute2
В соответствии с настройками маршрутизации, по умолчанию весь трафик направляется в интерфейс для остального трафика, необходимо выделить нужный трафик и отправить в другой шлюз.
В /etc/iproute2/rt_tables добавляем новую таблицу 201 newif
Далее добавляем следующие правила
ip rule add fwmark 1 table newifгде 192.168.10.2 это шлюз провайдера, через который пойдет http трафик.
ip route add default via 192.168.10.2 dev eth2 table newif
После этого в iptables прописываем правила для маркировки нужных пакетов
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 80 -j MARK --set-mark 0x1Пакеты в цепочке output маркируются для того, чтобы трафик squid также подчинялся правилам и отправлялся по нужному маршруту.
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 443 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 192.168.6.0/255.255.255.0 -p tcp -m tcp --dport 80 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 192.168.6.0/255.255.255.0 -p tcp -m tcp --dport 20:21 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 192.168.6.0/255.255.255.0 -p tcp -m tcp --dport 443 -j MARK --set-mark 0x1
Для включения возможности вывода списка файлов в конфиг nginx прописать: autoindex on
location / {autoindex_exact_size off; - обеспечивает вывод размеров файлов в человекочитаемом формате.
root /media/files/ftp;
autoindex on;
autoindex_exact_size off;
}
Для включения проксирования запросов к бэкенду, необходимо в конфиг nginx добавить следующие опции:
server {
listen 80;
server_name example.org;
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Назрела необходимость в использовании mod_rewrite совместно с веб сервером nginx для динамической генерации изображений.
Итак, имеется скрипт на сайте в папке относительно корня веб сайта /forum/ub/ub.php?u=5; необходимо получить вид ссылки /forum/ub/5.png, для этого добавляем в конфиг следующий блок.
Итак, имеется скрипт на сайте в папке относительно корня веб сайта /forum/ub/ub.php?u=5; необходимо получить вид ссылки /forum/ub/5.png, для этого добавляем в конфиг следующий блок.
location /forum/ub/ {
rewrite ^/forum/ub/(.*).png$ /forum/ub/ub.php?u=$1;
}
Если ставить nginx из репозитариев ubuntu, то мы получим версию 0.5.37, что весьма далеко от последней стабильной, поэтому будем ставить из исходников.
Для начала необходимо скачать nginx на странице загрузки оф. сайта http://sysoev.ru/nginx/download.html я выбрал последнюю стабильную версию 0.6.32
Далее для установки понадобится традиционно build-essential и библиотеки необходимые для работы nginx:
Затем стандартно
Для начала необходимо скачать nginx на странице загрузки оф. сайта http://sysoev.ru/nginx/download.html я выбрал последнюю стабильную версию 0.6.32
Далее для установки понадобится традиционно build-essential и библиотеки необходимые для работы nginx:
libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-devих необходимо ставить прямо из репозитариев.
Затем стандартно
./configurenginx по умолчанию устанавливается в /usr/local/nginx/ я не стал менять после установки, а просто для удобства сделал ссылку в каталоге /etc nginx -> /usr/local/nginx/conf/ и составил старт скрипт в /etc/init.d/nginx следующего содержания:
make
make install
( Read more... )
Имеем: 1 сервер - стоит роутером на границе между локалкой и внешней сетью, выпускает локалку во внешнюю сеть.
2 сервер - стоит в локалке за фаерволом.
На первом сервере организован виртуальный хостинг, задача - чтобы с определенного виртуального хоста открывался сайт расположенный на 2 сервере.
Для этого в конфиге виртуального хоста в Apache пишем следующее
На 2 сервере запущен высоконагруженный ресурс и в качестве веб-сервера установлен lighttpd, для того чтобы сервер видел реальные ip адреса пользователей, а не адрес первого сервера необходимо следующим образом изменить конфиг lighttpd.
Первым делом необходимо добавить поддержку модуля mod_extforward , затем в конфиге дописать следующий параметр
2 сервер - стоит в локалке за фаерволом.
На первом сервере организован виртуальный хостинг, задача - чтобы с определенного виртуального хоста открывался сайт расположенный на 2 сервере.
Для этого в конфиге виртуального хоста в Apache пишем следующее
<Proxy *>После этого все запросы на этот виртуальный хост будут проксированы на http://192.168.168.5:80/
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPass / http://192.168.168.5:80/
ProxyPassReverse / http://192.168.168.5:80/
CustomLog /var/www/web48/log/proxy_log common
На 2 сервере запущен высоконагруженный ресурс и в качестве веб-сервера установлен lighttpd, для того чтобы сервер видел реальные ip адреса пользователей, а не адрес первого сервера необходимо следующим образом изменить конфиг lighttpd.
Первым делом необходимо добавить поддержку модуля mod_extforward , затем в конфиге дописать следующий параметр
extforward.forwarder = ("192.168.168.1" => "trust")после этого все проксируемые запросы с 192.168.168.1 будут автоматически исправляться и 2 сервер будет видеть реальные ip адреса пользователей.
Для установки понадобятся сам lighttpd, php и php-cgi.
Итак, включаем поддержку mod_fastcgi в lighttpd и прописываем следующую информацию в конфиге:
Итак, включаем поддержку mod_fastcgi в lighttpd и прописываем следующую информацию в конфиге:
fastcgi.server = ( ".php" => ((после этого перезапускаем lighttp и радуемся работе php.
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
)))