Чат

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

Я понимаю, что гораздо удобнее и быстрее помогать в скайпе или по email. Однако, комментарии останутся на сайте и всего скорее помогут не только вам.

Важно

У нас заработал ФОРУМ. Все вопросы, которые не касаются статьи, а так же вопросы по конкретно вашему случаю нужно задавать и обсуждать именно там, в разделе "Помощь пользователям".

42 комментария

Написать свой
  1. Vitaliy Orlov
    Vitaliy Orlov
    08.05.2016 в 8:42 пп
    Комментарии закрыты, данный раздел трансформировался в форум "Помощь пользователям", который Вы можете найти на форуме
  2. Maxsm
    27.02.2016 в 9:22 дп
    Привет Виталий помогите сделать. Есть 2 таблицы [tbA] И [tbB] в [tbA] 3 поля A_id,A,B_num в [tbB] тоже 3 поля B_id,A_id,B

    В [tbA] к примеру 2 записи

    A_id => '1', B_num => '1' A => 'Запись 1А';
    A_id => '2', B_num => '2' A => 'Запись 2А';

    В [tbB] к примеру 3 записи

    B_id => '1', A_id => '1', A => 'Запись 1B';
    B_id => '2', A_id => '2', A => 'Запись 2B';
    B_id => '3', A_id => '2', A => 'Запись 3B';

    К примеру на вывод будут такие данные.
    ---------------
    Запись 1 A

    Запись 1 B
    ---------------
    Есть кнопка пропустить записи

    Суть в том что надо что бы при нажатие пропускались записи к примеру нажал на кнопку вывелись следующии записи.
    ---------------
    Запись 2 A

    Запись 2 B
    ---------------
    А проблема в том что не могу понять как сделать что бы к записи 2 A при следующем нажатии выводилась запись 3B
    ---------------
    Запись 2 A

    Запись 3 B
    ---------------
    Вот сам пример [https://yadi.sk/d/gdsK1EKUpbP6L] помогите пожалуйста если не трудно.
    • Vitaliy Orlov
      Vitaliy Orlov
      27.02.2016 в 12:59 пп
      Я бы сделал так:
      1) Передавал бы id пропуска, переменная которая каждый раз увеличивается на 1
      2) В скрипте skip считал бы смещение, напишу абстрактный пример, чтобы ты понял:

      // id смещения, например 156
      $skip = isset($_POST['skip']) ? intval($_POST['skip']) : 1;
      // всего записей в таблицах
      // например тут 16
      $totalRecordsTbl1 = $db->get_field('SELECT COUNT(id) FROM tbl1');
      // а тут 13
      $totalRecordsTbl2 = $db->get_field('SELECT COUNT(id) FROM tbl1');
      // считаем нужное смещение для каждой таблицы
      $offsetTbl1 = ($skip > $totalRecordsTbl1) ? $skip % $totalRecordsTbl1 : $skip;
      $offsetTbl2 = ($skip > $totalRecordsTbl2) ? $skip % $totalRecordsTbl2 : $skip;

      // выбираем нужные записи
      $recordsTbl1 = $db->get_field('SELECT * FROM tbl1 LIMIT '.$offsetTbl1.',1')
      $recordsTbl2 = $db->get_field('SELECT * FROM tbl2 LIMIT '.$offsetTbl2.',1')
      идея думаю ясна
      • Maxsim
        27.02.2016 в 3:26 пп
        Пробыал твой пример но так и не получлось. (: Что -то логика всё же хромает.не мог бы ты показать на моём примерё пожалуйст
        • Vitaliy Orlov
          Vitaliy Orlov
          27.02.2016 в 3:29 пп
          Сорри, мне лень разбираться в твоем коде. Куда копать я тебе написал. Если совсем не получается, попробуй обратиться на toster, там много энтузиастов.
          • Maxsim
            27.02.2016 в 4:04 пп
            Ок ну и на этом спасибо.
          • Maxsim
            03.03.2016 в 6:40 дп
            Подскажи пожалуйста как лучше сделать в таком случае? Или как объединить в 1 запрос?

            Или как сделать типа что то такого foreach($sqlA as $rowA and sqlB as rowB) ну что бы в 1 цикле 2 массива?


            $sqlA = $db->SL_query("SELECT a_id,a_author,a,a_date,tb2.user_id,user_photo,user_name FROM `A` tb1, `users` tb2 WHERE tb1.a_author = '{$user_id}' AND tb1.a_author = tb2.user_id ORDER by `a_date`");

            foreach($sqlA as $rowA){

            $sqlB = $db->SL_query("SELECT tb1.b_id,b_k_a,b_author,b_for_us,b,b_date,tb2.user_photo,user_name FROM `B` tb1, `users` tb2 WHERE tb1.b_k_a = '{$rowA['a_id']}' AND tb1.b_for_us = '{$user_id}' AND tb1.b_author = tb2.user_id");

            foreach($sqlB as $rowB){

            }

            }

          • Vitaliy Orlov
            Vitaliy Orlov
            03.03.2016 в 1:08 пп
            Привет. Не до конца понимаю конечную цель, но постараюсь ответить:
            1) foreach в том виде, что ты написал не подойдет никак. Разве что ты результаты сохранишь как многомерный массив, типа:

            $a = [
            'key1' => 'val1',
            'b' => [
            'key1' => 'val1',
            ],
            ];
            но это получится тоже самое что у тебя есть сейчас. Тоже самое касается и других циклов.

            2) Всего скорее ты ищешь что-то вроде:

            SELECT * FROM b WHERE b.id IN
            (SELECT id FROM a WHERE user_id=153)
            или этого

            SELECT a.id as a_id, b.id as b_id FROM a
            JOIN b ON b.a_id = a.id
            WHERE a.user_id=153
            Как и писал зависит от того, что тебе нужно получить в результате.

            По вложенным запросам справка тут: Subquery Syntax, по joinам тут: JOIN Syntax. Только обрати внимание, что производительность обоих вариантов сильно зависит от индексов, поэтому не забудь составленный в конечном варианте запрос проверить через EXPLAIN, чтобы убедиться что нужные индексы задействованы.

            Ну, и кстати, твой вариант, вполне рабочий и не самый плохой. Часто именно таким образом (доп запрос в цикле по результатм исходного запроса) разбивают большие запросы, чтобы оптимизировать скорость выборки. Разумеется, всегда стоит исходить из целесобразности разных подходов в конкретной ситуации.
          • Maxsim
            04.03.2016 в 4:42 дп
            Привет спасибо. Да вариан рабочий но он не походит в целом.

            JOIN норм более и менее подошёл.

            Вообщем всё норм работает, записи правильно выводит, но имя того кто написал запись "B" непрвильно выводит, к примеру запись написал Максим а выводит Дима. А в "A" всё правильно выводит.

            Как быть, в таком случае?

            $sql_a_b = $db->SL_query("SELECT

            tb1.user_name,

            tb2.a_id,a_author,a,

            tb3.b_id,b_k_a,b_author,b_for_us,b

            FROM `users` tb1

            JOIN `A` tb2 ON tb2.a_author = tb1.user_id

            JOIN `B` tb3 ON tb2.a_id = tb3.b_k_a

            WHERE tb2.a_author = '{$user_id}' AND tb3.b_for_us = '{$user_id}'
            ");

            foreach($sql_a_b as $row_a_b){
            //A
            $tpl->set('{a_us_name}', $row_a_b['user_name']);
            $tpl->set('{a}', $row_a_b['a']);

            //B
            $tpl->set('{b_us_name}', $row_a_b['user_name']);
            $tpl->set('{b}', $row_a_b['b']);
            }
          • Vitaliy Orlov
            Vitaliy Orlov
            05.03.2016 в 1:03 дп
            У тебя не правильно запрос составлен, вкратце ты делаешь сейчас следующее:

            user [id = 1] + ( добавить поля из [A] + добавить поля из [B])
            user [id = 2] + ( добавить поля из [A] + добавить поля из [B])
            потом ты делаешь что-то типа

            foreach {
            print (user [id = 1] + ( добавить поля из [A] + добавить поля из [B]))
            }
            т.е. у тебя всегда будет одно и тоже имя выводиться

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

            SELECT (SELECT 'name1') as user_a, (SELECT 'name2') as user_b
            где вместо SELECT name1 будет выборка user_name для A, а вместо SELECT name2 будет выборка user_name для B

            Но, честно сказать, мне кажется, что-то ты там ужасное мутишь - не должно быть таких сложных запросов. Похоже кто-то налажал при проектировании БД. Если нет возможности оптимизировать её структуру, то лучше упрощай все максимально, т.е. разбей на отдельные запросы: выборка из A, выборка из B, поиск users для А, поиск users для B - так будет проще в будущем разобраться, поддерживать и искать ошибки.
          • Maxsim
            14.03.2016 в 3:37 пп
            Спасибо тебе, всё таки использовал изначальный вариант.

            А вот к примеру записей 1000 получаеться 1000 раз запрос будет делать в таблицу `B`?


            $sqlA = $db->SL_query("SELECT * FROM `A` tb1, `users` tb2 WHERE tb1.a_author = tb2.user_id ORDER by `a_date`");

            foreach($sqlA as $rowA){

            $sqlB = $db->SL_query("SELECT * FROM `B` tb1, `users` tb2 WHERE tb1.b_k_a = '{$rowA['a_id']}');

            foreach($sqlB as $rowB){

            }

            }
          • Vitaliy Orlov
            Vitaliy Orlov
            15.03.2016 в 7:47 дп
            Привет. Да, будет 1000 запросов.
  3. Pargev
    22.02.2016 в 4:16 пп
    Здравствуйте Виталий, вожу, что вы много говорите о Хетцнер. Вот я уже 2 года пользуюс их виртуалками, хочу переходить на дедики. У меня хостинг на Cpanel и около 1000 клиентов. Что посоветуйте? И брать декстопные или Xeon.
    спасибо
    • Vitaliy Orlov
      Vitaliy Orlov
      22.02.2016 в 6:38 пп
      Привет! Я у Хетцнера, уже несколько лет, пока всем доволен. Хорошее сочетание цены - качества. Периодически сталкиваюсь с другими хостерами, но то или иное не устраивает и ухожу от них.
      По своему опыту, могу сказать что разница между их виртуалками (которые vServer CX) и дедиком огромная. Т.е. я прямо несколько виртуалок переносил на 1 дедик и чувствовал, появившейся запас ресурсов. Сейчас не могу найти моего плана, у меня виртуалки были на плане который раньше стоил 16 евро, сейчас его нет. Не знаю как будет у тебя, но для меня было важно иметь большой винт и много оперативки, а это есть на большинстве дедиков.
      Что касается выбора платформы, у меня все дедики: Core i7, 32 Gb Ram, 2x3TB в Raid 1 . Для меня это самая подходящая конфигурация из-за больших баз данных. Если у тебя много клиентов (именно клиентов у которых свои сайты, а не посетителей), то тебе надо будет добавить SSD диски, чтобы не было затыка в производительности винтов, либо сразу брать конфигурацию с ними. Т.к. это всего скорее потянет дополнительные расходы, то надо исходить из того, сколько именно ты готов тратить на всё это. Я бы стартанул с аукциона и более/менее подходящей конфигурации (которая с запасом покроет текущие потребности) и смотрел где будет "узкое горлышко", а дальше отталкиваясь от этих размышлений, либо брать более мощный дедик и платить соответственно, либо масштабировать их кол-во. В моем случае, я использую второй вариант. Однозначно, десктопных конфигурация бояться не стоит, если они покрывают потребности.
  4. Дмитрий
    30.11.2015 в 2:22 пп
    Привет, я тут видел вы проводили курсы по ExtJs, вы сейчас их проводите? если да, напишите программу и расценки. спасибо
    • Vitaliy Orlov
      Vitaliy Orlov
      30.11.2015 в 3:56 пп
      Привет, я не проводил курсы, а проходил. Проводила компания Farata Systems. Стоимость тренинга была около 200$. Я могу что-то путать, но сейчас из-за ориентированности лицензий на enterprise сектор, курсов кроме официальных, практически нет. Во всяком случае я не видел ничего "свежего". Хотя может быть это связанно с тем, что я и не особо интересовался этим.
  5. Михаил
    24.11.2015 в 8:57 пп
    Здравствуйте, я тоже задумался насчет перехода на Линукс, но ничего про это не знаю, поэтому вот мои вопросы:
    - существует много версий ОС на основе Линукса, какую выбрать?
    - какой поставить хороший антивирус, если Касперский не сделал домашний антивирус под Линукс?
    - как быть с проблемой отсутствия некоторых программ под Линукс? Wine насколько эффективен?
    Книгу какого автора почитать чтобы начать изучать программирование?
    • Vitaliy Orlov
      Vitaliy Orlov
      24.11.2015 в 9:39 пп
      Привет Михаил,

      если никогда с линуксом не сталкивался, советую начать с установки его в виртуальную машину, ознакомлением и изучением - это даст понимание с чем ты столкнешься. Теперь по вопросам:

      1) Изначально, я выбрал Linux Mint для ПК и для ноута. Но т.к. пока что, стабильный релиз построен на старой убунте 14.04, то это, конкретно в моем случае, не совсем подошло. Поэтому я на ноуте уже перешел на KUbuntu на базе Ubuntu 15.10 - полет нормальный, вскоре и основной ПК переведу на него. В любом случае советую начинать с Ubuntu - у него самое большое и адекватное комьюнити, на мой взгляд.

      2) Лично я не использую антивирус на рабочем пк, 99% софта ставится из проверенных репозиториев, поэтому с заражениями проблем нет. Кроме того, согласно политике линукс, ты должен работать из под пользовательской учетки, что ограничивает распространения вирусов, даже в случае заражения. На боевых серверах, при необходимости используется ClamAV

      3) Для меня Wine не очень заработал, надо пробовать. Т.е. софт я запустил, но его части, например встроенная поддержка FTP не работала так, как ожидалось. Для себя, я подобрал все аналоги софта который использовал в Windows. Но при необходимости, есть возможность установить Windows в VirtualBox и использовать его для каких-то специфических задач. Например, я так запускаю раз в год старинный сканнер, у которого родные драйвера есть только на 98 windows и какие-то кастомные на windows xp. Уверен, что смогу запустить его и в линукс, но надо сидеть разбираться. Основная проблема - это игры, если ты играешь на ПК во что-то покруче сапера, то тогда надо либо держать обе ОС, либо оставаться на винде. В моем случае это не критично, мне хватает сапера и шахмат.

      4) Не очень советую начинать с книг - это не эффективно. Советую найти курсы в своем городе, которые будут идти 2-3 месяца и записаться на них. Не online, а именно offline курсы. А дальше, после их окончания, уже можно начинать читать книги и брать online курсы, какие именно будут актуальны и необходимы тебе, ты определишься сам. Разумеется, это если ты хочешь достичь каких-то результатов. Если просто, чтобы быть в курсе или для чтения перед сном, то начать можно с Программирование на Java для детей, родителей, дедушек и бабушек, Якова Файна.
  6. Игорь
    17.03.2015 в 6:57 пп
    Виталий, спасибо за советы! Но у меня еще вопросы к тебе.

    1) Помимо кода кнопок социальных сетей ты используешь их виджеты (наподобие виджета вконтакте "подписаться на новости")? Поделись пожалуйста кодом кнопок соц сетей (тот который ты лично размещаешь на своих сайтах). В какой файл темы этот код надо помещать чтобы он отображался на страницах?

    2) Как сделать чтобы поисковики впервые находили текст на моем сайте. Добавлять в аддурилки или постить вручную в социалки просто нереально (т.е. реально если у тебя один сайт, а если этих сайтов 20 и более и на каждом по несколько сотен постов). Как ты автоматизируешь этот вопрос?

    3) Через какую программу ты готовишь файл экспорта для вордпресса (файл отложенного автоматического постинга в течение определенного времени). Я знаю только одну прогу Textkit. Какие инструменты ты используешь (названия прог)?

    4) Подскажи как импортировать базу данных на сервер с другого сервера. Я в этом вопросе полный ноль и поэтому боюсь что напортачить с сервером. Я создал в асп менеджер 4 полный архив с настройками и сайтами пользователя и импортировал его на новом сервере с панелью асп менджер лайт 5 через пункт импорт пользователя. Все сайты импортировались нормально, а вот базы импортировались не все. Как импортировать недостающие базы?

    5) Как ты настраиваешь защиту своего сервера? Используешь ли ты какой-либо метод защиты от dos и ddos атак?
    • Vitaliy Orlov
      Vitaliy Orlov
      18.03.2015 в 4:21 пп
      1) Как и говорил код можешь взять со страниц генераторов, например заходишь в фейсбук на эту страницу: Facebook Like Box, нажимаешь кнопку "Get Code", получаешь код. По аналогии делаешь для всех остальных сервисов, которые тебе нравятся..

      Определенного файла нет, это зависит от темы и движка сайта. Например, на Wordpress можешь зайти в админку, добавить виджет "Текст" в сайдбар и в него вставить полученный ранее текст. Ну, т.е. никакие файлы не надо править.. Ну, или если хочешь в просмотр поста, тогда файл single.php и page.php тебе в помощь.. Но, как я и говорил, единого совета нет, зависит от темы..

      2) Я особо не заморачиваюсь с этим, т.е. я использую это, но выборочно, не для всех страниц. В основном, после добавления статьи я обновляю сайтмап и делаю пинг ПС. Я использую пинг поисковых систем. Про это можешь почитать тут: Wiki.Sitemaps в разделе "Использование Http запроса". В Wordpress это делает например плагин Google XML Sitemaps. В моем случае написан "постер", который это делает сам. Кроме того у него есть функционал публикующий ссылки в Twitter и FB через их API. Кодом постера делиться не буду, потому что это самописная система, где эти функции лишь очень малая часть функционала. API FB и Twitter-а, ты без проблем найдешь в гугле, а как его использовать найдешь на stackoverflow.

      3) У меня свой постер, который следит за всеми сайтами и сам публикует туда то, что надо. Сделано это по разному, но большинство нормальных CMS имеют для этого встроенный функционал, например у Wordpress есть XML-RPC и даже публикация по email. На крайний случай, можно самому добавить скриптик который реализует API для публикации постов напрямую в базу, например так у меня сделано для DLE

      4) Делаешь следующее:
      а) заходишь на сервер по ssh
      б) выполняешь команду: mysqldump -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ ИМЯ_БАЗЫ>database-dump.sql в) получаешь файл database-dump.sql, копируешь его на второй сервер, например по ftp
      г) на втором сервере, создаешь базу и пользователей через панельку isp
      д) импортируешь базу командой: mysql -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ ИМЯ_БАЗЫ < database-dump.sql е) перенос закончил, теперь в конфигах сайта надо поправить имя базы/пользователя/пароль, если отличаются

      5) По разному, по большому счету этим занимаюсь не я, а админы. В основном все сводится к тому, что блокируются все открытые порты через iptables, кроме нужных. Настраивается fail2ban на популярные сервисы и еще всякое по мелочи. Если кто-то сильно нагружает серв, руками смотрю кто это. Чаще всего это поисковики, их ограничиваю через robots.txt.. Если не понимают (например этим грешит baidu), тогда после превышения лимита запросов, например за 5 минут, отдаю ему 503 ошибку, чтобы поубавить его пыл. Так же есть фильтрация по юзер агентам. Особо наглых людей, которые пытаются парсить меня со своих серверов, блокирую прямо подсетями, навсегда. Разумеется убедившись что эта подсеть принадлежит, например, филиппинской хостинг компании, а не AOL.. В особо тяжелых случаях, обращаюсь к специалистам, которые могут использовать как спец софт, железки так и прокси сервера, куда перенеправляется трафик, до попадания к тебе.. Ну, про это можешь почитать в гугле по запросу "Защита от DDOS цена". Но это бывает крайне-крайне редко, в моем случае, я могу, например, блокировать континентами или странами (например весь Китай или СНГ), поэтому чаще всего обходится парой правил в ipfw или iptables.. Да и никому, кроме тех кто хочет спарсить, не нужны мои сайты.. я ж не банк или онлайн игра..
  7. Игорь
    17.03.2015 в 11:53 дп
    Привет Виталий! Мне очень нужна твоя консультация.

    1) Подскажи как HETZNER назначает основной IP для выделенного сервера? У меня на сервере после установки системы в файле /etc/sysconfig/network-scripts/ifcfg-eth0 в строке BOOTPROTO="dhcp". Может надо туда static прописать?

    2) Через какие сервисы ты проверяешь уникальность текста (рерайта и копирайта) написанного на английском языке?

    3) Какие плагины (укажи названия плагинов) ты используешь на сайтах вордпресс для интеграции их в социальные сети?

    4) Ты используешь на своих сайтах технологию подтверждения своих авторских прав на тексты? Как ты подтверждаешь свои авторские права на заказанный рерайт в системах ГУГЛ, ЯХУ и БИНГ?
    • Vitaliy Orlov
      Vitaliy Orlov
      17.03.2015 в 6:23 пп
      Привет,

      1) У меня ip прописан вручную, конфиг такой:

      # device: eth0
      DEVICE=eth0
      BOOTPROTO=none
      ONBOOT=yes
      HWADDR=6c:62:**:**:**:1d
      IPADDR=64.***.***.70
      NETMASK=255.255.255.255
      SCOPE="peer 64.***.***.65"
      IPV6INIT=yes
      IPV6ADDR=2a01:4f8:***:***::2/64
      IPV6_DEFAULTGW=fe80::1
      IPV6_DEFAULTDEV=eth0
      ** звездочки я добавил, чтобы не светить ip

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

      2) Чаще всего через гугл, руками. Либо через advego plagiatus

      3) Никакие, добавляю кнопки руками прямо в тему. У каждой соц сети, есть страницы для девелоперов, там все написано и чаще всего они предоставляют генераторы кнопок. Ну, на этом сайте, от Яндекса кнопки стоят, Яндекс.Share. Когда-то ставил кнопки от Add This, но пришел к выводу, что все эти сторонние сервисы и плагины, создают только проблемы.. Проще в тему ручками добавить то, что надо. Но опять же повторюсь, я не особый поклонник кнопок, и прочих приблуд, особенно тех которые требуют внешние зависимости.. Ну, а добавить "родные" кнопки FB, Twitter или G+, дело 5 минут.

      4) Не использую, тестил только на этом сайте, хотел чтоб моё лицо в выводе гугла появлялось.. Но этого так и не случилось.. Либо, я не видел. Защищать контент, по-моему мнению, тоже самое, что носить воду в сите. Захотят украсть, украдут. Раз ты делаешь для людей, то пусть люди и пользуются.. Главное чтоб ПС впервые этот контент у тебя на сайте находили.. Ну, а потом пусть расползается.. Для того чтобы загнать контент в ПС можно использовать аддурилки в "вебмастерах" поисковых систем, либо постить ссылочку туда, где тусуются быстроботы, например, твиттер или facebook подойдет.
  8. Евгений
    15.03.2015 в 5:43 пп
    Виталий не подскажите

    поставил апачи 2.4 - It works

    а вот php - http://localhost/index.php
    пишет - The requested URL /index.php was not found on this server.

    вроде уже много чего попробовал но не исправляется...
    • Vitaliy Orlov
      Vitaliy Orlov
      16.03.2015 в 1:16 дп
      привет, данная ошибка говорит, что apache не может найти файл index.php
      исправляется так:
      1) Ищем в настройках хостов DocumentRoot, всего скорее где-то тут:
      ../apache/conf/extra/httpd-vhosts.conf

      Путь будет выглядеть что-то типа: d:/apache/folder

      2) Помещаем туда файл index.php
      полный путь: d:/apache/folder/index.php

      3) Открываем в браузере, должно работать

      Ты не написал установил ты уже php или нет, так что в результате у тебя будет либо открываться страница, если установил. Либо будет запрос на загрузку файла, если еще не установил.
  9. Игорь
    08.03.2015 в 1:44 пп
    Привет Виталий! У тебя на сервере isp manadger 5 установлен? Подскажи что может быть с панелью? Сегодня во вкладке возможности отключил nginx и все сайты во вкладке www - домены исчезли и теперь ни один сайт не работает. При этом базы данных целы и в директории www все папки доменов нетронуты.
    • Vitaliy Orlov
      Vitaliy Orlov
      11.03.2015 в 6:38 дп
      Привет. По всей видимости isp manager взаимодействует с конфигурацией nginx и после его отключения эта связь потерялась, что привело к пропаже доменов. Попробуй включить nginx обратно.
  10. Игорь
    06.03.2015 в 5:28 пп
    Привет Виталий! Ты извини, если я тебя достаю, но так хочется во всем разобраться.У меня несколько вопросов к тебе.

    1. Какой длины (сколько символов минимум ) должен быть пост на сайте под адсенс?

    2. Сколько денег надо чтобы заказать 100 статей на анг. языке плюс 3 статьи в неделю на год вперед?

    3. Сайты под адсенс можно на одном серваке разместить? Каждый сайт должен иметь уникальный IP или можно все сайты повесить на один IP?

    4. Я понимаю что все зависит от посещаемости, но все же какие-то тематики сайта наиболее предпочтительные. Сайты каких тематик ты чаще всего делаешь?

    5. Все сайты регистрируешь на себя или придумываешь несколько имен и фамилий и на них регистрируешь сайты?

    6. Где дешевле всего купить международные домены com/org/net?

    7. С каким из этих сайтов прибыльней работать?

    8. Как ты поднимаешь посещаемость сайтов?

    9. Сайт обязательно должен быть на английском языке или есть и другие прибыльные языки для сайта. Например сайты на немецком языке наверное тоже прибыльные?

    10. Проводишь ли ты интеграцию сайтов в социальные сети (перепост в социалки, размещение виджетов социальных сетей на сайте и. т. д.)?
    • Vitaliy Orlov
      Vitaliy Orlov
      06.03.2015 в 9:55 пп
      Привет,
      1) От 300 слов

      2) Тут как договоришься, от 3$ до 10$ за тысячу символов. Оптом 2-5$ за статью.
      12 мес * 4 = 48 недель * 3 статьи = 144 + 100 = 250 статей * 3$ = 750$
      Но, в среднем 1 сайт до 250$ долларов, т.к. что-то рерайтится, что-то копипаст и т.д.

      3) СДЛ-ы можно на одном серваке, но много посещаемых сайтов лучше на разных серваках, чтоб был запас по нагрузке. С IP для СДЛ нет смысла заморачиваться. Тут смысл в том, что ты же делаешь хороший сайт, для людей, по рекомендациям от гугла, никакого обмана. Поэтому если на сайт накладывают санкции, значит что-то не так и с этим надо реально разбираться. Идея думаю понятна.

      4) Я делаю всех тематик, проще всего ориентироваться такой логикой: что люди готовы рекламировать и насколько это популярно. Для старта можешь попробовать "строительство", "перевозки", "спорт", "здоровье"

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

      6) Где дешевле я не знаю, я регистрирую у компаний hostgator.com, godaddy.com, hvosting.ua . Тут надо наверно озвучить одно правило: сначало сайт, потом покупка доменов. Т.е. вначале должен быть полностью сделан сайт и только потом покупать домены. Раньше я придумывал новые проекты, чуть ли не каждую неделю, регистрировал домен, а потом проходил год, а проект все еще не был начат.. Поэтому вначале сайт, потом хостинг/домен.

      7) Прибыльнее всего работать с сервисами. Это когда ты можешь предоставлять какую-то услугу по подписке. Что касается контекстной рекламы, то без разницы, это плавающий показатель.

      8) Сама растет с возрастом, кол-вом и качеством контента, самостоятельно практически никак

      9) Английский, Испанский, Немецкий, Французский. Поищи в гугле, есть "топ языков интернета", первая десятка работает, дальше просто логически подумай хорошо или плохо живут люди этой страны, ну и пробовать надо. Я пробовал сайты на 15 языках, переведенные через гугл транслейт, популярные языки работают. Но такие сайты быстро палят ПС и они вылетают.

      10) По-разному, по большей части, если это удобно, то да. Например, чтобы могли статью лайкнуть или быстро забрать к себе в Facebook. Главное правило, чтоб это было реально удобно и не навязчиво.
  11. Константин
    05.03.2015 в 7:57 пп
    Здравствуй, Виталий!
    Видел у тебя в блоге что ты какое то время назад занимался на курсах по ExtJs. Хотел тебя попросить скинуть хоть какую нибудь информацию по ExtJs, т.к пришлось вплотную заняться этим фрейворком, но нормального материала, особенно на русском, так найти и не удалось ;(
    Пока тещу себя надеждой , что вскоре Будам возобновит курсы по ExtJs, но, увы, пока глухо:(
    • Vitaliy Orlov
      Vitaliy Orlov
      06.03.2015 в 1:34 пп
      Привет!
      Особо ничего не могу порекомендовать, т.к. давно не работал с ExtJS.
      Попробуй поискать другие курсы. Если нет денег на курсы, тогда сойдет и "торрент extjs" в гугле, там всего скорее будут не самые последние версии, но для старта хватит.
      Так же могу порекомендовать, как бы это банально не звучало, youtube и amazon, но в этом случае очень желательно знать англ.
      В качестве общей базы перед extjs советовал бы учебник от javascript.ru
  12. Игорь
    05.03.2015 в 8:37 дп
    Привет Виталий! У меня несколько вопросов к тебе.

    Ты вообще никак не поднимаешь PR, а просто публикуешь уникальный контент и все?
    Где берешь уникальный контент, да еще и на английском языке?

    Насколько я знаю в Адсенс принимают только тематические сайты с высокой посещаемостью. Как ты поднимаешь посещаемость сайтов и какие тематики более прибыльные?

    На сайтах регулярно публикуешь контент или публикуешь определенное количество постов и потом забиваешь на публикацию?
    • Vitaliy Orlov
      Vitaliy Orlov
      06.03.2015 в 1:21 пп
      Привет!

      1) Специально не поднимаю, для меня в этом нет особо смысла, т.к. я не продаю ссылки. Для контекстной рекламы, главное это кол-во посетителей и оптимизация самого контекстного блока (размер, расцветка, расположение).

      2) Уникальный контент, рерайт пишут фрилансеры. На любой бирже их достаточно много. Из "наших" это fl и weblancer, из зарубежных odesk и elance.

      3) В Адсенс принимают любые сайты, главное чтобы первый был нормальный. Разумеется, не все тематики и "качество" подходит Адсенсу, но он и не единственный, есть еще Chitika, Bidvertiser, ClickBank и т.д.
      Прибыльность, в контексте зависит не от тематики, а от посещаемости. Т.е. если будет сайт про форекс с посещаемость 150 чел/сутки и сайт про подгузники с посещаемость 10.000/сутки, то по-любому второй будет прибыльнее. Из моих наблюдений, очень много зависит от смены алгоритмов ПС и от везения :)

      4) В среднем 100 постов на старте + 2-3 в неделю, с автопостингом ~ на год. Через 3 и 6 мес ревью по прибыльности. Если через год не выходит на самоокупаемость, то домен не продлеваю и всё. Есть еще всякие нюансы, с переносом "не рабочего" контента, но там много тонкостей: кое что рерайтится, что-то раскидывается на др сайты и т.д. Контент по итогу не пропадает..
  13. Игорь
    04.03.2015 в 9:09 дп
    Привет Виталий! Ты случайно не разбираешся в настройке панели асп менеджер 5. Купил недавно и установил на дебиан 7, а настройки импортировать не получается (настройки вместе со всеми данными экспортировал из панели аспменеджер4). Также никак не получается настроить php-fpm и nginx. Подскажи как правильно настроить все это дело или может быть возьмешься за настройку. Я заплачу за настройку.
    • Vitaliy Orlov
      Vitaliy Orlov
      04.03.2015 в 9:28 дп
      Привет! Я в этом не смогу помочь, я не специализируюсь по администрированию, разве что делаю что-то "для себя", на свой страх и риск. В частности, все что связано с ispmanager, я отдаю вот этим ребятам: https://www.isplicense.ru, у них же и покупаю лицензии. Их расценки можно найти тут: Разовые работы. Либо второй вариант, найти админов на фриланс биржах, но там надо аккуратнее, там еще те "спецы" попадаются..
      • Игорь
        04.03.2015 в 10:03 дп
        Я у них и купил, но они говорят что это не входит в пакет 902 р (данная услуга доступна при покупке лицензии и подразумевает более тонкую настройку).
        Хотел спросить у тебя как ты поднимаешь ТИЦ И ПР своих сайтов. Вероятно прогоняешь свои сайты по базе трастовых сайтов с высоким тиц. У тебя есть база таких сайтов? Какой прогой прогоняешь? Не поделишься ссылка базой сайтов с высокими пузомерками на которых можно зарегаться и оставить ссылку на свой сайт?
        • Vitaliy Orlov
          Vitaliy Orlov
          04.03.2015 в 8:41 пп
          Я самостоятельно никак не поднимаю ПР. На ТИЦ как и на Яндекс вообще давно забил. У меня 90% проектов нацелены на US+CA+AU, там в ходу Google+Bing+Yahoo. Такой выбор был сделан исходя из платежеспособности рекламодателей. Раньше покупал дропнутые домены с высоким Trust Rank и PR 3+, сейчас забил, ориентируюсь на СДЛ и по моим личным ощущением рулит "тематический, качественный контент", если уж совсем все плохо, то ручной обмен ссылками с высокоПРными сайтами твоей тематики, но сейчас за это оч. сильно наказывают, если спалят конечно..
          В общем, какого-то единственного рецепта нет, где-то 100 статей надо закинуть, где-то title и description оптимизировать, где-то пару статей с бэклинками опубликовать, где-то фоток и видео добавить..
  14. Игорь
    02.03.2015 в 10:43 дп
    Все мои сайты являются сателитами. Я взял не новый сервер, а с аукциона за 27 евро и рассчитывал разместит все сателиты на не нем, разделив их на равные части по 10-11 сайтов и выделив этим частям по отдельному IP. Но с апишниками не прокатило. Посоветуй как выбить у них еще 3 айпишника (у них на сайте написано, что можно получить еще 3 айпи без покупки флексипака). Я списывался с ними и они ответили что должна быть реальная техническая необходимость в выделении дополнительных апишников. Как мотивировать эту техническую необходимость? Вариант с покупкой большого количества отдельных маленьких сервачков для меня пока не приемлем по деньгам, так как я только начал развивать эти сателиты и дохода с них пока не получаю.

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

    Также интересно твое мнение по поводу прибыльности тематик сателитов и доменных зон этих сателитов. Насколько я знаю самыми раскупаемыми являются ссылки с ru сателитов. РФ зона насколько я понял вообще не раскупается и поэтопу на рф сайтах сателиты не делают. С каких доменных зон хорошо раскупают ссылки и где эти домены можно по дешевке купить?
    • Vitaliy Orlov
      Vitaliy Orlov
      02.03.2015 в 4:00 пп
      Не знаю про инфу про 3и ip-шника, надо будет посмотреть. Реальная техническая необходимость, это работа каких-либо сервисов на одном и том же порту. Ну, например, nginx и apache не могут одновременно работать на 80 порту. Но, тут я думаю тебя попросят привести реальное описание того, что ты хочешь сделать. Там тоже сидят специалисты, и они не любят, когда их принимают за тупых буржуев, поэтому сильно обманывать их не советую. В любом случае, даже если тебе выделят новые ip, они в 90% случаях будут из твоей же подсети, поэтому ПС очень быстро это спалит. Если ты об этом беспокоишься. Для саттелитов, мое мнение, лучший вариант разнос по разным провайдерам.

      Про французских хостеров, так же ничего не слышал. Я рассматривал только США, немцев и Нидерланды. Если не ошибаюсь, я рассматривал вот эти: hetzner.com, leaseweb.com, server4you.com, datashack.net, ovh.com . С частью из них списывался, про все пытался найти отзывы, в частности про uptime, support и замену деталей в случае поломок. В итоге я остановился на hetzner-е и пока доволен. Сейчас зашел на один из серверов, у меня uptime сервера 637 дней. Т.е. сервак как включили, настроили, так он и работает, ни разу не перезагружавшись. Тут конечно, есть один нюанс, мой лимит на сервера от 50 до 100 евро в месяц за сервер, без учета платы за установку, поэтому мне чуть легче в вариантах. Но если ты найдешь что-то приемлемое за меньшую цену, отпиши пожалуйста.

      У меня все международные домены com/org/net, но там и сайты на буржуйском, есть правда пару заброшенных инет магазинов в com.ua с сапой, но там они давно заброшены, приносят 20-30$ / год и хорошо. В русском сегменте, на мой взгляд полный отстой - очень дешевая стоимость клика, очень прихотливый Яндекс. Поэтому я сориентировался на Google+Bing+Yahoo и сайтами, в основном на англ.
      Как пример, у меня есть русский сайт про работу, там посещалка около 2к уников/день, доход от AdSense 3$/мес. Так же есть какой-то старый саттелит на французском, там около 500 уников, доход 30$. В общем, в снг сегменте (русский, украинский, беларруский и т.д.), трудно, поэтому я на него забил.
      Что касается ссылок, я не особо в курсе текущей ситуации, знаю что Google сейчас сильно злиться на покупные ссылки, даже те которые продают "руками" на закрытых форумах. Я давно стараюсь уйти в сторону СДЛ и контекстной рекламы, на мой взгляд, это правильное русло. Все конечно тянет меня в дорвеи, но там стало гораздо все сложнее, за последние лет 5. Поэтому все же мои текущие ориентиры: СДЛ, платные сервисы, трафик, английский, контекстная реклама.
  15. Игорь
    01.03.2015 в 5:12 пп
    Привет Виталий! Случайно нашел твой блог когда искал инфу по установке кода Sape на вордпрес. Согласно рекомендациям установил и настроил плагин в3 тотал кэш. И все сайты стали просто летать. Но тем не менее для сайтов не хватает мощности VPS c 2 гигами памяти и вот я решил перейти на выделенный сервер. У тебя на сайте нашел инфу о хостере Hetzner и арендовал у них хостинг, но тут же возникла проблема с выделением дополнительных IP (не хотят выделять дополнительные IP и все, а они мне очень нужны. Сайтов целых 42, а как известно поисковики очень не любят когда на одном апишнике висит много сайтов). Подскажи пожалуйста как у них выбить побольше IP. Также почитал отзывы об этом хостере и что-то они не очень лестные. Очень интересует твое мнение об этом хостере. Подскажи, есть ли недорогие зарубежные хостеры предоставляющие выделенные серверы и свободно выдающие дополнительные айпишники?
    • Vitaliy Orlov
      Vitaliy Orlov
      01.03.2015 в 8:35 пп
      Привет Игорь,

      Я давно перешел на Hetzner и пока что никуда от него уходить не хочу. Мой основной критерий это адекватные деньги за адекватные ресурсы. Пока что, все что предлагают остальные кого я рассматривал оказывалось или не качественным или очень дорогим. Поэтому других рекомендовать не могу. Хотя нет, наверное могу - я бы узнал про colocation варианты в твоем городе (это когда покупаешь и обслуживаешь железо сам, а оно стоит в стойке датацентра), но тут надо все считать. Т.к. у тебя тоже много сайтов, то думаю тоже стоит просчитать такой вариант уже сегодня. Исходя из моего опыта, там где 42, там не долго и до 420 :)

      Теперь про проблему с IP адресами: на самом деле, проблема не у самого Hetzner-а, а вообще в мире. IPv4 адреса тупо заканчиваются, поэтому RIPE ввела жесткое ограничение на их расдачу. Те кто успел отхватить себе подсети, те и раздают, но таким ребятам как hetzner это проблематично. Поэтому, они эту процедуру усложнили. Не знаю как сейчас, раньше без проблем можно было заказать второй ip, чаще всего его давали из той же подсети. Аргумент который работал "Мне надо запустить какое-то еще другое приложение на том же порту что и веб-сервер", это например может быть другой веб-сервер, например какой-нибудь java-сервер. По стоимости это была + 1 eur / мес. Второй вариант, это уже выделение подсети (12 ip + 1, если не ошибаюсь), тут уже сложнее: во-первых надо докупать flexi pack, раньше стоил + 12 eur, и только потом можно было заказать дополнительные подсети. Около года назад, это делалось так же со страшным скрипом, еще до аренды flexi pack списывались с их менеджерами и узнавали дадут или нет. В итоге все же дали, аргументом было что надо для организации виртуальных машин. Но это именно так и было. Плюс тут был особый случай, т.к. вместо 6 vps, переезжали на 1 dedicated, поэтому после переезда получив подсеть, освободили по-сути 6 ip. В общем, с этим сейчас туго, если прям сильно-сильно надо разные ip, я бы попробовал для начала получить +1 ip, а потом просто брать небольшие сервачки и разносить проекты по ним, разумеется везде выбивая +1 ip. Вот тут есть аукцион: https://robot.your-server.de/order/market/, можешь посмотреть там маленькие сервачки. Конечно, если надо прям много ip, тогда наверно лучший вариант это бить по 5-6 сайтов и разносить по разным хостерам. Но, тут все зависит от задач: если это сайты клиентов, это одно, если это сетки сателлитов, тогда совсем другое..
  16. Юрий
    01.03.2015 в 4:21 пп
    Добрый день. Виталик, давно мучаюсь созданием сопровождения к 12 страницам. Ты занимался раскладкой русской клавиатуры, а я никак не могу соединить на http://love.ideal-school.ru/kohannia/kohannia_01.html массив клавиатуры, массив алфавита и массив самого слова, чтобы считать ошибки, количество баллов и время работы на странице. Делаю и русский вариант. Если есть интерес, время, то пиши. Юрий.
    • Vitaliy Orlov
      Vitaliy Orlov
      02.03.2015 в 12:31 дп
      Привет! Очень интересное приложение, обязательно продолжай.

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

      Чтобы тебе было проще, я тут за пару часов, набросал основную логику: github.
      Посмотреть в работе, можно тут: github preview. У этого вьювера есть проблемы, поэтому лучше все же скопируй код с гитхаба руками и запусти у себя. Обрати внимание, что там 3и файлика: index.html, style.css, kohannia.js

      Если javascript ты еще не знаешь, тогда советую пройти вот этот учебник: Javascript.ru - Учебник. Это не займет много времени, но ты сможешь подтянуть то, что еще представляет сложности.

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