Архив рубрики: Публикации

Простой скрипт поиска api Whois в PHP

На этом уроке я объясню, очень полезный скрипт, чтобы получить данные WHOIS домена. Вот отличный и простой скрипт поиска Whois api yна PHP, можно его использовать в своих нуждах.

Это 100% бесплатный для личных и коммерческих целях, и просто имеет несколько функций, которые можно вызывать в ваших следующих проектах. Это Автоматический поиск для вторичного сервера WHOIS и встроенным IP и домен валидатор, чтобы получить подробную информацию о владельце домена из базы данных WHOIS.

Файл класса Whois

Создать файл whois.php и скопировать фрагмент кода на PHP, чтобы получить данные WHOIS для любого домена. Этот скрипт поддерживает множество TLD (домена верхнего уровня), как .ru, .com, .net, .в, .org, .info и многие другие.

<?php

$domain = $_GET['domain'];

$whoisservers = array(

    "ac" => "whois.nic.ac", // Ascension Island

    // ad - Andorra - нет назначенного whois сервера

    "ae" => "whois.nic.ae", // Арабские эмираты

    "aero"=>"whois.aero",

    "af" => "whois.nic.af", // Афганистан

    "ag" => "whois.nic.ag", // Antigua And Barbuda

    "ai" => "whois.ai", // Ангола

    "al" => "whois.ripe.net", // Албания

    "am" => "whois.amnic.net",  // Армения

    // an - Netherlands Antilles - нет назначенного whois сервера

    // ao - Angola - нет назначенного whois сервера

    // aq - Antarctica (New Zealand) - нет назначенного whois сервера

    // ar - Argentina - нет назначенного whois сервера

    "arpa" => "whois.iana.org",

    "as" => "whois.nic.as", // American Samoa

    "asia" => "whois.nic.asia",

    "at" => "whois.nic.at", // Австрия

    "au" => "whois.aunic.net", // Австралия

    // aw - Aruba - нет назначенного whois сервера

    "ax" => "whois.ax", // Aland Islands

    "az" => "whois.ripe.net", // Азербайджан

    // ba - Bosnia And Herzegovina - нет назначенного whois сервера

    // bb - Barbados - нет назначенного whois сервера

    // bd - Bangladesh - нет назначенного whois сервера

    "be" => "whois.dns.be", // Бельгия

    "bg" => "whois.register.bg", // Болгария

    "bi" => "whois.nic.bi", // Burundi

    "biz" => "whois.biz",

    "bj" => "whois.nic.bj", // Benin

    // bm - Bermuda - нет назначенного whois сервера

    "bn" => "whois.bn", // Brunei Darussalam

    "bo" => "whois.nic.bo", // Боливия

    "br" => "whois.registro.br", // Бразилия

    "bt" => "whois.netnames.net", // Bhutan

    // bv - Bouvet Island (Norway) - нет назначенного whois сервера

    // bw - Botswana - нет назначенного whois сервера

    "by" => "whois.cctld.by", // Беларусия

    "bz" => "whois.belizenic.bz", // Belize

    "ca" => "whois.cira.ca", // Канада

    "cat" => "whois.cat", // Испания

    "cc" => "whois.nic.cc", // Cocos (Keeling) Islands

    "cd" => "whois.nic.cd", // Congo, The Democratic Republic Of The

    // cf - Central African Republic - нет назначенного whois сервера

    "ch" => "whois.nic.ch", // Швейцария

    "ci" => "whois.nic.ci", // Cote d'Ivoire

    "ck" => "whois.nic.ck", // Острова Кука

    "cl" => "whois.nic.cl", // Чили

    // cm - Cameroon - нет назначенного whois сервера

    "cn" => "whois.cnnic.net.cn", // Китай

    "co" => "whois.nic.co", // Колумбия

    "com" => "whois.verisign-grs.com",

    "coop" => "whois.nic.coop",

    // cr - Costa Rica - нет назначенного whois сервера

    // cu - Cuba - нет назначенного whois сервера

    // cv - Cape Verde - нет назначенного whois сервера

    // cw - Curacao - нет назначенного whois сервера

    "cx" => "whois.nic.cx", // Christmas Island

    // cy - Cyprus - нет назначенного whois сервера

    "cz" => "whois.nic.cz", // Czech Republic

    "de" => "whois.denic.de", // Германия

    // dj - Djibouti - нет назначенного whois сервера

    "dk" => "whois.dk-hostmaster.dk", // Дания

    "dm" => "whois.nic.dm", // Доминиканская республика

    // do - Dominican Republic - нет назначенного whois сервера

    "dz" => "whois.nic.dz", // Algeria

    "ec" => "whois.nic.ec", // Эквадор

    "edu" => "whois.educause.edu",

    "ee" => "whois.eenet.ee", // Эстония

    "eg" => "whois.ripe.net", // Египет

    // er - Eritrea - нет назначенного whois сервера

    "es" => "whois.nic.es", // Испания

    // et - Ethiopia - нет назначенного whois сервера

    "eu" => "whois.eu",

    "fi" => "whois.ficora.fi", // Финляндия

    // fj - Fiji - нет назначенного whois сервера

    // fk - Falkland Islands - нет назначенного whois сервера

    // fm - Micronesia, Federated States Of - нет назначенного whois сервера

    "fo" => "whois.nic.fo", // Фарерские острова

    "fr" => "whois.nic.fr", // Франция

    // ga - Gabon - нет назначенного whois сервера

    "gd" => "whois.nic.gd", // Гренада

    // ge - Georgia - нет назначенного whois сервера

    // gf - French Guiana - нет назначенного whois сервера

    "gg" => "whois.gg", // Guernsey

    // gh - Ghana - нет назначенного whois сервера

    "gi" => "whois2.afilias-grs.net", // Гибралтар

    "gl" => "whois.nic.gl", // Гренландия (Denmark)

    // gm - Gambia - нет назначенного whois сервера

    // gn - Guinea - нет назначенного whois сервера

    "gov" => "whois.nic.gov",

    // gr - Greece - нет назначенного whois сервера

    // gt - Guatemala - нет назначенного whois сервера

    "gs" => "whois.nic.gs", // South Georgia And The South Sandwich Islands

    // gu - Guam - нет назначенного whois сервера

    // gw - Guinea-bissau - нет назначенного whois сервера

    "gy" => "whois.registry.gy", // Guyana

    "hk" => "whois.hkirc.hk", // Hong Kong

    // hm - Heard and McDonald Islands (Australia) - нет назначенного whois сервера

    "hn" => "whois.nic.hn", // Honduras

    "hr" => "whois.dns.hr", // Хорватия

    "ht" => "whois.nic.ht", // Гаити

    "hu" => "whois.nic.hu", // Венгрия

    // id - Indonesia - нет назначенного whois сервера

    "ie" => "whois.domainregistry.ie", // Ирландия

    "il" => "whois.isoc.org.il", // Израиль

    "im" => "whois.nic.im", // Isle of Man

    "in" => "whois.inregistry.net", // Индия

    "info" => "whois.afilias.net",

    "int" => "whois.iana.org",

    "io" => "whois.nic.io", // British Indian Ocean Territory

    "iq" => "whois.cmc.iq", // Ирак

    "ir" => "whois.nic.ir", // Иран

    "is" => "whois.isnic.is", // Исландия

    "it" => "whois.nic.it", // Италия

    "je" => "whois.je", // Jersey

    // jm - Jamaica - нет назначенного whois сервера

    // jo - Jordan - нет назначенного whois сервера

    "jobs" => "jobswhois.verisign-grs.com",

    "jp" => "whois.jprs.jp", // Япония

    "ke" => "whois.kenic.or.ke", // Кения

    "kg" => "www.domain.kg", // Киргизстан

    // kh - Cambodia - нет назначенного whois сервера

    "ki" => "whois.nic.ki", // Kiribati

    // km - Comoros - нет назначенного whois сервера

    // kn - Saint Kitts And Nevis - нет назначенного whois сервера

    // kp - Korea, Democratic People's Republic Of - нет назначенного whois сервера

    "kr" => "whois.kr", // Korea, Republic Of

    // kw - Kuwait - нет назначенного whois сервера

    // ky - Cayman Islands - нет назначенного whois сервера

    "kz" => "whois.nic.kz", // Казахстан

    "la" => "whois.nic.la", // Lao People's Democratic Republic

    // lb - Lebanon - нет назначенного whois сервера

    // lc - Saint Lucia - нет назначенного whois сервера

    "li" => "whois.nic.li", // Лихтенштейн

    // lk - Sri Lanka - нет назначенного whois сервера

    "lt" => "whois.domreg.lt", // Lithuania

    "lu" => "whois.dns.lu", // Luxembourg

    "lv" => "whois.nic.lv", // Латвия

    "ly" => "whois.nic.ly", // Libya

    "ma" => "whois.iam.net.ma", // Морокко

    // mc - Monaco - нет назначенного whois сервера

    "md" => "whois.nic.md", // Молдова

    "me" => "whois.nic.me", // Montenegro

    "mg" => "whois.nic.mg", // Мадагаскар

    // mh - Marshall Islands - нет назначенного whois сервера

    "mil" => "whois.nic.mil",

    // mk - Macedonia, The Former Yugoslav Republic Of - нет назначенного whois сервера

    "ml" => "whois.dot.ml", // Мали

    // mm - Myanmar - нет назначенного whois сервера

    "mn" => "whois.nic.mn", // Монгола

    "mo" => "whois.monic.mo", // Macao

    "mobi" => "whois.dotmobiregistry.net",

    "mp" => "whois.nic.mp", // Northern Mariana Islands

    // mq - Martinique (France) - нет назначенного whois сервера

    // mr - Mauritania - нет назначенного whois сервера

    "ms" => "whois.nic.ms", // Montserrat

    // mt - Malta - нет назначенного whois сервера

    "mu" => "whois.nic.mu", // Mauritius

    "museum" => "whois.museum",

    // mv - Maldives - нет назначенного whois сервера

    // mw - Malawi - нет назначенного whois сервера

    "mx" => "whois.mx", // Мексика

    "my" => "whois.domainregistry.my", // Малазия

    // mz - Mozambique - нет назначенного whois сервера

    "na" => "whois.na-nic.com.na", // Намибия

    "name" => "whois.nic.name",

    "nc" => "whois.nc", // New Caledonia

    // ne - Niger - нет назначенного whois сервера

    "net" => "whois.verisign-grs.net",

    "nf" => "whois.nic.nf", // Norfolk Island

    "ng" => "whois.nic.net.ng", // Нигерия

    // ni - Nicaragua - нет назначенного whois сервера

    "nl" => "whois.domain-registry.nl", // Голандия

    "no" => "whois.norid.no", // Норвегия

    // np - Nepal - нет назначенного whois сервера

    // nr - Nauru - нет назначенного whois сервера

    "nu" => "whois.nic.nu", // Niue

    "nz" => "whois.srs.net.nz", // Новая Зеландия

    "om" => "whois.registry.om", // Оман

    "org" => "whois.pir.org",

    // pa - Panama - нет назначенного whois сервера

    "pe" => "kero.yachay.pe", // Перу

    "pf" => "whois.registry.pf", // Французкая Полинезия

    // pg - Papua New Guinea - нет назначенного whois сервера

    // ph - Philippines - нет назначенного whois сервера

    // pk - Pakistan - нет назначенного whois сервера

    "pl" => "whois.dns.pl", // Польша

    "pm" => "whois.nic.pm", // Saint Pierre and Miquelon (France)

    // pn - Pitcairn (New Zealand) - нет назначенного whois сервера

    "post" => "whois.dotpostregistry.net",

    "pr" => "whois.nic.pr", // Пуэрто Рико

    "pro" => "whois.dotproregistry.net",

    // ps - Palestine, State of - нет назначенного whois сервера

    "pt" => "whois.dns.pt", // Португалия

    "pw" => "whois.nic.pw", // Palau

    // py - Paraguay - нет назначенного whois сервера

    "qa" => "whois.registry.qa", // Катар

    "re" => "whois.nic.re", // Reunion (France)

    "ro" => "whois.rotld.ro", // Румыния

    "rs" => "whois.rnids.rs", // Сербия

    "ru" => "whois.tcinet.ru", // Россия

    // rw - Rwanda - нет назначенного whois сервера

    "sa" => "whois.nic.net.sa", // Саудовская аравия

    "sb" => "whois.nic.net.sb", // Соломоновы острова

    "sc" => "whois2.afilias-grs.net", // Seychelles

    // sd - Sudan - нет назначенного whois сервера

    "se" => "whois.iis.se", // Швеция

    "sg" => "whois.sgnic.sg", // Сингапур

    "sh" => "whois.nic.sh", // Saint Helena

    "si" => "whois.arnes.si", // Словения

    "sk" => "whois.sk-nic.sk", // Словакия

    // sl - Sierra Leone - нет назначенного whois сервера

    "sm" => "whois.nic.sm", // Сан Морино

    "sn" => "whois.nic.sn", // Сенегал

    "so" => "whois.nic.so", // Сомали

    // sr - Suriname - нет назначенного whois сервера

    "st" => "whois.nic.st", // Sao Tome And Principe

    "su" => "whois.tcinet.ru", // Российская федерация

    // sv - El Salvador - нет назначенного whois сервера

    "sx" => "whois.sx", // Sint Maarten (dutch Part)

    "sy" => "whois.tld.sy", // Сирия

    // sz - Swaziland - нет назначенного whois сервера

    "tc" => "whois.meridiantld.net", // Turks And Caicos Islands

    // td - Chad - нет назначенного whois сервера

    "tel" => "whois.nic.tel",

    "tf" => "whois.nic.tf", // French Southern Territories

    // tg - Togo - нет назначенного whois сервера

    "th" => "whois.thnic.co.th", // Тайланд

    "tj" => "whois.nic.tj", // Таджикистан

    "tk" => "whois.dot.tk", // Tokelau

    "tl" => "whois.nic.tl", // Timor-leste

    "tm" => "whois.nic.tm", // Туркменистан

    "tn" => "whois.ati.tn", // Тунис

    "to" => "whois.tonic.to", // Tonga

    "tp" => "whois.nic.tl", // Timor-leste

    "tr" => "whois.nic.tr", // Турция

    "travel" => "whois.nic.travel",

    // tt - Trinidad And Tobago - нет назначенного whois сервера

    "tv" => "tvwhois.verisign-grs.com", // Tuvalu

    "tw" => "whois.twnic.net.tw", // Тйвань

    "tz" => "whois.tznic.or.tz", // Танзания

    "ua" => "whois.ua", // Украина

    "ug" => "whois.co.ug", // Уганда

    "uk" => "whois.nic.uk", // Англия

    "us" => "whois.nic.us", // США

    "uy" => "whois.nic.org.uy", // Уругвай

    "uz" => "whois.cctld.uz", // Узбекистан

    // va - Holy See (vatican City State) - нет назначенного сервера whois

    "vc" => "whois2.afilias-grs.net", // Saint Vincent And The Grenadines

    "ve" => "whois.nic.ve", // Венесуэла

    "vg" => "whois.adamsnames.tc", // Виргинскиие острова

    // vi - Virgin Islands, US - нет назначенного whois сервера

    // vn - Viet Nam - нет назначенного whois сервера

    // vu - Vanuatu - нет назначенного whois сервера

    "wf" => "whois.nic.wf", // Wallis and Futuna

    "ws" => "whois.website.ws", // Самоа

    "xxx" => "whois.nic.xxx",

    // ye - Yemen - нет назначенного whois сервера

    "yt" => "whois.nic.yt", // Майотта

    "yu" => "whois.ripe.net");

 

function LookupDomain($domain){

    global $whoisservers;

    $domain_parts = explode(".", $domain);

    $tld = strtolower(array_pop($domain_parts));

    $whoisserver = $whoisservers[$tld];

    if(!$whoisserver) {

        return "Ошибка: Не соответствующего whois-сервера для домена $domain!";

    }

    $result = QueryWhoisServer($whoisserver, $domain);

    if(!$result) {

        return "Ошибка: Нет результатов полученных от $whoisserver сервера для домена $domain!";

    }

    else {

        while(strpos($result, "Whois-сервер:") !== FALSE){

            preg_match("/Whois Server: (.*)/", $result, $matches);

            $secondary = $matches[1];

            if($secondary) {

                $result = QueryWhoisServer($secondary, $domain);

                $whoisserver = $secondary;

            }

        }

    }

    return "$domain результаты поиска для домена $whoisserver сервер:nn" . $result;

}

 

function LookupIP($ip) {

    $whoisservers = array(

        //"whois.afrinic.net", // Африка - возвращает время ожидания ошибка :-(

        "whois.lacnic.net", // Латинской Америки и Карибского бассейна - возвращает данные для всех мест по всему миру :-)

        "whois.apnic.net", // Для азиатско-тихоокеанского региона

        "whois.arin.net", // Для северной Америки

        "whois.ripe.net" // Только для Европы, Ближнего Востока и Центральной Азии

    );

    $results = array();

    foreach($whoisservers as $whoisserver) {

        $result = QueryWhoisServer($whoisserver, $ip);

        if($result && !in_array($result, $results)) {

            $results[$whoisserver]= $result;

        }

    }

    $res = "НАЙДЕНО: " . count($results);

    foreach($results as $whoisserver=>$result) {

        $res .= "nn-------------nРезультаты поиска " . $ip . " from " . $whoisserver . " сервер:nn" . $result;

    }

    return $res;

}

 

function ValidateIP($ip) {

    $ipnums = explode(".", $ip);

    if(count($ipnums) != 4) {

        return false;

    }

    foreach($ipnums as $ipnum) {

        if(!is_numeric($ipnum) || ($ipnum > 255)) {

            return false;

        }

    }

    return $ip;

}

 

function ValidateDomain($domain) {

    if(!preg_match("/^([-a-z0-9]{2,100}).([a-z.]{2,8})$/i", $domain)) {

        return false;

    }

    return $domain;

}

 

function QueryWhoisServer($whoisserver, $domain) {

    $port = 43;

    $timeout = 10;

    $fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);

    //if($whoisserver == "whois.verisign-grs.com") $domain = "=".$domain; // whois.verisign-grs.com требует знака равенства ("=") или он возвращает какой-либо результат с искомой строкой.

    fputs($fp, $domain . "rn");

    $out = "";

    while(!feof($fp)){

        $out .= fgets($fp);

    }

    fclose($fp);

 

    $res = "";

    if((strpos(strtolower($out), "error") === FALSE) && (strpos(strtolower($out), "not allocated") === FALSE)) {

        $rows = explode("n", $out);

        foreach($rows as $row) {

            $row = trim($row);

            if(($row != '') && ($row{0} != '#') && ($row{0} != '%')) {

                $res .= $row."n";

            }

        }

    }

    return $res;

}

?>

 

Страница Index.php

Создайте страницу index.php, скопируйте здесь и вставьте в созданный файл фрагмент кода ниже, чтобы получить данные WHOIS.

<div class="well">

 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">

<input type="text" name="domain" placeholder="www.domainname.ru" value="<?=$domain;?>" required="required"

style="width:250px; height:37px;">

<input type="submit" class="pretty medium primary btn" value="Whois Lookup" name="Submit"

style="color:#fff;">

</form>

 

</div>

<?php

if($domain) {

    $domain = trim($domain);

    if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7);

    if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);

    if(ValidateIP($domain)) {

        $result = LookupIP($domain);

    }

    elseif(ValidateDomain($domain)) {

        $result = LookupDomain($domain);

    }

    else die("Invalid Input!");

    echo "<pre>n" . $result . "n</pre>n";

}

?>

</div>

Данные WHOIS



2017-02-03T12:11:14
Лучшие учебники по Wodpress

Создание новой страницы или поста в WordPress программными средствами

Если вы хотите создать несколько демо — страниц или постов во время пользовательской установки WordPress, то вы можете использовать функцию wp_insert_post() внутри вашего файла functions.php.

Откройте файл functions.php в папке вашей темы и скопируйте и вставьте фрагмент кода ниже в конце файла. Ниже код будет создать новую страницу, когда код будет выполняться. И, конечно, он будет работать для POST и других пользовательских типов поста. Вам нужно изменить 'post_type' => 'post'.

Функция wp_insert_post будет возвращает идентификатор вновь созданной страницы или поста в переменную $new_page_id. Если будет больше появляться сообщение об ошибке, он будет возвращать 0 в переменную $new_page_id.

< ?php

 

// определить содержание страницы

$new_page = array(

    'slug' => 'this-is-andreyex-ru-new-page',

    'title' => 'Написать Заголовок',

    'content' => "Введите содержимое на Вашу страницу здесь"

);

 

$new_page_id = wp_insert_post( array(

    'post_title' => $new_page['title'],

    'post_type'     => 'page',

    'post_name'     => $new_page['slug'],

    'comment_status' => 'closed',

    'ping_status' => 'closed',

    'post_content' => $new_page['content'],

    'post_status' => 'publish',

    'post_author' => 1,

    'menu_order' => 0

));

 

?>

 



2017-02-02T06:40:53
Лучшие учебники по Wodpress

Как использовать Apache в качестве обратного прокси с mod_proxy на Debian 8

Обратный прокси — сервер представляет собой тип прокси — сервера, который принимает HTTP (S) запросы и прозрачно распределяет их на один или несколько внутренних серверов. Обратные прокси — серверы являются полезными, поскольку многие современные веб — приложения обработки входящих запросов HTTP с использованием серверов приложений бэкэнда, не должны быть доступны пользователям напрямую и часто поддерживают только элементарные функции HTTP.

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

В этом учебном пособии вы настроите Apache в качестве основного обратного прокси — сервера с помощью расширения mod_proxy для перенаправления входящих подключений к одному или нескольким внутренним серверам, работающих в той же сети. Этот учебник использует простой бэкенд написанный на Flask web framework, но вы можете использовать любой сервер данных, который вы предпочитаете.

Предпосылки

Следуя этому руководству, вам потребуется:

Шаг 1 — Включение необходимых модулей Apache

Apache имеет множество модулей в комплекте с ним, которые доступны, но не включены в новой установки. Во-первых, нам нужно включить те, которые мы будем использовать на этом уроке.

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

  • mod_proxy, главный прокси-модуль Apache модуль для перенаправления соединений; он позволяет Apache выступать в качестве шлюза для основных серверов приложений.
  • mod_proxy_http, который добавляет поддержку проксирования HTTP соединений.
  • mod_proxy_balancer и mod_lbmethod_byrequests, добавляет новые функции балансировки нагрузки для нескольких внутренних серверов.

Чтобы включить эти четыре модуля, необходимо выполнить следующие команды в последовательности.

sudo a2enmod proxy

sudo a2enmod proxy_http

sudo a2enmod proxy_balancer

sudo a2enmod lbmethod_byrequests

 

Чтобы эти изменения вступили в силу, перезапустите Apache.

sudo systemctl restart apache2

 

Apache теперь готов действовать в качестве обратного прокси-сервера для HTTP-запросов. В следующем (по желанию) шаге, мы создадим два самых основных внутренних сервера. Это поможет нам проверить, что конфигурация работает правильно, но если у вас уже есть собственное приложение(я) бэкэнд, вы можете перейти к шагу 3.

Шаг 2 — Создание внутренних тестовых серверов

Запуск некоторых простых внутренних серверов является простой способ проверить, что ваша конфигурация Apache работает должным образом. Здесь мы сделаем два тестовых сервера, которые отвечают HTTP — запросам с печатью строки текста. Один сервер скажет ‘Привет , мир! а другой скажет ‘AndreyEx мир! ,

Примечание
В не-испытательных установках, Backend серверы, как правило, возвращают один и тот же тип содержимого. Тем не менее, для этого теста, в частности, два сервера возвращают различные сообщения, что позволяет легко проверить, что механизм балансировки нагрузки использует оба.


Flask является microframework Python для создания веб — приложений. Мы используем Flask для создания тестовых серверов, так как основное приложение требует всего несколько строк кода. Вам не нужно знать Python, чтобы настроить их.

Обновление списка пакетов в первую очередь.

sudo apt-get update

 

Затем установите pip, рекомендуемый менеджер пакетов Python.

sudo apt-get -y install python3-pip

 

Используйте pip чтобы установить Flask.

sudo pip3 install flask

 

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

nano ~/backend1.py

 

Скопируйте следующий код в файл, а затем сохраните и закройте его.

~ / Backend1.py

from flask import Flask

app = Flask(__name__)



@app.route('/')

def home():

    return 'Hello world!'


Первые две строки инициализации фреймворка Flask. Существует одна функция, home(), которая возвращает строку текста ( Hello world!).  @app.route('/') над home() функции говорит Flask использовать home()‘s возвращаемое значение в качестве ответа на HTTP — запросы, направленных на /корневой URL приложения.

Второй сервер Бэкэнд точно так же, как и первый, кроме возвращения другой строчки текста, поэтому начните путем дублирования первого файла.

cp ~/backend1.py ~/backend2.py

 

Откройте вновь скопированный файл.

nano ~/backend2.py

 

Измените сообщение , которое будет возвращено из Привет , мир! в AndreyEx мир! А затем сохраните и закройте файл.

~ / Backend2.py

from flask import Flask

app = Flask(__name__)



@app.route('/')

def home():

    return 'AndreyEx world!'


Используйте следующую команду, чтобы запустить первый фоновый сервер на порту 8080. Это также перенаправляет вывод Flask к /dev/null.

FLASK_APP=~/backend1.py flask run --port=8080 >/dev/null 2>&1 &

 

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

В этом случае, используя переменная окружения гарантирует, что параметр применим только к запущенной команде и не будет оставаться доступен после этого, как мы будет проходить другое имя файла точно так же набрать команду flask, чтобы запустить второй сервер

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

FLASK_APP=~/backend2.py flask run --port=8081 >/dev/null 2>&1 &

 

Вы можете проверить, что оба сервера работают с использованием curl. Тестирование первого сервера:

curl http://127.0.0.1:8080/

 

Это выведет Привет , мир! в терминале. Проверка второго сервера:

curl http://127.0.0.1:8081/

 

Это выведет AndreyEx мир!

Примечание
Для того, чтобы закрыть оба тестовых сервера после того, как вы больше не нуждаетесь в них, и когда вы закончите этот урок, вы можете просто выполнить killall flask.


На следующем шаге мы будем изменять конфигурационный файл Apache, чтобы включить его использование в качестве обратного прокси-сервера на Debian 8.

Шаг 3 — Изменение конфигурации по умолчанию. Включение обратного прокси-сервера

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

Примечание

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

Если ваш сервер работает на Apache как HTTP и HTTPS — сервер, ваша обратная конфигурация прокси — сервера должна быть размещена как в HTTP и HTTPS виртуальных хостах.

Откройте файл по умолчанию Apache конфигурации, используя nano или ваш любимый текстовый редактор.

sudo nano /etc/apache2/sites-available/000-default.conf

 

Внутри этого файла вы найдете блок<VirtualHost *:80>, начиная с первой строки. В первом примере ниже показано, как настроить этот блок для обратного прокси — сервера для одного сервера бэкэнда, а второй устанавливает балансировкой нагрузки обратного прокси для нескольких внутренних серверов.

Пример 1 — Обратное проксирование сервера

Заменить все содержимое внутри блока VirtualHost со следующим, ваш файл конфигурации должен выглядит следующим образом:

/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>

    ProxyPreserveHost On



    ProxyPass / http://127.0.0.1:8080/

    ProxyPassReverse / http://127.0.0.1:8080/

</VirtualHost>


Если вы следовали вместе с серверами например, на шаге 2, используйте 127.0.0.1:8080 как написано в блоке выше. Если у вас есть свои собственные серверы приложений, использовать их адреса.

Есть три директивы здесь:

  • ProxyPreserveHost делает Apache передают оригинальный Host заголовок на внутренний сервер. Это полезно, так как это делает сервер бэкенд осознаный адрес, используемый для доступа к приложению.
  • ProxyPass главная директива конфигурации прокси. В этом случае, он указывает, что все в корневом URL ( /) должен быть отображен на внутренний сервер по указанному адресу. Например, если Apache получает запрос на /example, он будет подключаться и вернет ответ на оригинальный клиент. http://your_backend_server/example
  • ProxyPassReverse должен иметь ту же конфигурацию, что и ProxyPass. Это говорит Apache, чтобы изменить заголовки ответа от сервера бэкэнда. Это гарантирует, что если внутренний сервер возвращает заголовок перенаправления местоположения, браузер клиента будет перенаправлен на адрес прокси — сервера и не адреса сервера, бэкенда, который не будет работать, как предполагалось.

Чтобы изменения вступили в силу, перезапустите Apache.

sudo systemctl restart apache2

 

Теперь, если вы получаете доступ к http://your_server_ip через веб — браузер, вы увидите ответ сервера бэкэнда вместо стандартной страницы приветствия Apache. Если вы следовали инструкциям Шаг 2, то вы будете видеть Привет мир!

Пример 2 — балансировки нагрузки между несколькими серверами Backend

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

Замените все содержимое внутри блока VirtualHost следующим, так что ваш файл конфигурации выглядит следующим образом:

/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>

<Proxy balancer://mycluster>

    BalancerMember http://127.0.0.1:8080

    BalancerMember http://127.0.0.1:8081

</Proxy>



    ProxyPreserveHost On



    ProxyPass / balancer://mycluster/

    ProxyPassReverse / balancer://mycluster/

</VirtualHost>


Конфигурация аналогична предыдущей, но вместо указания одного сервера бэкэнд напрямую, мы использовали дополнительный блок Proxy для определения нескольких серверов. Блок с именем balancer://mycluster (имя может быть свободно изменено) и состоит из одного или нескольких BalancerMember, которые определяют, лежащие в основе адреса бэкенда сервера. ProxyPass и директива ProxyPassReverse  используют пул балансировки нагрузки с именем mycluster вместо конкретного сервера.

Если вы следовали примеру на шаге 2, используя 127.0.0.1:8080 и 127.0.0.1:8081 для директивы BalancerMember, как написано в блоке выше. Если у вас есть свои собственные серверы приложений, используйте их адреса вместо этих.

Чтобы изменения вступили в силу, перезапустите Apache.

sudo systemctl restart apache2

 

Зайдите в веб — браузере по адресу http://your_server_ip, вы увидите бэкэнд сервера вместо стандартной страницы Apache. Если вы следовали инструкциям на Шаге 2, обновите страницу несколько раз должен показать Привет, мир! и AndreyEx мир!, То есть обратный прокси — сервер работал и балансировка нагрузки между обоими серверами.

Вывод

Теперь вы знаете , как настроить Apache в качестве обратного прокси — сервера для одного или нескольких основных серверов приложений. mod_proxy можно эффективно использовать для настройки обратного прокси — сервера для серверов приложений, написанных на широкий спектр языков и технологий, таких как Python и Django или Ruby, и Ruby On Rails. Он может также использоваться для балансировки трафика между множеством внутренних серверов для сайтов с большим количеством трафика или для обеспечения высокой доступности через несколько серверов, или для обеспечения безопасной поддержки SSL на серверах, не поддерживающих SSL изначально.

В то время как mod_proxy с mod_proxy_http это, возможно, наиболее часто используемые комбинации модулей, существует несколько других , которые поддерживают различные сетевые протоколы. Мы не использовали их здесь, но и некоторые другие популярные модули включают в себя:

  • mod_proxy_ftp для FTP.
  • mod_proxy_connect для SSL туннелирования.
  • mod_proxy_ajp для AJP (Apache JServ Protocol), как Tomcat на основе движков.
  • mod_proxy_wstunnel для веб-сокетов.

Чтобы узнать больше о mod_proxy, вы можете прочитать на официальном сайте Apache документацию о mod_proxy.

Как использовать Apache в качестве обратного прокси с mod_proxy на Debian 8



2017-02-02T01:54:32
Настройка Debian

8 основных плагинов WordPress которые должен иметь ваш сайт

Что такое правильно настроенная CMS WordPress? Так много доступных плагинов, тем, и учебных пособий. Более 27% мировых сайтов рассчитаны на питание от WordPress CMS. Ошеломляющая статистика, которая показывает любопытный уровень функциональности и гибкости, который он предлагает веб-мастерам. Полный сайт решение с простым в использовании интерфейсом.

Скорее всего, что в то время как вы читаете эту статью, еще кто-то запустил очередной сайт на WordPress в огромном океане информации, которую мы называем Интернетом. Черт, вы, вероятно, достигли этой статьи, ища информацию об WordPress после того, как услышали, что Андрей из средней школы делает кучу денег с помощью сайтов на WordPress.

Так что же вы, как потенциальный или существующий веб-мастер в CMS WordPress можете сделать со своим веб-сайтом? Ну, улучшить его, конечно. Оптимизация, чтобы она загружалась как можно быстрее для конечных пользователей. Никто не хочет ждать даже 3 секунды, пока загрузится веб-сайт. Сделать их SEO дружественными.

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

Так что в этой статье мы рассмотрим 8 бесплатные плагинов, которые должен иметь сайт на WordPress.

Безопасность

WordFence это отличный плагин безопасности с большим количеством функций. Он имеет более 22 миллионов загрузок, и это самый популярный плагин безопасности WordPress. Это плагин с открытым исходным кодом, но и премиум версия также доступна. Wordfence Безопасность является Multi-Site совместимый и включает в себя Cellphone Вход в систему, которая постоянно защищает ваш сайт WordPress от метода перебора.

Перечислим некоторые из функций WordFence:

WordFence Firewall

  • Брандмауэр;
  • Защита feed;
  • Блок общих угроз безопасности WordPress.

Блокировка объектов

  • В режиме реального времени блокирование известных нападающих;
  • Блокировать целые вредоносные сети;
  • Ограничение пропускной способности или блокировка угрозы безопасности WordPress.

Безопасность входа в WordPress

  • Вход в систему, используя свой пароль и свой мобильный телефон, чтобы значительно улучшить безопасность входа в систему;
  • Принудительно сильные пароли среди администраторов, издателей и пользователей, что улучшает безопасность входа в систему;
  • Безопасность входа для блокировки грубой силы хаков;

Сканирование безопасности

  • Сканирование основных файлов, тем и плагинов против версий репозитория WordPress.org, чтобы проверить их целостность;
  • Сканы для многих известных бэкдоров, которые создают дыры в безопасности, такие как R57, RootShell, Matamu, Cybershell, W4cking, Sniper, Predator, Dive, Dx etc…;
  • Непрерывно сканирует на наличие вредоносных программ и фишинговых URL-адресов.

Особености мониторинга

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

Вы можете легко установить WordFence из панели WordPress, перейдя Плагины -> Добавить новый.

Google Authenticator

Используя этот плагин также является хорошей практикой безопасности для WordPress. Это дает вам двухфакторную аутентификацию с помощью приложения Google Authenticator для iPhone, Android и Blackberry. При установке настройках плагина появится в Пользователь -> Профиль.

Секретный ключ можно сформировать из настроек, после чего вы можете скачать бесплатное приложение Google Authenticator на телефон и введите секретный ключ для подключения приложение на ваш сайт WordPress.

Вы можете значительно улучшить свой сайт безопасности с помощью Google Authenticator.

Поисковая оптимизация

Yoast SEO или как ранее известный как WordPress SEO по Йоаст, вероятно, является наиболее полное решение для WordPress SEO плагин, который когда — либо существовал. Он включает в себя редактор, сниппета в режиме реального времени покажет функциональность страниц, которая поможет вам оптимизировать содержание ваших страниц, названия изображения, мета — описания, XML Sitemaps и еще тонны вариантов оптимизации.

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

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

С помощью плагина Yoast SEO, вы можете контролировать, какие страницы Google показывает в результатах поиска.

Вы можете создавать XML Sitemaps с плагином и многое другое.

Найти больше возможностей и другое о плагине можно на странице WordPress страницы.

Резервное копирование

Это всегда важно иметь рабочую резервную копию вашего WordPress сайта. Вы никогда не знаете, когда вам нужно будет быстро восстановить функциональность сайта путем возврата к рабочей установки. Большой и функциональный плагин для резервного копирования WordPress является BackUpWordPress.

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

Особенности :

  • Супер прост в использовании, не требуется установка;
  • Работает в условиях низкой памяти «совместно принимающих» средах;
  • Управление несколькими расписаниями;
  • Опция, чтобы каждый файл резервной копии отправлялся по электронной почте к вам;
  • Использование Zip и mysqldump  для ускорения резервного копирования, если они доступны на сервере;
  • Работает на Linux и Windows;
  • Опция для исключения файлов и папок из резервных копий;

Этот плагин также может быть установлен с админки в WordPress.

Оптимизация

Ваш сайт, наконец, работает с отличными статьями, чтобы соответствовать вашей нише. Однако тесты скорости, которые вы делаете, показывают, что ваши изображения должны сжиматься.

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

Причины использования Ewww Image Optimizer:

  • Ваши страницы будут загружаться быстрее, потому что меньшие размеры изображения означают быструю загрузку страниц;
  • Меньше использование пропускной способности за счет оптимизированных изображений, которые сэкономит вам сотни КБ на изображение;
  • Сверх быстрый;
  • Лучшая оптимизация JPG;
  • Лучшая оптимизация PNG;
  • Оптимизировать все с расширением класса wp_image_editor.

Используя этот плагин, ваша скорость сайта, безусловно, улучшится.

Кэш

Часть того, когда оптимизированный сайт использует хороший механизм кэширования. W3 Total Cache именно то что нужно. Плагин, который повышает удобство использования вашего сайта за счет увеличения производительности сайта, уменьшая время загрузки с помощью функции, такие как интеграция сети доставки контента (CDN).

Она насчитывает более 1 миллиона установок и ему доверяют такие компании как AT&T, Mashable, MakeUseOf.com etc…

Преимущества при использовании W3 Total Cache:

  • Улучшения рейтинга страницы в результатах поиска;
  • Отличное улучшение общей производительности сайта;
  • Улучшенные коэффициенты пересчета;
  • Кэширование браузера;
  • Оптимизированная прогрессивная визуализация;
  • Сокращение времени загрузки страницы;
  • Улучшенная производительность веб-сервера;
  • Экономия до 80% от пропускной способности канала за счет Minify и HTTP сжатия HTML, CSS, JavaScript и фидов.

W3 Total Cache также можно настроить с CloudFlare и MaxCDN, что делает его нужным и обязательным плагином в WordPress.

Социальные сети

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

Один из лучших бесплатных плагинов социальной акции является: Share Buttons by AddThis.

Ваши читатели могут легко и быстро обмениваться контентом веб-сайта на самых популярных социальных сетях, таких как ВКонтакте, Facebook, Twitter, Pinterest и многих других.

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

Управление WordPress

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

Есть отличный плагин под названием MainWP. Доступен только свободный и резидентный WordPress плагин управления. MainWP является идеальным решением для филиалов, маркетологов, разработчиков, WordPress магазинов и кому — либо еще с несколькими сайтами WordPress.

С MainWP вы получите множество отличных возможностей, несколько из которых являются:

  • Простое управление — Управление всеми темами и плагинами с легкостью. Приборная панель плагина позволяет сделать легко обзор, какие из ваших сайтов есть темы и плагины, готовые к обновлению.
  • One Click Access — доступ ко всем вашим WP сайтам легко с MainWP. Вы можете перейти на сайты подменю и меню с несколькими щелчками мыши.
  • Заброшенные оповещения плагинов и тем — Некоторые темы или плагины, от которых отказались их разработчики и не обновляются. MainWP будет предупреждать Вас о возможных заброшенных плагинов или тем, чтобы вы могли принять необходимые меры.
  • Управление контентом — Из приборной панели MainWP, вы можете легко публиковать контент на сайтах, выбирая соответствующий веб-сайт из списка, написать содержание, а затем опубликовать без необходимости проходить через хлопоты регистрации на каждом сайте.

Чтобы найти более подробную информацию о MainWP посетить WordPress соответствующую страницу и документацию о плагине.

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

8 основных плагинов WordPress которые должен иметь ваш сайт



2017-02-01T14:43:40
Плагины

Онлайн обучение ИТ http://курсы-по-ит.рф

Добрый день!

Сегодня команда Itsecforu хочет познакомить и посоветовать Вам сайт посвященный обучению в области ИТ – http://курсы-по-ит.рф .

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

Онлайн курсы разделены на два основных раздела:

1. Университет MikroTik. Вы сможете научится работать с этим оборудованием

2. Школа системного администратора.

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

Стоит отметить символическую стоимость, которую автор просит за обучение с последующей выдачей сертификата, например для курса “Основы сетевых технологий” – она составляет всего 490 р. Сам курс написан очень здорово – простым языком, с доступными примерами. В течение курса автор постоянно возвращается к уже пройденному материалу, что позволяет закрепить полученные знания, а также умело расставляет акценты на тех вещах которые необходимо подчеркнуть слушателям в первую очередь!

Желаем успехов Дмитрию в создании новых интересных программ обучения, а читателям советуем обратить внимание на вышеуказанный ресурс:

 



2017-02-01T14:42:16
Медиа

Установка MySQL CentOS 7

MySQL — это одна из самых популярных систем управления базами данных, используемых как на производстве, так и для хранения данных веб-сайтов и приложений. Однако после перехода MySQL в собственность Oracle, вместо нее везде по умолчанию используется MariaDB. Это достойная замена, если вам нужна только базовая функциональность, но если вы хотите получить все тонкости и возможности MySQL, вам нужна именно версия от Oracle.

Но из официальных репозиториев MySQL была удалена. Поэтому вам придется искать другие источники. В этой статье мы рассмотрим как выполняется установка MySQL CentOS 7. Причем в версии от Oracle, а не MariaDB.

Подготовка системы

Перед тем как перейти к установке MySQL в CentOS нужно выполнить несколько настроек и проверить все ли правильно в вашей системе. Сначала убедитесь, что у вас установлено имя хоста. Для этого выполните команду:

hostname

$ hostname -f

Первая команда покажет короткое имя хоста, вторая выведет полное имя FQDN. Если все правильно, осталось обновить систему до самой последней версии:

sudo yum update

Установка MySQL в CentOS 7

Как я уже сказал, в официальных репозиториях пакета нет, поэтому вам придется добавить репозиторий сообщества. Вам нужно открыть сайт repo.mysql.com и скачать самую последнюю версию файла репозитория. Например, на данный момент это mysql57-community-release-el7.rpm.

Для установки этой версии вы можете использовать команду:

wget http://repo.mysql.com/mysql57-community-release-el7.rpm

sudo rpm -ivh mysql57-community-release-el7.rpm

Дальше обновите список репозиториев:

sudo yum update

Теперь вам осталось осталась установка mysql centos 7 и запуск самой службы:

sudo yum install mysql-server

$ sudo systemctl start mysqld

Настройка MySQL CentOS 7

По умолчанию MySQL будет слушать локальный хост 127.0.0.1. Если вы хотите, чтобы сервер был доступен из интернета, необходимо изменить несколько настроек в файле /etc/my.cnf. Однако, не рекомендуется делать сервер баз данных доступным через интернет. Чтобы указать внешний ip адрес, который нужно прослушивать используется опция bind_address:

sudo vi /etc/my.cnf

bind_address = 192.168.1.58

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

mysql_secure_installation

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

grep 'temporary password' /var/log/mysqld.log

Затем система сообщит, что ваш пароль устарел и нужно его поменять, введите два раза новый пароль:

Затем укажите что пароль менять не нужно. Отключите анонимных пользователей. Запретите удаленный вход от имени пользователя root:

Удалите тестовые таблицы:

И обновите таблицы привелегий:

Не рекомендуется постоянно работать с базами данных от имени пользователя root. Поэтому нужно создать обычного пользователя. Для этого сначала войдите в консоль управления с правами root:

 mysql -u root -p

Утилита, запросит пароль, введите пароль root, который задали на предыдущем этапе, дальше вы сможете выполнять команды mysql:

mysql>

Давайте создадим пользователя dbuser для базы данных dbase, с паролем password. Вам нужно заменить эти значения на свои. Сначала создаем базу данных:

mysql> create database dbase;

mysql> create user 'dbuser'@'localhost' identified by 'password';

mysql> grant all on dbase.* to dbuser' identified by 'password';

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

mysql -u testuser -p

Переключите на новую базу данных:

mysql> use dbase

Затем создайте таблицу:

create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);

Готово. Теперь вы знаете как выполняется установка MySQL CentOS 7. Давайте еще рассмотрим как сбросить пароль в MySQL.

Сброс пароля пользователя root в MySQL

Иногда может случиться что вы забудете пароль пользователя root. Его можно очень просто сбросить. Сначала остановите запущенный экземпляр программы:

sudo systemctl stop mysqld

Затем запустите сервис в безопасном режиме, для этого нужно установить специальную опцию запуска:

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

В этом режиме программа не будет запрашивать пароль для подключения. Подключитесь от имени суперпользователя и измените пароль:

mysql -u root

mysql> use mysql;

mysql> update user SET PASSWORD=PASSWORD("пароль") WHERE USER='root';

mysql> flush privileges;

Затем удалите эту переменную:

sudo systemctl unset-environment MYSQLD_OPTS

Осталось снова запустить сервер в обычном режиме:

sudo systemctl start mysqld

Улучшение производительности mysql

Настройка mysql по умолчанию не всегда оптимальна. Учитывая ваши особенности использования баз данных, можно улучшить ее производительность. Скрипт MySQL Tuner написанный на Perl и предоставляет рекомендации по настройке MySQL в зависимости от вашей нагрузки. Перед тем как запускать скрипт, дайте серверу поработать не менее чем 24 часа. Чем дольше будет время работы, тем точнее инструкции.

Скачайте скрипт:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl

Затем запустите:

perl ./mysqltuner.pl

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

Удаление mysql

Если вы хотите удалить MySQL CentOS 7, достаточно выполнить такую команду:

sudo yum remove mysql-server

Выводы

В этой статье мы рассмотрели как установить mysql centos 7. Теперь вы можете установить эту программу на своем сервере или домашнем компьютере. Также мы поговорили как выполняется базовая настройка mysql centos 7, поэтому теперь вы сможете получить полностью рабочую систему. Если у вас остались вопросы, спрашивайте в комментариях!



2017-02-01T13:25:57
Сервер