• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Добро пожаловать! Ваш IP-адрес: ec2-54-145-117-60.compute-1.amazonaws.com

    Новости

    Быстрая установка браузера Firefox на Debian 7 wheezy

    Debian по умолчанию поставляется с Iceweasel веб-браузер, а не Firefox. Хотя рекомендуется использовать Iceweasel у вас может быть необходимость в установке Firefox здесь простой способ, как установить Firefox на Debian хриплый, используя репозиторий Debian импорта Linux Mint в. Для начало редактируем /etc/apt/sources.list и добавьте следующую строку:

    deb http://packages.linuxmint.com debian import
    Далее обновляемся:

    # apt-get update

    Далее устонавливаем

    # apt-get install firefox

    Настройка автоматического запуска supervisord на Linux

    Для начало установим supervisor

    # sudo apt-get install supervisor
    Конфигурационный файл лежит в /etc/supervisord.conf, также там и настраиваем запуск PID файла, совместно с файлом который будет скачан далее:
    pidfile=/var/run/supervisord.pid

    Далее скачиваем с github файл в /etc/init.d
    sudo curl https://gist.github.com/howthebodyworks/176149/raw/88d0d68c4af22a7474ad1d011659ea2d27e35b8d/supervisord.sh > /etc/init.d/supervisord

    Задаем права на файл:

    # sudo chmod +x /etc/init.d/supervisord

    и добавляем в автозапуск:

    # sudo update-rc.d supervisord defaults

    После пробуем запустить:

    service supervisord start
    service supervisord stop

    Установка Postgresql 9.3 Debian 7 Wheezy

    Для установки воспользуемся официальным репозиторием.

    Создаем конфиг репозитория.

    sudo nano /etc/apt/sources.list.d/pgdg.list

    Вставляем одну URL репозитория

    deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main

    Узнать кодовое имя дистрибутива можно командой «lsb_release -c»

    Добавляем ключ репозитория.

    wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

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

    sudo apt-get update
    sudo apt-get install postgresql

    так же можно

    sudo apt-get install postgresql-9.3 postgresql-contrib-9.3 postgresql-doc-9.3

    [warn] No PostgreSQL clusters exist; see «man pg_createcluster» … (warning).

    Не давно наткнулся на такую проблему, мне не удавалось полностью установить PostgreSQL на Debian.

    Все началось с:
    sudo apt-get install postgresql
    После чего у меня не запускался postgreSQL и не создавалось директория /etc/postgresql/
    Далее я решил удалить все и начать все с начало.

    sudo apt-get purge postgresql

    Но при удалении и установки по новой я опять получал тоже самое.

    warn] No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).
    Purging configuration files for postgresql-9.1 ...
    Removing postgresql-client-9.1 ...
    Removing postgresql-common ...
    [warn] No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).
    Removing 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
    Purging configuration files for postgresql-common ...

    Не много поискав в интернете я нашел ряд рекомендации и ВОТ, то что мне реально помогло:

    Во первых:
    sudo apt-get --purge remove postgresql\*
    После того, как все пакеты PostgreSQL были удалены, запустите
    rm -r /etc/postgresql/
    rm -r /etc/postgresql-common/
    rm -r /var/lib/postgresql/
    userdel -r postgres
    groupdel postgres

    sudo apt-get install postgresql-9.1 postgresql-contrib-9.1 postgresql-doc-9.1

    Получаем:
    Setting up postgresql-9.1 (9.1.11-1.pgdg70+1) ...
    Creating new cluster 9.1/main ...
    config /etc/postgresql/9.1/main
    data /var/lib/postgresql/9.1/main
    locale en_IN
    port 5432
    update-alternatives: using /usr/share/postgresql/9.1/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
    [ ok ] Starting PostgreSQL 9.1 database server: main.

    На этом все!

    Установка и настройка Sphinx на Windows

    Sphinx является системой полнотекствого поиска, распространяемой под лицензией GPL второй версии. Сфинкс позволяет добавить функции быстрого полнотекстового поика в сторонние приложения и был специально спроектирован для взаимодействия с реляционными базами данных и скриптовыми языками программирования. На данный момент движок позволяет индексировать данные, хронящиеся в базах данных MySQL, PostgreSQL или в любом другом формате через XML-шлюз.

    Для начало идем на страницу загрузки:

    http://sphinxsearch.com/downloads/release/ и качаем Win32 binaries w/MySQL support ну или другую версию по надобности.

    Скачав архив, распаковываем его в любое место на жестком диске, я обычно распаковываю в корень диска D.

    После распаковки у меня получилась папка D:/sphinx-0.9.9-win32, которую я для удобства использования переименовал в просто D:/sphinx

    Теперь у нас есть рабочая версия sphinx, осталось только создать файл настроек.
    Основной интерес для нас представляет папка bin. В ней находятся все утилиты, которые мы будем использовать в дальнейшем. Также нам могут пригодиться файлы sphinx.conf.in и sphinx-min.conf.in, которые представляют собой шаблоны файлов конфигурации. Их можно использовать в качестве примеров при настройке Sphinx.
    Нам так же необходимо подготовить рабочую папку, в которой будут храниться файл конфигурации, индексы и логи. В папке sphinx создадим папку data, а в ней в свою очередь создадим пустой файл config.txt и папки index, log и binlog. Эти папки нужно создать заранее, т.к. Sphinx не сможет создать их сам (у меня, по крайней мере, не смог) и просто не запустится.
    Чтобы запустить Sphinx, его необходимо зарегистрировать как службу Windows. Запустим командную строку от имени администратора и введём следующую команду:
    D:\sphinx\bin\searchd --config D:\sphinx\data\config.txt --install --servicename Sphinx
    При необходимости, удалить ранее установленную службу можно следующей командой:
    D:\sphinx\bin\searchd --servicename Sphinx --delete

    Попытка сразу запустить зарегистрированную службу Sphinx завершится неудачей. Дело в том, что наш файл конфигурации (D:\sphinx\data\config.txt) пока ещё пуст. Добавим в него следующие строки:

    searchd
    {
    listen = 9306:mysql41
    pid_file = c:/sphinx/data/searchd.pid
    log = c:/sphinx/data/log/log.txt
    query_log = c:/sphinx/data/log/query_log.txt
    binlog_path = c:/sphinx/data/binlog/
    }
    Я намеренно убрал все необязательные настройки, оставив только самые важные.

    Настройка listen указывает, что Sphinx будет использовать порт 9306 и протокол mysql. Использование протокола mysql позволяет подключаться к Sphinx как к обычной базе данных MySQL.
    Настройка pid_file указывает расположение pid-файла, который используется для внутренних нужд.
    Настройки log и query_log указывают расположение файлов логов, в которые будут записываться все события.
    Настройка binlog_path указывает расположение файлов, которые могут использоваться для восстановления данных real-time индексов после сбоя.
    Помимо этого, для запуска службы Sphinx необходимо создать хотя бы один индекс. В одной из следующих статей я постараюсь рассказать о создании индексов подробнее, а пока просто создадим фейковый real-time индекс.

    Подробнее...

    Установка postgresql 9.1 с postgis 2

    Установка PostgreSQL на Ubuntu:
    1 - sudo apt-add-repository ppa:sharpie/for-science # To get GEOS
    2 - sudo apt-get -y --force-yes install postgresql-9.1 postgresql-server-dev-9.1 postgresql-contrib-9.1 gdal-bin binutils libgeos-c1 libgeos-dev libspatialite libspatialite-dev libgdal1-dev libxml2 libxml2-dev libxml2-dev checkinstall libproj0 libproj-dev libpq-dev build-essential
    3 - sudo mkdir -p '/usr/share/postgresql/9.1/contrib/'
    4 - cd usr/share/postgresql/9.1/contrib/
    5 - wget http://postgis.refractions.net/download/postgis-2.0.2.tar.gz
    6 - tar zxvf postgis-2.0.2.tar.gz && cd postgis-2.0.2
    7 - ./configure --with-raster --with-topology
    8 - make
    9 - sudo make install

    Далее:
    sudo su postgres -c'createdb -E UTF8 -U postgres template_postgis'
    sudo su postgres -c'createlang -d template_postgis plpgsql;'
    sudo su postgres -c'psql -U postgres -d template_postgis -c"CREATE EXTENSION hstore;"'
    sudo su postgres -c'psql -U postgres -d template_postgis -f postgis.sql' (en un directorio atras estan estos sql)
    sudo su postgres -c'psql -U postgres -d template_postgis -f spatial_ref_sys.sql'
    sudo su postgres -c'psql -U postgres -d template_postgis -c"select postgis_lib_version();"'
    sudo su postgres -c'psql -U postgres -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;"'
    sudo su postgres -c'psql -U postgres -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"'
    sudo su postgres -c'psql -U postgres -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"'

    Установка Apache Solr на Debian/Ubuntu

    Apache Solr — это расширяемая поисковая платформа от Apache. Система основана на библиотеке Apache Lucene и разработана на Java. Особенности ее в том, что она представляет из себя не просто техническое решение для поиска а именно платформу, поведение которой можно легко расширять/менять/настраивать под любые нужды — от обычного полнотекстового поиска на сайте до распределенной системы хранения/получения/аналитики текстовых и других данных с мощным языком запросов.
    Длы того чтоб начать установку Apache Solr, нам нужно убедится что у нас установлено Java
    # java -version
    если ее нет то можно воспользоваться статьями написанные ранее.
    http://it-admin.org/os-linux/ustanovka-sun-java-development-kit-jdk-7-na-debian-squeeze.html
    http://it-admin.org/os-linux/ustanovka-java-6-na-ubuntu-debian.html
    в зависимости от того, что Вам нужно, то и ставим - 6 или 7 версию!

    Далее скачивает и устанавливаем apache-solr с официального сайта http://archive.apache.org/dist/lucene/solr/

    $ cd /tmp
    $ wget http://archive.apache.org/dist/lucene/solr/4.6.1/solr-4.6.1.zip
    $ unzip solr-4.6.1.zip
    $ mv solr-4.6.1.zip solr
    $ cp -r solr /путь_к_папке_домена/solr
    $ cd /путь_к_папке_домена/solr/example
    $ java -jar start.jar

    Проверьте в браузере:
    http://yourdomain.com:8983/solr/admin/
    Собственно, должна отобразиться стартовая страничка apache-solr

    Осталось поместить его в автозагрузку:
    $ nano /etc/init.d/solr
    и вставляем туда скрипт:

    Подробнее...

    nginx: Защита файлов от прямых ссылок ngx_http_referer_module

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

    Наиболее гуманно будет выдавать посетителю другого сайта изображение с текстом "Это изображение доступно только на сайте www.example.com". Если ссылаются на загружаемый файл — перенаправлять на страницу загрузок вашего сайта.

    Сделать это можно с помощью модуля ngx_http_referer_module: он будет анализировать поле "Referer" (ссылающаяся страница) в запросе посетителя и сравнивать со списком разрешенных доменов. Конечно, посетитель может подделать это поле в своем запросе, но это не так просто и обычно этого никто не делает.

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

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

    Для изображений:

    server {
    ...

    location ~ \.(jpg|gif|png)$ {
    valid_referers none blocked server_names ~\.google\. images.yandex.ru;
    if ($invalid_referer) {
    rewrite ^(.*)$ /img/invalid_referer.png redirect;
    }
    }
    }

    Подробнее...

    nginx: Ограничение доступа по паролю

    Используя директивы auth_basic и auth_basic_user_file, можно ограничить доступ ко всему серверу, сайту, каталогу или любому URL по маске, с авторизацией по протоколу "HTTP Basic Authentication".

    Формат файла со списком логинов и паролей такой же, как в Apache. Создание такого файла утилитой htpasswd.
    Добавьте в нужную секцию файла конфигурации две директивы:

    location /admin/ {
    auth_basic "Admin Zone";
    auth_basic_user_file /var/www/example.com/admin/.htpasswd;
    }

    auth_basic задает имя ресурса (realm), которое будет показано посетителю в окне ввода пароля. auth_basic_user_file — путь к файлу с логинами и паролями. Данные из файла считываются заново при каждом обращении посетителя к ресурсу.
    Если необходимо, чтобы файл с паролями находился в каталоге, доступном посетителям, скрыть его от всех можно следующим кодом:

    server {
    listen 80;
    server_name example.com;
    location / {
    ...
    }
    location ~ /\.ht {
    deny all;
    }
    }

    Этот код скроет от посетителя все файлы, начинающиеся с ".ht"

    Монтирование удаленной папки через тунель SSH

    Предположим Вам понадобилось, чтоб данные удаленной папки были у Вас на локальном сервере или компьютере, для этого мы будем использовать монтирование удаленной (находящейся на другом компьютере) папки с помощью защищенного туннеля ssh.
    Передача файлов и работа с папкой в таком случае более безопасна, чем, например, ftp. Для реализации задуманного нам понадобиться SSHFS (это файловая система работающая через модуль ядра FUSE).
    sudo apt-get install sshfs

    Далее загружаем модуль ядра fusе (если в вашем ядре его нет)
    modprobe fuse

    Добавляем группу через которую будет работать SSHFS. (скорее всего данная группа будет создана при установке sshfs)
    addgroup fuse

    Добавляем в эту группу пользователя из под которого вы планируете использовать удаленное монтирование.
    adduser user fuse

    разрешаем группе fuse обращаться к устройству
    chown root:fuse /dev/fuse

    Создаем каталог в который будем монтировать удаленную папку.
    mkdir /folder-local

    Теперь монтируем необходимую папку с удаленного сервера.
    sshfs user@server-remote:/folder-remote /folder-local

    Теперь в папке /folder-local находиться все содержимое вашей удаленной папки (/folder-remote) и вы с ней работаете как будто она находиться в вашей системе.