Profruit banner

Умен звънец в openHAB

16 декември 2023

Телефонът е винаги с мен и сега, където и да се намирам получавам известие от openHAB, че някой е позвънил и чака пред вратата. А ако ме няма вкъщи става ясно часа и датата на последното позвъняване.

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...


If hackers hack your site, Ubuntu will collapse. I want to resist because Profruit never choose you. You chose Profruit!

Една машина с операционна сървърна система и един сайт е разточително. Сървър Apache е създаден на модулен принцип. Той владее 67% от пазарния дял на сървърите към днешен ден. Особеното в него е, че може да се създават екземпляри, които да копират неговия процес и по този начин да се пуска повече от един път. Това е основата, за създаване на виртуални сървъри, които ще обслужват автономно всеки един нов сайт. Примера приведен долу показва как става създаване на пореден виртуален хост в Debian базирани системи.

Стъпка 1

Преглед на каталог /etc/apache2/sites-available Този каталог съхранява конфигурационните файлове на виртуалните сървъри (хостове) на Apache. По подразбиране там се намира файл default, който съответства на хост localhost. Този файл се копира, за да бъде основа за всеки следващ виртуален хост.
cd /etc/apache2/sites-available
Нагледно, чрез съединение по sftp. sftp

Стъпка 2

Влезли в този каталог, изпълнете команда 'ls', за да прегледате съдържанието.
ls
Отговор в терминала на PuTTY. PuTTY или през Midnight Commander Midnight Commander

Стъпка 3

Копирайте конфигурационен файл ‘default’ за новия сайт. За примера аз ползвам profruit.eu.
sudo cp default profruit.eu

Стъпка 4

Създайте каталог на новия хост
sudo mkdir /var/www/profruit.eu

Стъпка 5

Организация на правата. Каталогът на Apache e /var/www. Правата определихме за този каталог в темата: FTP сървър ProFTPD в Ubuntu Server 10.04, чрез следните команди:
sudo chown -R profruit /var/www sudo chmod 775 /var/www
Проверка на нещата с команда
ls -l /var
връща резултат за каталог /var/www това: drwxr-xr-x 3 profruit root 4096 Apr 15 12:46 www що се касае /var/www/profruit.eu проверено с аналогична команда, нещата са: drwxr-xr-x 2 root root 4096 Apr 15 12:47 profruit.eu Използвам момента, да препоръчам на windows - потребители безплатната апликация WinSCP. WinSCP Вижда се, че притежател на създадения каталог е root и групата е root. На практика вие можете да триете каталози и създавате такива (да речем по протокол sftp), но не можете да качите файловете на бъдещия си сайт в създадения каталог, защото сте лишени от права за писане и се прибягва до промяна на собственост и промяна на режим. Елегантен начин е следната команда:
sudo mkdir -p /var/www/profruit.eu
Прегледът показва резултат drwxr-xr-x 2 profruit profruit 4096 Apr 15 12:50 profruit.eu

Стъпка 6

Време е да подредим вътрешния двор на нашия сървър, като създадем Apache work group, която да чете и пише в създадения домейн. Добавяме потребителя към Apache work group
sudo usermod -a -G www-data profruit
-a, --append append the user to the supplimental GROUPS mentioned by the -G option without removing him/her from other group -G, --groups GROUPS new list of supplementary GROUPS Добавяме каталога, който да бъде достъпен за Apache group:
sudo chgrp -R www-data /var/www/profruit.eu
Разрешаваме на потребителите от групата на Apache да качват и свалят файлове по протокол SFTP:
sudo chmod -R 2770 /var/www/profruit.eu
Проверка на измененията. За целта преминете в директория /var/www и прегледайте съдържанието й:
cd /var/www ls -l
Отговорът следва да е за profruit.eu: drwxrws--- 7 root www-data Сега можете да качите файловете на вашия сайт в създадения виртуален хост. Използвайте FileZilla, Total Commander, WinSCP или каквото там ви допада.

Стъпка 7

Отворете файл profruit.eu с текстови редактор от каталог /etc/apache2/sites-available, когото създадохме в Стъпка 3. В него ще конфигурираме новосъздадения хост.
spoiler :
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options -Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Всъщност редактирате пътищата до каталога, който съдържа файловете на виртуалния сървър. В случая това е път /var/www/profruit.eu. Този път се споменава на две места: у параметър DocumentRoot и в заглавката на секция <Directory /var/www/profruit.eu“ Така следва да бъде:
spoiler :
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName profruit.eu DocumentRoot /var/www/profruit.eu <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/profruit.eu> Options -Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Желателно е отделен каталог за логовете на Apache и реален email-адрес.

Стъпка 8

Трябва да активираме новия хост. Apache ползва каталог /etc/apache2/sites-enabled, за да определи кои хостове да включи. Продължението изисква създаване на символическа връзка. Изпълнете следната команда:
ln -s /etc/apache2/sites-available/profruit.eu /etc/apache2/sites-enabled/profruit.eu
може и така:
sudo a2ensite profruit.eu
Съществува и обратна команда:
# a2dissite ...

Стъпка 9

Презареждаме Apache, за да влязат измененията в сила:
sudo /etc/init.d/apache2 reload

Стъпка 10

Трябва да редактираме файл hosts. Той стои в /etc/hosts и изглежда така:
127.0.0.1 localhost.localdomain locahost 192.168.1.103 server.home.net server # The following lines are desirable for IPv6 capable hosts #::1 localhost ip6-localhost ip6-loopback #fe00::0 ip6-localnet #ff00::0 ip6-mcastprefix #ff02::1 ip6-allnodes #ff02::2 ip6-allrouters
Дописваме в него, чрез mc следния ред: 127.0.0.1 profruit.eu

Стъпка 11

Тази стъпка е временна. По първоначално условие ние все още нямаме запис на новия хост в DNS служба, която да пренасочва заявки към нашето IP според желаното име. Да речем, че тестваме сървъра е една от причините за това положение. На свой ред ще ползваме вградената DNS служба в всеки един десктоп от нашата LAN. За Ubuntu десктоп нещата са аналогични, както за сървъра. Тук ползваме редактор gedit (произнася се "джи-едит"). Команда:
sudo gedit /etc/hosts
Стартира редакторът и добавяме запис: 192.168.1.103 profruit.eu Съхраняваме изменението. За останалите Windows-машини търсим същия едноименен файл. Той е без разширение и го отваряме с Notepad. Намира се в директория: C:\WINDOWS\system32\drivers\etc\hosts По този начин, от коя да е машина на вашата локална мрежа и кой да е браузър можете да разглеждате новия хост, чрез създаденото име направо - profruit.eu. След регистрация на домейн, логично премахвате записите в файл hosts. Създаване на пореден нов хост следва повторение на описаните действия от Стъпка 3.
до нови срещи   ^.^
16.04.2011 profruit 

17 Response to "Виртуален хост в Ubuntu Server 10.04"

  1. зайче Said,

    Офтопене XD
    http://www.youtube.com/watch?v=BANS3gKTx_w&feature=related

     

  2. Profruit Said,

    Toва е култува част за едно поколение и гласувам с две ръце, да стане предвестник на предаването "лека нощ деца" и добаям двата си крака, да бъде изучавано от първи клас в часовете на класния ръководител.

    Проблемът на всички Лоши е, че са тръгнали срещу Добрия и за мен е логично да бъдат размазани.

    Реших да си пусна коса до кръста, защото си спомних за KISS и усилено изучавам походката на гълъба.

     

  3. зайче Said,

    Добрият надмина себе си XD
    Тука продават еФтини перуки. Къси са, но с крещящи цветове. Може да те вземат за почитател на други прослойки, в скоби утаячни касти, но поне си гарантираш, че няма да останеш незабелязан XD

     

  4. зайче Said,

    Страотно XD
    Стиловете дето ползваш къртят мифки и лепят плочки по 2 лв квадрата. С думи прости - без пари XD
    Я кажи ми, примерно за тези броячи: javascriptkit.com/script/script2/countup.shtml как да направя така, че да си имам своя картинка с дупки (прозрачности) из нея и тъкмо в тях да се показват тея стойности - нам си колко дена, минути, секунди...
    Мисля, че има нещо общо както онова магаре го беше учило за даден часовник да му промени фончето (стила), ама аз имам отсъствие тоя ден ^^
    слънчев ден :)

     

  5. зайче Said,

    Аа, щях да забравя - етикети:
    петролен кладенец нарисувано
    baba meca na razhodka pesni4ka svali
    как да си направим парна машина

    Защо не си сложиш гаджет за последни коментари: madtomatoe.com/recent-comments-widget-for-blogger
    и "You might also like": linkwithin.com/learn

     

  6. зайче Said,

    И да питам... когато ползваш шрифт, който го няма на даден компютър, тогава той се замества с подразбиращия се (Times New Roman или Arial) ли?
    И как стана номера, че копирайки текст, не можа да се възпроизведе в Word-а ми, а тук го виждам какъв е як http://www.laymark.com/i/m/m190.gif

     

  7. Profruit Said,

    чилийски народен танц
    да умре и последният с робска психика
    darveni врати van дор кирково
    валентин башев
    bes6evni yly4i
    колко е дълъг кривой рог
    тъпкала донка суджуци
    град аврат
    globusa izrael-erusalim
    ерхан камера
    kubantu server
    как да нарисуваме вампир
    количка за варел с масло с пияни колела
    dell изхвърля диска
    иван медарски
    кожени рубли
    състаряване на снимка 50 г
    как се разпознава вампиризъм
    кол за убиване на вампир
    беловска минерална вода
    падна лист от календара
    йешуа иврит
    simulaciq na vrat
    rusi klitori
    как се флашва телевизор sharp
    песента вуле ву куше авек моа
    гробището сен-медар
    сънувах,че пътувам със самолет ,без багаж съм притеснена
    лампови грамофон

     

  8. Profruit Said,

    Да, правилно си отговорил, че се замества с такъв по подразбиране (Times New Roman или Arial) и конкретно. Браузърът се явява клиент на интернета,казано разбираемо. В браузъра има настройка, кой шрифт да слага при подобна ситуация, там погледни първо.

    Тук ползвам GoogleAPI и съм писал за него и как става в темата - Уеб типография с Google Font API. След като я прочетеш ще ти светне всичко. Разбира се това е бърз начин, като има и други. Най-гъзарския е cufon за мен. Това е javascript, позволяващ инсталация на нестандартни шрифтове в уеб-документи.

    Ако GoogleAPI те впечатли и не ти се прикрепят външни файлове, може по селския начин да ги добавяш в кода на страницата си така. Пример Hello Word и google-ски шрифт Syncopate.

    <script type='text/javascript'><!--//--><![CDATA[//><!--
    if (navigator.userAgent.indexOf('MSIE 6') == -1) {
    WebFontConfig = {
    google: { families: [ 'Syncopate' ],
    api: 'http://themes.googleusercontent.com/fonts/css?kit=5fNg-VJfe9iHBXm3kbhtuA'
    },
    loading: function() {
    if (window.jstiming) window.jstiming.load.tick('webfontLoading');
    },
    active: function() {
    if (window.jstiming) window.jstiming.load.tick('webfontActive');
    }
    };
    (function() {
    var wf = document.createElement('script');
    wf.src = '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
    })();
    } else {
    document.documentElement.className = 'wf-inactive';
    }
    //--><!]]></script>
    <h1 style="font: normal normal 36px Syncopate; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);color: #ffffff;">
    Hello World</h1>

     

  9. Profruit Said,

    Word е текстови процесор и редактор за такъв, докато браузърът е интерпретатор на уеб-документ и знае какво е javascript, а Word явно не. Остава съхраненото в клипборда да бъде лепнато на първия шрифт, който е зададен в Word.

    На магарето правих нещо тривиално. Това бе флаш на аналогов часовник и зададен background transparent. Toзи часовник слагах в div, чийто background бе снинка с надпис. Снимката в Picasa, a флаша в Prikachi, останалото бе html код, който тъпчеш в джаджата.

    Имам проблем с шаблона. Гърмят му стиловете като сложа последни коментари, а нямам време да се човъркам. Ще помисля по въпроса.

     

  10. зайче Said,

    Pro, знаеш, че съм на бозицата, не на убууту Убунту, ама ми изведе една неприятна грешка при инсталирането на XAMPP: Port 80 or 443 already in use.Apache2.2 service failed.
    inetinfo ползва порт 80, но не мога да го килна. Как да сменя някое от двете да ползва друг порт, идея имаш ли?
    На работата го инсталирах без проблем за нула време, но там не мога да си джиткам.... проклетията...

    хубав ден :)

     

  11. Profruit Said,

    Спри Skype. Тази гнус ползва порт 80.
    Бозицата? Не съм внук на Ванга и си мисля, че си на Глиста или на 7, защото това inetinfo е тъпня на същата. Това е майкрософтски аналог на Apache, който не става за никакъв чеп. Аз не съм силен на 7 и преди време изпитах същите родилни напъни. След като ми изтекоха водите след 60 ценни минути в химичене и шаманство, да спра тази изгъзица си казах, че няма такава тъпня и окончателно се отказах в името на професионалното. За протокола това е легално купен Win 7 x64 Home дрън-дрън.

    Xampp
    Ръчкаш в C:\\ ~ \xampp\apache\conf\httpd.conf

    Търсиш ред
    #Listen 0.0.0.0:80

    #Listen [::]:80

    Listen 80

    Сменяш порт 80 -> 81 и се молиш да изгрее, ако ли не питаш по форумите големите глави как се трепе Microsoft Internet Information Services (IIS). Разбира се, ако всичко е гуд, идваш и докладваш как си магерил, за да знам и аз.

     

  12. зайче Said,

    С XP съм, бозица нарекох M$.
    Четох гадта, че е аналог на Апаха, при това конкурент, на което дължа и "съвпадението" да ми ползва същия порт. Скайпа ми беше спрян, а иначе му зададох в настройките Tools-->Options, категория "Свързване" да не ползва като алтернатива този порт. Мисля, че нещо и от защитата (защитна стена, антивирусна или антималуеър) ползваше някакъв нужен порт, та се наложи да ги изключа.
    Сега чета и ще пиша непременно, но няма да е днес поне.

    лека и мека

     

  13. зайче Said,

    Pro, чудото стана. А що нещо изчетох... (имам нов Аватар).
    Всъщност си е точно твоя начин:
    Отварям файла:
    C:\xampp\apache\conf\httpd.conf
    Намирам реда:
    Listen 80
    и просто го заменям с:
    Listen 7172
    Опцията за Admin срещу Апаха стана активна след като рестартирам.

    Навсякъде пише, че Апаха имал port_checker.exe , но при мен го няма. Кои портове са ми заети видях с програмката CurrPorts.

    Слънце огря росата по тревата и птички зачуруликаха...

     

  14. Profruit Said,

    В такъв случай можеш да захванеш с разучаване на PHP. Най-великият език за мен. Направи файл test.php с съдържание

    <?php
    phpinfo();
    ?>

    качи го на хоста. Това е директория:
    C:\xampp\htdocs\test.php

    Стартирай firefox и напиши
    localhost/test.php

    това трябва да върне таблица. Има ли я, всичко е гуд. Остава да си наточиш php.ini и майката му е разучаване.

     

  15. Profruit Said,

    ето ти домашно

    копи в нов файл и го стартирай по описания горе начин

    <pre>
    <?php
    print_r($GLOBALS);
    print_r($_SERVER);
    ?>
    </pre>

    разгледай резултата. Това ми е любим масив/и.

     

  16. зайче Said,

    Ой! Pro, ще го направя, но ми е малко инфарктно времето, че ще си ходя, а първо трябва да натрупам знания преди да следвам съветите ти ^^
    Имам простичък въпрос. От ето този пример: weberdev.com/get_example.php3?ExampleID=4926 , нали е невъзможно, просто със скриптове да се създаде оценяваща система? Т.е. нужен е някакъв хост, където да се складирват данните, като оценка, IP и прочие, а не просто да се изпълнява код, нали?

     

  17. Profruit Said,

    Да, прав си в раздъжденията си, защото примера е на javascript. При PHP оценката остава на файловата система на сървъра или в БД. А това значи всеки може да я види, докато при JS нещата стават на компютъра на потребителя. JS също работи с бисквитки, та изпълнението е мижи да те лъжа малко. Виж ако е ръка за ръка с PHP, тогава технологията е AJAX, а това се смята в днешни дни за връх в уеб-програмирането.

     

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога