Рубрика: man

  • nginx на Ubuntu — просто!

    Задача: построить сервер по технологии front-end back-end (поправьте если я это не так понял)

    то есть чтоб nginx занимался работой с посетителями, а апач работал по запросам nginx и отдавал nginx’y хтмл по lo
    тем самым не расходуя системных ресурсов зря.
    и так у меня есть чистая инсталяция ubuntu-server 8.04

    В инете много информации по nginx, но как заставить его работать в паре с apache2 я почему-то не встречал.

    Как Апач устанавливать рассказывать не буду, как mysql тоже гугл легко подскажет.

    Лишь немного проясню суть.

    Качаем nginx
    Берём свежую версию тут
    http://technokracy.net/nginx/
    на момент написания статьи

    wget http://technokracy.net/nginx/nginx_0.6.13~grrr-1_i386.deb

    Устанавливаем

    dpkg -i nginx_*

    Также потребуется модуль к Апачу, которого нет в дефолтной поставке

    apt-get install libapache2-mod-rpaf

    Модуль для трансляции ip адресов, чтоб апач видел не локальные обращения nginx, а ип адреса пользователей.

    Теперь сайты, что обслуживает Apache вешаем на локальный интерфейс и на порт например 8080 у меня несколько сайтов на сервере и я их расположил по порядку на 8081 8082 и т.п.

    итого в /etc/apache2/ports.conf

    Listen 127.0.0.1:8080
    Listen 127.0.0.1:8081
    Listen 127.0.0.1:8082

    в каталоге /etc/apache2/sites-enabled находятся файлы с конфигурациями сайтов.

    привожу пример одного из них

    ServerAdmin mail@gmail.com
    ServerName mysite.net
    DocumentRoot /var/www/site1
    ServerAlias mysite.net
    ErrorLog /var/log/apache2/site1-error.log
    CustomLog /var/log/apache2/site1-access.log common
    LogLevel error

    /etc/nginx/nginx.conf
    я не менял ничего
    а вот /etc/nginx/sites-enabled
    я сделал такой конфиг

    server {
    listen 80;
    server_name mysite.net;

    access_log /var/log/nginx/site1-nginx.access.log;

    location / {
    proxy_pass http://127.0.0.1:8080/;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 40m;
    client_body_buffer_size 256k;

    proxy_connect_timeout 120;
    proxy_send_timeout 120;
    proxy_read_timeout 120;

    proxy_buffer_size 64k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    #Static files location
    location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|html|flv|mp3)$ {
    root /var/www/site1; }

    }

    проверяем конфиг на корректность

    # nginx -t
    ну и если всё замечательно то

    /etc/init.d/nginx start

    ну и можно попробовать зайти на http://mysite.net

    Дальше отснеффирил заголовки от своего web сервера

    HTTP/1.1 200 OK
    Server: nginx/0.5.32
    Date: Mon, 29 Sep 2008 15:35:42 GMT
    Content-Type: text/html
    Connection: close
    Last-Modified: Mon, 29 Sep 2008 13:53:07 GMT
    ETag: «8146-ddb6-458092fd0b6c0»
    Accept-Ranges: bytes
    Content-Length: 56758

    значит всё работает.

    чтоб nginx стартовал автоматически я добавил в /etc/rc.local
    строчку перед exit 0

    /usr/local/bin/nginx

    хотя можно было через rc-update (когда писал ман, почему пришла такая идея 🙂 )

    Отправил будущий сервер в ребут для проверки, как он поднялся, так всё заработало.

    Если есть замечания прошу отписывать 🙂

  • Как созать архив в консоли 7z (для тех кто не читает маны)

    Вот чудо команда архивирования

    7z a -t7z archive.7z dir1

    Упакует dir1 в archive.7z тип архива будет 7z

    ну а распаковывать 7z x archive.7z

  • Файлообменник для офиса (автоматическое удаление через 7 дней)

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

    smb.conf

    [exchange]
    path = /var/exchange
    comment = Обменник
    ; available = yes
    ; browsable = yes
    public = yes
    writable = yes
    hosts allow = 192.168.100.1/16

    в крон добавил строку (#crontab -e)

    01 0 * * * find /var/exchange/ -type f -mtime +7 -exec rm -f {} \;

    01 0 * * * find /var/exchange/ -type d -mtime +7 -exec rm -r {} \;

    Каждую ночь находить в /var/exchange/ файлы (вторая строка папки) что созданы ранее чем 7 дней назад и удалять найденные.

  • Прозрачный прокси (NAT) для небольшой сети

    Заметка больше для себя 🙂
    Всегда раздавал инет в организации через squid3, но тут захотел сделать всё удобно и для себя и для людей.

    Ман не полный, но может кому поможет, а может кто дополнит 🙂

    OS ubuntu 8.04 server

    Нам потребуется софт (как установить думаю знаете)

    1) dhcp у меня уже действовал (dhcp3-server)
    2) dnsmasq Для трансляции днс запросов (умеет кстати быть dhcp сервером) (тут ставьте самую новую обязательно)
    3) squid3 (для передачи http трафика) (можно и без него пустить если через него то для файрвола сначало надо добавить правило

    iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080,443 -j DNAT --to 192.168.100.192:3128Code language: Bash (bash)

    )
    4) iptables (у меня уже был установлен)

    в /etc/squid3/squid.conf добавил

    http_port 3128 transparent
    visible_hostname proxy
    acl our_networks src 192.168.100.0/255.255.255.0
    http_access allow our_networksCode language: Bash (bash)

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

    далее в консоли разрешаем форвардинг

    echo 1 > /proc/sys/net/ipv4/ip_forwardCode language: Bash (bash)

    дальше в консоли говорим апитейблсам перебрасывать всё что приходит на ppp0

    iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADECode language: Bash (bash)

    Дальше ручками указал на внутренней машине настройки сети
    ИП, маску, шлюз и днс(такойже как и шлюз)

    Пинги идут rdp работает аська ирк браузер 🙂
    Но учтите, что при перезагрузке правило для иптейблса сбросится
    Поэтому читаем вот этот пост

  • ubuntu hasp server

    Ранее я писал ман http://forum.ubuntu.ru/index.php?topic=14194.msg153951
    НО
    Случилось горе, умер системный винт, и в экстренном порядке начал переставлять hasp на дополнительный сервер.

    Действия проводил на ubuntu 7.10, как буду переносить на 8.04 отпишусь.

    Качаем драйвер aksparlnx-1.7-i386.tar.gz

    распаковываем и запускаем buid.sh

    да кстати у вас должены стоят linux-headers

    У меня собралось без каких либо проблем.

    Далее искал менеджер лицензий оказалась задача не из лёгких. ранее он был на http://ftp.freesources.info но теперь его там не стало.
    в итоге нашёл его на ftp://ftp.linux.kiev.ua/pub/mirrors/ftp.etersoft.ru/WINE@Etersoft-1.0/WINE/Ubuntu/7.10/

    Взял 2 файла
    haspd-modules_2.0-1_i386.deb
    haspd_2.0-1_i386.deb

    Оба успешно устанавливаются.
    Дальше старт демону
    /etc/init.d/haspd start
    На все пунктах DONE-e
    Ну и всё 🙂