IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [489]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [189]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [444]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [353]
    Сети, сетевые технологии, оборудование... [267]
    Смартфоны [4963]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [47]
    Электронные книги [95]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1112]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [613]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1338
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2013 » Октябрь » 5 » Создание своего сайта/блога и зеркалирование его в i2p
    08:29
    Создание своего сайта/блога и зеркалирование его в i2p

    Создание своего сайта/блога и зеркалирование его в i2p

    Изображение пользователя Chibiko.

    I2P — это не TOR, не анонимайзер, а собственная сеть, свои сайты.
    Прошло всего ничего с последней статьи о том как подключиться к ней (не буду вдаваться в подробности - сам хотел такую написать, но всё никак руки не доходили), и мне захотелось поэксперементировать.

    Итак. Цель статьи как понятно из заголовка - установка и настройка своего хостинга с сайтом и пробросом его в i2p.

    Имеется: роутер i2p (настроенный по этой статье)
    Безлимитный интернет.

    Ну.. поехали.

    Для начала ставим LAMP. В интернете есть куча статей по настройке nginx в i2p, но я увы преверженец apache. Посему LAMP....

    sudo apt-get install php5 apache2 mysql-server php5-mysql libapache2-mod-php5

    Так сказать прожиточный минимум. Остальное подтянется. Не забудьте в mysql ввести пароль от root'a при установке. И хорошо запомнить его, для тех у кого нет памяти - лучше записать.

    Теперь нам надо настроить Apache.

    Для начала определимся. У меня сайт... эм.. блог... Эм.. страничка.. В общем не важно. Мне хватит и на /home метров 200... Посему буду его держать в папке с i2p.
    Создаём папку $HOME/.i2p/eepsite/docroot/www - там у нас будет сайт.
    Если он уже есть у вас, то его бэкапчик, или самораспаковывающийся архив суём туда. Если нет - ну и пофиг. Попозже к этому вернемся.
    Поехали, нас ждёт Apache!
    В теории тут настраивается всё просто.

    Для копирования файла настройки из виртуального узла по умолчанию в новый файл (mysite) введите в командной строке следующую команду:

    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

    Отредактируйте в нем новый файл настройки (mysite):

    sudo nano /etc/apache2/sites-available/mysite

    Измените корневой узел документов, указав в нем новое местоположение:

    /home/$USER/.i2p/eepsite/docroot/www/

    Измените «Directory directive» путем замены <Directory /var/www/> на <Directory /home/$USER/.i2p/eepsite/docroot/www/>

    Сохраните файл mysite

    Активация нового виртуального узла

    Для отключения виртуального узла по умолчанию и включения нового узла запустите терминал и выполните следующие две служебные программы в окне терминала:

    sudo a2dissite default && sudo a2ensite mysite

    Перезапустите сервер HTTP Apache:

    sudo service apache2 restart

    Работа с несколькими проектами

    После этого небольшого тюнинга по адресу http://localhost нам выводится содержимое папки «www». И если там что-то уже лежит, то это нам и покажут 8) Но порой работаешь сразу над несколькими проектами — и теперь нам необходимо создать домены в этой папке с соответствующими привязками.

    Итак, идем в папку /etc/apache2/sites-available/ и создаем там файл vhosts.conf.
    touch /etc/apache2/sites-available/vhosts.conf

    После этого открываем его любым текстовым редактором и добавляем туда такой текст:

    <VirtualHost *:80>

    ServerName first.my

    ServerAlias www.first.my

    DocumentRoot /home/$USER/.i2p/eepsite/docroot/www/first.my

    </VirtualHost>

    <VirtualHost *:80>

    ServerName second.my

    ServerAlias www.second.my

    DocumentRoot /home/$USER/.i2p/eepsite/docroot/www/second.my

    </VirtualHost>

    Сохраняем документ, идем в свою папку /home/$USER/.i2p/eepsite/docroot/www/ и там создаем соответственно папки first.my и second.my.

    Далее открываем в текстовом редакторе файл /etc/hosts и добавляем в конце следующий текст:

    127.0.0.1 first.my
    127.0.0.1 second.my

    После этого активируем vhosts.conf в apache:
    cd /etc/apache2/sites-enabled/

    sudo ln -s ../sites-available/vhosts.conf

    Задача выполнена. Все, что теперь осталось — только перегрузить сервер.

    sudo service apache2 restart

    После этого, набрав в адресной строке адреса http://first.my или http://second.my Вы должны увидеть содержимое соответствующих папок.

    mod_rewrite

    PS как выяснилось позже, у установленного таким образом апача отсутствует mod_rewrite, что делает невозможным использование .htaccess. Решение:

    sudo a2enmod rewrite

    sudo nano /etc/apache2/sites-available/default

    Меняем у элементов «AllowOverride NONE» на «AllowOverride ALL»

    sudo services apache2 restart

    Поздравляю. Тут кончается первая часть. Установка и настройка apache. Теперь можно положить свой сайт в /home/$USER/.i2p/eepsite/docroot/www/ если ещё не сделали конечно. Для тех, кто за NAT'om - рекомендую использовать например сервис noip - на данный момент он бесплатен, и на 1-м аккаунте одновременно можно держать до 3-х доменов, правда чтобы настроить надо натыкаться..

    Кроме того там есть удобная утилита noip2, которую можно поставить из исходников... ИЛи из deb-пакета. Скачать скомпиленный уже пакетик можно тут (57,32 kb). При установке он запросит логин/пароль от учётной записи, ваше доменное имя и частоту обновления.
    Теперь осталось только дообавить в /etc/crontab строчку
    @reboot /usr/local/bin/noip2
    Вуаля, всё должно работать.

    Для дальнейшей простоты я буду называть "свой" сайт test.no-ip.biz. В сети i2p он будет носить имя test.i2p. Вы же не забудьте поменять их на свои.

    Часть 2-ая. Настройка i2p. Зеркалирование блога на wordpress.

    Помните начальную фразу про заворачивание Apache? Тоже самое надо сделать и для i2p.
    nano $HOME/.i2p/eepsite/contexts/base-context.xml
    И меняем значение переменной
    <Set name="resourceBase">/home/$USER/.i2p/eepsite/docroot/</Set>
    на
    <Set name="resourceBase">/home/$USER/.i2p/eepsite/docroot/www/</Set>

    Заходим в менеджер туннелей: 127.0.0.1:7657/i2ptunnel/index.jsp
    Создаём новый серверный HTTP туннель:





    Попадаем в настройки:






    Теперь по пунктам:

    • Название(N) и Описание(e) — Просто имя и описание туннеля. Ни на что не влияют.
    • Адрес(H) и Порт(P) — Адрес и порт нашего веб-сервера. Мы будем ставить на 127.0.0.1 и порт 80.
    • Имя веб-сайта(W) — Домен, на котором мы планируем держать сайт.
    • Файл секретного ключа(k) — Файл, в котором будет храниться ключ, по которому генерируется адрес туннеля. Совет: после генерации файла (размер 663 байта) сразу сделайте его резервную копию, иначе, при его потере, вы потеряете доменное имя. Оно будет забито за вами, но вы не будете иметь к нему доступ.

    Нажимаем «Сохранить». Затем «Запустить». После запуска идём в настройки туннеля и копируем Локальный адрес назначения(L). Он пригодится нам при регистрации в DNS.


    Регистрация в DNS (красивый и бесплатный DNS в i2p)

    Регистрация на сайте, предоставляющем hosts.txt в общем-то необязательна, ибо в I2P DNS является полностью распределённым. Клиенты сами обмениваются между собой «адресными книгами». Но уж если хочется, то… заходим на сервер stats.i2p и вводим свой хост [Имя веб-сайта(W)] и Локальный адрес назначения(L).

    Регистрация завершена!

    Через некоторое время ваш test.i2p будет доступен в сети i2p прямо по доменному имени!

    Теперь начнём линковку....

    Прежде, чем приступить к этой задаче, необходимо переделать туннель для сайта. Это несложно и делается в консоли управления. Сделайте у себя также, как на картинке, вставив свой адрес сервера, порт и домен.

    Local destination создается автоматически. Больше на той странице менять ничего не надо. Сохраняйте (кнопка в самом низу страницы) и стартуйте этот туннель. После старта станет доступна кнопка Preview со ссылкой типа http://q3ekhqgqxnk6pp4axm76bh4wbazgmskbj5vxlzoj76soarecgf3a.b32.i2p/. Если ваш сайт загружается по этой ссылке, то считайте вы уже прошли квест на четверть пути.

    Теперь адаптация сайта под i2p. У меня - блог на Wordpress.

    Для начала надо заменить все ссылки на сайте. Это можно сделать путем изменения записей в базе данных.

    Подключитесь к базе данных и выберите вашу базу:
    # mysql -p
    mysql> use wordpress;

    Теперь необходимо найти таблицу опций

    mysql> show tables;
    У меня она называетя wp_options. У вас может быть имя таблицы с каким-нибудь другим префиксом. Например, wp1_options. Когда вы нашли нужную таблицу пошлите 2 запроса, исправляющих параметры сайта. Их через админку wordpress не получится изменить.

    mysql> update wp_options set option_value="/" where option_name="siteurl";
    Query OK, 1 row affected (0.01 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    mysql> update options set wp_option_value="/" where option_name="home";
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    Вуаля, теперь бОльшая часть ссылок будет работать правильно как в обычной сети, так и в i2p.

    Следующий шаг это поиск абсолютных ссылок внутри сайта. Например, вот код меню, которое показывается посетителю моего сайта. Например:

    <div id="menu">
    <ul>
    <LI><a href="/">Блог</a></LI>
    <LI><a href="/?cat=113">Администрирование</a></LI>
    <LI><a href="/?cat=112">Программирование</a></LI>
    <LI><a href="/?cat=119">Linux</a></LI>
    <LI><a href="/?cat=120">Комиксы</a></LI>
    <LI><a href="http://dev.blindage.org/">Проекты</a></LI>
    <LI><a href="http://blindage.org/?cat=122">Трекинг посылок</a></LI>
    </ul>


    <div style="color:black;font-size:80%;background-color:orange;border:2px solid red;margin:2px;">Внимание! Помните, что несмотря на то, чт
    о вы используете I2P, некоторые страницы сайта имеют вставки картинок и
    видео с сайтов из обычного интернета, что потенциально ведет к деанонимизации.</div>

    </div>

    Теперь когда вы исправили подобные недоразумения можно переходить к третьей задачи и изменять уже содержание записей. Обычно записи выводятся с помощью функции the_content('Прочитать полностью …'); в главном цикле шаблона index.php. Проблема в том, что эта функция не отдает содержание записи, а выводит его. Её необходимо заменить на другую. В т.к. другой нет, то напишем свою :)

    $content = get_the_content(); //получили нефильтрованое содежание
    $content = apply_filters('the_content', $content); //применили фильтры (обязательно)

    //а вот здесь изменяется ссылка, ведущая на картинки и другие вставленые в запись файлы
    if ($i2p) $content = str_replace('cdn.blindage.org', 'vbudi2aibazsx65ywxawef2uaalcbdv34jia3nwu3s2ehonbl72q.b32.i2p', $content);
    echo
    $content;
    //the_content('Прочитать полностью …'); //а оригинальную функцию просто закомментируйте. она не нужна.
    ?>

    Не забудьте vbudi2aibazsx65ywxawef2uaalcbdv34jia3nwu3s2ehonbl72q.b32.i2p заменить на свой.

    Иииии… ВСЕ! Проверяйте как выглядит ваш сайт в i2p.

    Для справки:
    chibiko.no-ip.biz
    i2p: chibiko.i2p

    PS пойду отдохну. Как обычно, замечания/исправления/дополнения приветствуются. Заодно копирну на свой блог статейку... А то сюда почему-то первее выложил.... >__<

    PPS по мотивам:
    http://www.wikireality.ru/
    http://www.shpargalko.com/2010/03/01/i2p-nastrojka/
    http://habrahabr.ru/post/97996/
    http://www.shpargalko.com/2010/03/01/i2p-nastrojka/
    http://blindage.org/?p=5281


    http://kubuntu.ru/node/11714

    Категория: Linux и не только | Просмотров: 846 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024