Kako konfigurirati MariaDB SSL in vzpostaviti varne povezave z različnimi odjemalci. Namestitev MariaDB na Debian Namestitev mariadb

Zdravo!

Popolnoma podpiram vašo odločitev! Svoje strežnike sem preselil na MariaDB iz MySQL pred 3 leti in ne na dober način. Različice MySQL so postajale vse slabše, potem ko ga je kupil Oracle. Stalna zrušitve in napake v tabelah so negativno vplivale na razpoložljivost spletnih mest, zato je bila sprejeta odločitev za prehod na MariaDB.

Rezultat je popolnoma upravičen; MariaDB je zelo stabilen in dobro optimiziran. Triletni uptime brez prekinitev na več strežnikih to odlično dokazuje.

Izbira različice MariaDB

  • Ali naj bo /var/run/php5-fpm.sock že prisoten na strežniku? v ubuntu 16.04 nisem našel takšne datoteke v /var/run
  • Obstajata 2 veji MariaDB - 5.x in 10.x.

    5.x so različice, ki so čim bližje najnovejšim različicam MySQL in so popolnoma združljive z MySQL. Če se šele premikate na MariaDB iz MySQL, je ta linija različic za vas.

    10.x - nova vrstica različice, ki so se začele po različici 5.5. Te različice ne kopirajo popolnoma vseh novih funkcij najnovejših različic MySQL, ampak vsebujejo svoje edinstvene funkcije. Še vedno so združljivi z MySQL, a če šele začenjate uporabljati MariaDB, je bolje začeti z različico 5.5.

    Namestitev MariaDB na strežnik Linux

    Distribucije MariaDB običajno niso vključene v repozitorije večjih distribucij Linuxa (na primer CentOS 6 in CentOS 7). Toda tudi če bi obstajali, je bolje, da v sistem namestite izvorno skladišče MariaDB, da boste vedno imeli trenutne različice. Za namestitev repozitorija yum sledite navodilom:

    1. Ustvarite nova datoteka repozitorij z ukazom:

    vi /etc/yum.repos.d/MariaDB.repo

    Pritisnite tipko i, da vstopite v način urejanja urejevalnika vi.

    2. Na tej povezavi dobite besedilno datoteko za svojo različico distribucije Linuxa. Izbrati boste morali ime distribucije, njeno različico in bitno vrednost:

    Kopirajte besedilo za datoteko repozitorija, ga prilepite v svojo datoteko in pritisnite ":wq", da zapustite urejevalnik vi in ​​shranite.

    Zdaj lahko namestite strežnik MariaDB in okoljske programe z uporabo yum:

    yum namestite MariaDB-strežnik MariaDB-odjemalec

    Knjižnice za različne programske jezike je mogoče namestiti za MySQL in so popolnoma združljive. Na primer za PHP:

    Zdaj morate zagnati nameščen strežnik MariaDB in nadaljevati s konfiguracijo:

    Če ste vse naredili pravilno, boste videli to sporočilo:

    Nastavitev MariaDB

    Če želite normalno začeti uporabljati MariaDB, morate nastaviti geslo root. O prilagajanju in optimizaciji baze podatkov vam bom podrobno povedal v posebnem članku, to niso prednostne stvari.

    Začetna nastavitev korenskega gesla MySQL:

    Najlažji način za nastavitev korenskega gesla je uporaba posebnega skripta, ki je vključen v distribucijo MariaDB:

    /usr/bin/mysql_secure_installation

    Sledite navodilom in nastavite root geslo.

    Če imate kakršna koli vprašanja ali potrebujete pojasnilo, zastavite vprašanje ali pustite komentar.

    Vedno z veseljem pomagam!

    Mislim, da vsi vedo, da je MariaDB veja MySQL. MariaDB razvijata in podpirata MariaDB Corporation Ab in fundacija MariaDB. Vodilni razvijalec MariaDB je znani Michael Widenius, avtor izvirne različice MySQL.

    Trenutna različica je tista, ki je bila izdana 13. februarja 2018. V novi različici MariaDB je bila trgovina InnoDB posodobljena na izdajo 5.7.21 in odpravljenih je bilo več kot 100 napak, vključno s tistimi, ki bi jih lahko uporabili za sprožitev oddaljene zavrnitve storitve.

    Poskusimo namestiti novo različico na čisti sistem Debian 9.3 (Stretch).

    Ne bom skrival dejstva, da mi je zelo všeč MariaDB in sem že zdavnaj opustil uporabo Oracle MySQL v korist MariaDB ali Percona Server for MySQL in niti malo mi ni žal. MariaDB se uporablja kot zamenjava za Oracle MySQL v številnih distribucijah Linuxa. MariaDB se uporablja tudi kot baza podatkov na velikem številu velikih spletnih mest, pravzaprav moj blog ni izjema - kot bazo podatkov uporabljam MariaDB 10.2.

    Začetni podatki: OS Debian 9.3 (Stretch);
    Naloga: Namestite MariaDB 10.2.13 z najmanj truda in izvedite osnovno nastavitev baze podatkov;

    Na internetu lahko najdete veliko člankov o tem, kako namestiti MariaDB na Debian, vendar vsi ponujajo precej okorne rešitve.
    Obstaja tudi, vendar tudi ne vsebuje preprosta rešitev, vendar obstaja!

    Namestitev MariaDB 10.2.13 na Debian 9:

    1. Namestitev potrebne dodatne opreme. paketi:

    Apt-get posodobitev apt-get namestitev dirmngr wget -y

    2. In zdaj preprosta čarovnija, o kateri nikjer ne piše - prenos in zagon namestitvenega skripta repozitorija:

    Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2

    Za informacijo:
    Ta skript bo analiziral vaš sistem, namestil ključe GPG in dodal repozitorij v datoteko /etc/apt/sources.list.d/mariadb.list
    Skript je uraden in podpira distribucije: RHEL/CentOS 6 & 7, Ubuntu 16.04 LTS (xenial) & 18.04 (bionic), Debian 8 (jessie) & 9 (stretch) ter SLES 12 in 15
    Skript podpira tudi namestitev repozitorijev za različne različice orodij MariaDB, MaxScale in MariaDB. Lahko ga prenesete in si ogledate vse možnosti zagona:

    ./mariadb_repo_setup --help

    P.S. Za tiste, ki radi vse delate ročno, kjer lahko bolj prilagodljivo izberete želeno skladišče glede na geografsko lokacijo vašega strežnika.

    3. Posodobite seznam paketov:

    Apt-get posodobitev

    4. Namestite Najnovejša različica MariaDB 10.2.x:

    Apt-get install mariadb-server -y

    Med postopkom namestitve nas bo namestitveni program prosil, da ustvarimo geslo. root uporabnik, na tej stopnji ga bomo pustili praznega in ga pozneje spremenili.

    Po namestitvi preverite stanje MariaDB:

    # systemctl status mariadb ● mariadb.service – strežnik baze podatkov MariaDB 10.2.13 Naloženo: naloženo (/lib/systemd/system/mariadb.service; omogočeno; prednastavitev dobavitelja: omogočeno) Drop-In: /etc/systemd/system/mariadb. service.d └─migrated-from-my.cnf-settings.conf Aktiven: aktiven (teče) od četrtka 2018-02-15 12:14:17 +05; Pred 19 s Dokumenti: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Glavni PID: 7270 (mysqld) Stanje: "Zdaj sprejemam vaše zahteve SQL ..." CGroup: /system. slice/mariadb.service └─7270 /usr/sbin/mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* POSLUŠAJ 7270/mysqld # ps -ef | grep [m]ysql mysql 7270 1 0 12:14 ? 00:00:00 /usr/sbin/mysqld

    Prav tako se bomo poskusili povezati z bazo z ukazom mysql (ker smo v fazi namestitve pustili root geslo prazno, ne bomo uporabili možnosti -u root -p):

    # mysql Dobrodošli v monitorju MariaDB. Ukazi se končajo z ; ali\g. Vaš ID povezave MariaDB je 10 Različica strežnika: 10.2.13-MariaDB-10.2.13+maria~stretch-log binarna distribucija mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab in drugi. Vnesite "pomoč;" ali "\h" za pomoč. Vnesite "\c", da počistite trenutni vnosni stavek. MariaDB [(brez)]>

    Uspešno smo se povezali s strežnikom MariaDB.

    5. Zdaj pa zaženimo čarovnika za konfiguracijo varnosti:

    Mysql_secure_installation

    Na vprašanje:
    Vnesite trenutno geslo za root (vnesite za none):
    Pritisnite Enter, trenutno root geslo je prazno.

    In še zadnje vprašanje:
    Zdaj znova naložiti tabele privilegijev?
    vnesite Y, da, želimo znova naložiti tabelo privilegijev, da začnejo veljati.

    Po tem smo izvedli minimalne varnostne ukrepe na naši instanci MariaDB.

    Poskusimo se zdaj povezati z bazo podatkov:

    # mysql NAPAKA 1045 (28000): dostop zavrnjen za uporabnika "root"@"localhost" (z uporabo gesla: NE)

    Kot lahko vidimo, s praznim root geslom nismo več dovoljeni.

    Povežimo se tako, da določimo dodatne možnosti in vnesemo geslo:

    # mysql -u root -p Vnesite geslo: Dobrodošli v nadzorniku MariaDB. Ukazi se končajo z ; ali\g. Vaš ID povezave MariaDB je 20 Različica strežnika: 10.2.13-MariaDB-10.2.13+maria~stretch-log binarna distribucija mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab in drugi. Vnesite "pomoč;" ali "\h" za pomoč. Vnesite "\c", da počistite trenutni vnosni stavek. MariaDB [(brez)]>

    Super, vse se je izšlo.

    To je vse, se vidimo kmalu. Če imate kakršna koli vprašanja ali želite, da vam pomagam, lahko vedno.

    V tem članku si bomo ogledali, kako namestiti in konfigurirati Linux, Apache, MariaDB, PHP na Centos7 / RHEL 7. V novi različici Centos7 / RHEL 7 je veliko sprememb.

    Kaj je LAMP?

    SVETILKA - komplet programsko opremo na operacijskem sistemu, sestavljenem iz operacijskega sistema Linux sistemi, spletni strežnik Apache, strežnik baze podatkov MySQL in jezik PHP programiranje(ali Perl/Python). LAMP se uporablja za izvajanje težkih dinamičnih spletnih mest, ki so v celoti sestavljena iz brezplačne odprtokodne programske opreme izvorna koda. V tem članku bom razložil, kako so Linux, Apache, MySQL/MariaDB (zamenjava za MySQL), PHP (LAMP) nameščeni na CentOS 7 ali RHEL 7.

    • Namestite strežnik RHEL 7 ali CentOS 7. Odprite terminal na strežnik prek ssh, imeti morate pravice superuporabnika root.
    • Potrebovali boste tudi poznavanje ukazov yum
    • Potrebovali boste naslov IP vašega strežnika; za določitev naslova IP za vmesnik eth0 uporabite naslednji ukaz
    ifconfig eth0 ali ip a pokaži eth0 ali seznam naslovov ip eth0 | awk "/inet /(sub(/\/+/,"",$2); natisni $2)" ali ifconfig eth0 | awk "/inet /(print $2)" 10.180.10.10
    • Za preizkus namestitve bomo uporabili dobljeni naslov IP 10.180.10.10

    Pa začnimo

    Namestitev Apache na strežnik CentOS 7 /RHEL 7

    Za namestitev spletnega strežnika uporabimo ukaz

    Yum namestite httpd

    Omogoči storitev HTTPd ob zagonu

    systemctl omogoči httpd.service ln -s "/usr/lib/systemd/system/httpd.service" "/etc/systemd/system/multi-user.target.wants/httpd.service"

    Če želite onemogočiti samodejne prenose

    Systemctl onemogoči httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service"

    Zaženite storitev HTTPd na CentOS 7/RHEL 7

    systemctl zagon httpd.service

    Na tej točki lahko svoj spletni brskalnik usmerite na naslov IP vašega strežnika, http://10.180.10.10. Boš videl domača stran apache:

    Zaustavitev storitve HTTPd na CentOS 7 / RHEL 7

    systemctl zaustavi httpd.service

    Ponovni zagon storitve HTTPd na CentOS 7 / RHEL 7

    Oglejte si stanje storitve apache na CentOS 7/RHEL 7

    Prepričajte se, da spletni strežnik deluje

    Systemctl status httpd.service

    Ponovni zagon spletnega strežnika lahko izvedete tudi z naslednjim ukazom

    Apachectl graciozen

    Preverjanje apache/httpd za konfiguracijske napake na Centos 7/RHEL 7

    Apachectl configtest

    Privzeta konfiguracija strežnika HTTPD:

    1. Privzeta konfiguracijska datoteka: /etc/httpd/conf/httpd.conf
    2. Konfiguracijske datoteke za module, ki jih je mogoče naložiti: /etc/httpd/conf.modules.d/ (na primer PHP)
    3. Izberite MPM-je kot naložljive module in dogodke: /etc/httpd/conf.modules.d/00-mpm.conf
    4. Standardna vrata: 80 in 443 (SSL)
    5. Privzete dnevniške datoteke: /var/log/httpd/(access_log,error_log)

    Namestitev MariaDB na strežnik CentOS 7/RHEL

    MariaDB je posodobljena zamenjava za strežnik MySQL. V RHEL/CentOS 7 se namesto MySQL uporablja sistem za upravljanje baze podatkov MariaDB. Vnesite naslednji ukaz yum za namestitev strežnika MariaDB:

    Yum namestite mariadb-strežnik mariadb

    Za zagon MariaDB uporabite ukaz:

    Systemctl zažene mariadb.service

    Če želite zagotoviti, da se storitev MariaDB med zagonom samodejno zažene, vnesite:

    Systemctl omogoči mariadb.service

    Izhod ukaza

    Ln -s "/usr/lib/systemd/system/mariadb.service" "/etc/systemd/system/multi-user.target.wants/mariadb.service"

    Za zaustavitev/ponovni zagon in onemogočanje MariaDB uporabite naslednje ukaze:

    Sudo systemctl stop mariadb.service #-- Ustavi strežnik mariadb sudo systemctl znova zaženi mariadb.service #-- Znova zaženi strežnik mariadb sudo systemctl onemogoči mariadb.service #-- Onemogoči samodejno nalaganje strežnika mariadb sudo systemctl is-active mariadb.service #-- Preverite delovanje obstaja strežnik?

    Prvi zagon MariaDB

    Vnesite naslednji ukaz:

    /usr/bin/mysql_secure_installation

    Z odgovori na vprašanja boste lahko konfigurirali začetno varnost baze podatkov

    Preverjanje vaše namestitve MariaDB

    Vnesite naslednji ukaz

    Mysql -u root -p

    Primer izhoda:

    Namestitev PHP na CentOS 7 / RHEL 7

    Če želite namestiti PHP in module, kot je GD/mysql, vnesite naslednji ukaz

    Yum namestite php php-mysql php-gd php-pear

    Ponovno morate zagnati strežnik HTTPD (Apache), vnesite:

    Systemctl znova zaženite httpd.service

    Če želite poiskati vse druge module PHP:

    Yum iskanje php-

    Da bi dobili več podrobne informacije o modulu:

    Yum informacije php-pgsql

    Preverjanje PHP na strežniku

    Ustvarite datoteko z imenom /var/www/html/test.php, kot je ta:

    Vi /var/www/html/test.php

    Dodajte naslednjo kodo:

    Strežnik LAMP je nameščen, v kolikor imate težave z nastavitvijo strežnika opravimo enkratno delo namestitve in konfiguracije spletnega strežnika LAMP.

    Danes bomo izpostavili eno najbolj iskanih vlog strežniki linux, ki v tem funkcionalnem segmentu zasedajo vodilno vlogo. Spletna nastavitev Strežnik CentOS 7, ki temelji na kombinaciji priljubljenega strežnika http apache, tolmač php in strežniki baz podatkov mysql, ali na kratko - namestitev svetilke. Ta kombinacija je danes najbolj priljubljena konfiguracija med spletnim gostovanjem. Čeprav je zadnje čase isto podjetje za petami, a na osnovi nginxa je mogoče že napredovalo, nimam natančnih podatkov o tem.

    Ta članek je del ene same serije člankov o strežniku.

    Spletni strežnik na CentOS 7

    Naš spletni strežnik centos bo torej sestavljen iz treh glavnih komponent – ​​http strežnika apache, tolmač programskega jezika php in strežniki baz podatkov mysql. Spoznajmo vsakega od njih malo:

    1. Apache- http strežnik ali preprosto spletni strežnik Apache. Je večplatformska programska oprema, ki podpira skoraj vse priljubljene OS, vključno z operacijskim sistemom Windows. Cenjen je predvsem zaradi svoje zanesljivosti in prilagodljivosti konfiguracije, ki jo je mogoče bistveno razširiti z vtičnimi moduli, ki jih je zelo veliko. Med slabostmi ugotavljajo večjo zahtevnost po virih v primerjavi z drugimi strežniki. Apache ne bo mogel podpirati enake obremenitve kot na primer nginx s podobnimi parametri strojne opreme.
    2. PHP je splošni programski jezik, ki se najpogosteje uporablja pri spletnem razvoju. Danes je najbolj priljubljen jezik na tem področju uporabe. Podpirajo ga skoraj vsi ponudniki gostovanja.
    3. mysql— sistem za upravljanje baze podatkov. Priljubljenost je pridobil med malimi in srednje velikimi aplikacijami, ki jih je na spletu ogromno. Tako kot php je danes najbolj priljubljena zbirka podatkov, ki se uporablja na spletnih mestih. Podpira ga večina ponudnikov gostovanja. V CentOS je nameščen namesto mysql mariadb- vilice mysql. So popolnoma združljivi, kadarkoli lahko preklopite iz ene baze v drugo in nazaj. Zadnje čase sem zasledil informacije, da mariadb deluje hitreje kot mysql in ljudje počasi prehajajo nanj. V praksi tega nisem imel priložnosti opazovati, saj nikoli nisem delal z naloženimi bazami podatkov. Toda v normalnih pogojih razlika ni opazna.

    Eksperimentalni strežnik bo , značilnosti pa so naslednje:

    procesor2 jedri
    Spomin8 Gb
    Disk150 Gb SSD

    To je nastavitev po meri. Cenovno niso optimalni, a so ravno to, kar sem potreboval.

    Želel bi takoj pojasniti, da analiziram osnovno privzeto nastavitev. Če želite izboljšati zmogljivost, povečati zanesljivost in enostavnost uporabe, morate namestiti več orodij, o katerih bom razpravljal ločeno. Na splošno bo to, kar je v tem članku, zadostovalo za organizacijo spletnega strežnika.

    Če še nimate strežnika, morate zagnati . In če je strežnik že nameščen, ga ne pozabite. Priporočam, da ste pozorni na nastavitve, saj je veliko koristnih informacij, ki jih ne dajem v tem članku - posodobitev sistema, nastavitev požarnega zidu, namestitev urejevalnika in še veliko več.

    Nastavitev apache na CentOS 7

    V CentOS se kliče storitev apache httpd. Ko sem se prvič seznanil s to distribucijo, mi je bilo nenavadno. V Freebsd in Debianu, s katerima sem že delal, se je storitev spletnega strežnika imenovala apache, čeprav sem nekje zasledil, menda v programski opremi, da se konfiguracijska datoteka imenuje httpd.conf. Še danes ne vem, zakaj sta se obe imeni razširili. Vesel bi bil, če bi kdo delil informacije o tem z menoj v komentarjih.

    Zdaj pa začnimo namestitev apache. V CentOS 7 se to naredi zelo preprosto:

    # yum install -y httpd

    Dodaj apache v zagon:

    # systemctl omogoči httpd

    Zaženite apache na CentOS 7:

    # systemctl zagon httpd

    Preverite, ali se je strežnik zagnal:

    # netstat -tulnp | grep httpd tcp6 0 0:::80:::* POSLUŠAJ 21586/httpd

    Vse je v redu, viselo je na portu 80, kot je bilo pričakovano. Zdaj lahko greste na http://ip-address in vidite sliko:

    Zdaj pa nastavimo apache. Raje imam naslednjo strukturo spletnega gostovanja:

    Ustvarimo takšno strukturo:

    # mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /splet

    IncludeOptionalconf.d/*.conf

    Če ni, ga odkomentirajte in pojdite v imenik /etc/httpd/conf.d. Ustvarimo datoteko site1.ru.conf tam:

    Ime strežnika site1.ru Vzdevek strežnika ​​www.site1.ru DocumentRoot /web/site1.ru/www Možnosti FollowSymLinks AllowOverride All Zahtevaj vse odobreno ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log skupno

    Ponovni zagon apache na centos

    Zdaj znova zaženemo apache:

    # systemctl znova zaženi httpd

    Če se pojavi kakšna napaka, si oglejte dnevnik apache /var/log/httpd/error_log. Če je vse v redu, bomo preverili, ali je naš virtualni gostitelj normalno konfiguriran. Če želite to narediti, ustvarite v mapi /web/site1.ru/www datoteka index.html naslednjo vsebino:

    # mcedit /web/site1.ru/www/index.html

    Apache je nastavljen!

    # chown apache. /web/site1.ru/www/index.html

    192.168.1.25 site1.ru

    kjer je 192.168.1.25 naslov IP našega spletnega strežnika.

    Zdaj v brskalnik vnesemo naslov http://site1.ru. Če vidimo sliko:

    pomeni, da je vse pravilno konfigurirano. Če so kakšne napake, pojdite pogledat dnevnike. Še več, v tem primeru ne splošni dnevnik httpd, ampak dnevnik napak določenega virtualnega gostitelja na /web/site1.ru/logs/error.log.

    Takoj vas bom opozoril na nastavitev rotacije dnevnikov virtualnih gostiteljev. Pogosto se zgodi, da če ga ne nastavite takoj, potem pozabite. Če pa ima spletno mesto dober promet, bodo dnevniki hitro rasli in lahko zavzamejo veliko prostora. Bolje je nastaviti rotacijo dnevnikov spletnega strežnika takoj po ustvarjanju. Tega ni težko narediti.

    Če želite konfigurirati rotacijo dnevnika navideznega gostitelja, morate urediti datoteko /etc/logrotate.d/httpd. Ustvari se med namestitvijo apache in vključuje nastavitev rotacije privzete lokacije dnevnika. In ker smo prenesli dnevnike vsakega virtualnega gostitelja v posamezno mapo, moramo tej datoteki dodati te mape:

    # mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/var/log/httpd/*log (missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl ponovno naloži httpd.service > /dev/null 2>/dev/null || pravi končni skript)

    Načeloma je najenostavnejši spletni strežnik že pripravljen in ga je mogoče uporabljati. Vendar je malo verjetno, da bodo zdaj obstajala spletna mesta s statično vsebino, za katere zadostuje samo podpora za html. Torej nadaljujmo z našo nastavitvijo.

    Če morate organizirati delovanje mesta v skladu s protokolom https, nato uporabite priročnik za .

    Namestitev php na CentOS 7

    Za podporo dinamične vsebine spletnega mesta naredimo naslednji korak. Namestimo php na CentOS 7:

    # yum install -y php

    In potem še nekaj uporabnih komponent. Namestimo priljubljeno moduli za php:

    # yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    Ponovno zaženimo apache:

    # systemctl znova zaženi httpd

    Ustvarimo datoteko v imeniku navideznega gostitelja in preverimo php delo:

    # mcedit /web/site1.ru/www/index.php# chown apache. /web/site1.ru/www/index.php

    Pojdite na http://site1.ru/index.php

    Videti bi morali izpis informacij php. Če je kaj narobe, so se pojavile nekatere napake, poglejte dnevnik napak virtualnega gostitelja, tam bodo tudi napake php.

    Kje je php.ini?

    Po namestitvi se pogosto pojavi vprašanje: kje so shranjeni? nastavitve php? Običajno se nahajajo v eni datoteki z nastavitvami. Na CentOS php.ini je v /etc, čisto pri korenu. Tam lahko urejate globalne nastavitve za vse virtualne gostitelje. Osebne nastavitve za vsako spletno mesto lahko naredite ločeno v konfiguracijski datoteki navideznega gostitelja, ki smo jo naredili prej. Dodajmo jih nekaj uporabne nastavitve:

    # mcedit /etc/httpd/conf.d/site1.ru.conf

    Dodajte čisto na koncu, pred

    Php_admin_value date.timezone "Evropa/Moskva" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

    Če želite uporabiti nastavitve, morate znova zagnati Apache. Zdaj lahko vidite spremembe nastavitev v izhodu phpinfo.

    Nadgradnja na php 5.6 na CentOS 7

    V našem primeru smo namestili na CentOS 7 php 5.4 iz standardnega repozitorija. Kaj pa, če potrebujemo več nova različica, Na primer php 5.6? V tem primeru morate posodobiti php.

    # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm

    zdaj posodobite php 5.4 na php 5.6:

    # yum --enablerepo=remi,remi-php56 namestite php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    Znova zaženite apache:

    # systemctl znova zaženi httpd

    In poglejmo rezultat phpinfo - http://site1.ru/index.php

    Super, php smo posodobili na različico 5.6.

    Namestitev MySQL na CentOS 7

    Kot sem že napisal, postaja mysql fork vse bolj razširjen - mariadb. Je popolnoma združljiv z mysql, zato ga lahko brez skrbi uporabljate. Najraje ga uporabljam.

    Namestitev mariadb na CentOS 7:

    # yum install -y mariadb mariadb-strežnik

    Dodajte mariadb v samodejni zagon:

    # systemctl omogoči mariadb.service

    Zaženi mariadb:

    # systemctl zaženi mariadb

    Preverimo, ali se je začelo ali ne:

    # netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* POSLUŠAJ 22276/mysqld

    Upoštevajte, da je v sistemu celo prikazan kot storitev mysqld. Zdaj zaženemo standardni varnostni konfiguracijski skript:

    # /usr/bin/mysql_secure_installation

    Ne bom dal celotnega rezultata tega skripta, vse je precej preprosto in jasno. Najprej nastavimo geslo za root (trenutno geslo po namestitvi je prazno), nato izbrišemo anonimne uporabnike, onemogočimo povezavo root na daljavo ter izbrišemo testnega uporabnika in bazo.

    mapa nastavitve mysql/mariadb je notri /etc/my.cnf. Za normalno delo zadostujejo privzete nastavitve. Če pa se odločite, da jih spremenite, ne pozabite znova zagnati storitve baze podatkov.

    Znova zaženite mariadb/mysql na CentOS 7:

    # systemctl znova zaženi mariadb

    To je vse. Osnovna funkcionalnost spletnega strežnika na CentOS 7 je konfigurirana.

    Vesel bom komentarjev na temo članka. Naj vas spomnim, da je ta članek del ene same serije člankov o strežniku.

    Delavnica Kali Linux

    Tečaj je namenjen tistim, ki jih zanima izvajanje penetracijskih testov in se želijo praktično preizkusiti v situacijah, ki so blizu resničnim. Tečaj je namenjen tistim, ki še nimate izkušenj s varnost informacij. Usposabljanje traja 3 mesece po 4 ure na teden. Kaj vam bo dal ta tečaj:
    • Poiščite in izkoristite ranljivosti ali napake v konfiguraciji korporativna omrežja, spletne strani, strežniki. Poudarek na pentestiranju Windows OS in varnosti korporativnega segmenta.
    • Orodja za učenje, kot so metasploit, sqlmap, wireshark, burp suite in mnoga druga.
    • Obvladovanje orodij Kali Linux v praksi - vsak strokovnjak za informacijsko varnost bi moral biti seznanjen s tem.
    Preizkusite se na sprejemnem preizkusu in si oglejte program za več podrobnosti.

    Zdaj vam bom povedal, kako namestiti MariaDB na Debian. Povedal vam bom tudi, kako ga uporabiti v moji temi "Namestitev MariaDB na Debian"; vse to bo podrobno opisano.

    MariaDB je lahka zamenjava za MySQL. MariaDB je podoben MySQL in želi biti najboljša izbira za strokovnjake za baze podatkov, ki iščejo zanesljive, razširljive SQL Server. Ta priročnik bo začetnikom pomagal pri namestitvi in ​​razumevanju MariaDB na Debian 7 in 6. Da bi dosegli ta cilj, MariaDB Foundation tesno sodeluje z veliko skupnostjo uporabnikov in razvijalcev v pravem duhu brezplačne in odprtokodne programske opreme ter izdaja programsko opremo v tako, da je bil zelo zanesljiv.

    Spodbuda za njegovo ustanovitev je bila potreba po zagotovitvi brezplačnega statusa DBMS (pod licenco GPL), v nasprotju z nejasno politiko licenciranja MySQL s strani Oracle. Vodilni razvijalec je Michael Widenius, avtor izvirne različice MySQL in ustanovitelj Monty Program AB.

    MariaDB je opustil podsistem za shranjevanje InnoDB in ga nadomestil z XtraDB. Vključeni so tudi podsistemi Aria (en:Aria (storage engine)), PBXT in FederateX.

    Najprej posodobimo OS (tako da bo vse novo):

    # apt-get posodobitev # apt-get nadgradnja

    Namestitev dodatkov za Python:

    # sudo apt-get namestite lastnosti programske opreme python

    Namestitev MariaDB

    Najprej morate uvoziti ključ GPG, da bo APT preveril celovitost paketov in prenesel vse:

    # apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

    Ustvarimo lastno datoteko MariaDB sources.list, da ji dodamo repozitorij:

    # vim /etc/apt/sources.list

    Namestitev MariaDB 5.5 za Debian 7 wheezy

    # Seznam repozitorija MariaDB 5.5 - ustvarjen 2014-11-15 17:08 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian wheezy main

    Namestitev MariaDB 5.5 za Debian 6 squeeze

    # Seznam repozitorija MariaDB 5.5 - ustvarjen 2014-11-15 17:14 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian stisnite glavni deb-src http://mirror.23media.de/mariadb /repo/5.5/debian squeeze main

    Namestitev MariaDB 10.0 za Debian 7 wheezy

    # Seznam repozitorija MariaDB 10.0 - ustvarjen 2014-11-15 17:21 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian wheezy main

    Namestitev MariaDB 10.0 za Debian 6 squeeze

    # Seznam repozitorija MariaDB 10.0 - ustvarjen 2014-11-15 17:22 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian squeeze main

    Namestitev MariaDB 10.1 za Debian 7 wheezy

    # Seznam repozitorija MariaDB 10.1 - ustvarjen 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian wheezy main

    Namestitev MariaDB 10.1 za Debian 6 squeeze

    # Seznam repozitorija MariaDB 10.1 - ustvarjen 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian stisnite glavni deb-src http://mirror.23media.de/mariadb /repo/10.1/debian squeeze main

    Po tem posodobimo sistem (seznam vseh repozitorijev) in namestimo strežnik z MariaDB:

    # sudo apt-get update # sudo apt-get namestite mariadb-server

    Po tem se bo začela namestitev strežnika MariaDB. Izbral sem različico 10.0 in zato bom dal primer namestitve. Med namestitvijo boste morali vnesti geslo za uporabnika MariaDB - root.

    Vnesite geslo in kliknite OK. Vnesti morate tudi 2. čas (potrditev). Postopek namestitve bo trajal nekaj minut.

    Uporaba MariaDB

    V tem razdelku se boste naučili, kako se povezati z MariaDB in kako uporabljati osnovne ukaze SQL.

    Standardno orodje za interakcijo z MariaDB je odjemalski program MySQL. Za začetek zaženite naslednji ukaz za povezavo z MariaDB kot root:

    # mysql -u root -p

    Vnesite geslo, ki ste ga vnesli (ustvarili) med namestitvijo.

    Poskusimo ustvariti preprosto bazo podatkov, ki jo bomo kasneje napolnili s podatki. Vnesite naslednje ukaze, da ustvarite bazo podatkov z imenom TEST_DB, katere lastnik je Nov uporabnik Test_User, uporabniku bomo z ukazom nastavili tudi geslo secret_password:

    MariaDB [(brez)]> USTVARI PODATKOVNO BAZO test_db; MariaDB [(none)]> PODELI VSE PRIVILEGIJE ZA test_db.* ZA test_user@localhost, KI JE IDENTIFICIRAN S "secret_password"; MariaDB [(brez)]> PRIVILEGIJE IZPRISOVANJA; MariaDB [(brez)]> zapusti

    Zadnja vrstica (ukaz) prihaja od korenskega uporabnika v MariaDB. Zdaj pa se prijavimo kot uporabnik test_user:

    # mysql -u testuser -p

    Vnesemo ukaz za uporabo novo ustvarjene podatkovne baze (test_db):

    MariaDB [(none)]> USE test_db;

    Ustvarite novo tabelo in jo napolnite z nekaj podatki:

    MariaDB [(brez)]> CREATE TABLE izdelki (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ime VARCHAR(255), cena DECIMAL(6,2)); MariaDB [(brez)]> INSERT INTO products (name, price) VALUES ("MacBook_Pro", 3200.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ("Asus", 340.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ("HP", 745.0);

    Preverite, ali so novi podatki pravilno vstavljeni:

    MariaDB [(brez)]> IZBERI * IZ izdelkov;

    Zapustite odjemalca MariaDB tako, da zaženete:

    MariaDB [(brez)]> zapusti

    Za pridobitev Dodatne informacije O SQL ukazi narediti:

    MariaDB [(brez)]>\h

    Nastavitev MariaDB

    Če želite konfigurirati MariaDB, morate urediti konfiguracijsko datoteko. Ta datoteka nadzoruje večino sistemskih spremenljivk strežnika, ki bi jih običajno pustili privzete.

    # vim /etc/mysql/my.cnf

    znova zaženite strežnik z zagonom naslednjega ukaza:

    # ponovni zagon storitve mysql

    Varnost MariaDB

    # mysql_secure_installation

    Pozvani boste, da spremenite skrbniško geslo, odstranite anonimne uporabnike, onemogočite prijave zunaj lokalnega gostitelja, izbrišete vse anonimne uporabnike in izbrišete testno bazo podatkov. Priporočljivo je, da na vsa vprašanja odgovorite z »Y«.

    Oddaljene uporabniške povezave

    Oglejmo si, kako omogočiti predhodno ustvarjenemu Test_Userju, da se na daljavo poveže z MariaDB (privzeto MariaDB dovoljuje samo povezave z lokalnega gostitelja).

    Če strežnik MariaDB izpostavite internetu, postane manj varen. Če se morate povezati z drugega strežnika, se prepričajte, da uporabite pravila požarnega zidu, ki dovoljujejo samo povezave z določenih naslovov IP.
    Najprej moramo zagotoviti povezave po meri z oddaljenimi gostitelji za uporabnika Test_user tako, da se prijavimo v MariaDB kot root:

    # mysql -u root -p

    Dovoli uporabniku Test_User povezavo z oddaljenih gostiteljev:

    MariaDB [(brez)]> PODELI VSE PRIVILEGIJE ZA test_db.* TO test_user@"%" IDENTIFICIRAN S "secret_password"; MariaDB [(brez)]> PRIVILEGIJE IZPRISOVANJA; MariaDB [(brez)]> zapusti

    Nastavitev MariaDB za poslušanje vsega omrežni vmesniki. Odprite datoteko /etc/mysql/my.cnf:

    # vim /etc/mysql/my.cnf

    […]
    povezovalni naslov = 0.0.0.0
    […]

    Ponovno zaženite strežnik:

    # ponovni zagon storitve mysql

    Preverjanje povezave z lokalni računalnik na vašem strežniku MariaDB, pri čemer zamenjajte Test_User z vašim uporabniškim imenom in test_domain.com z vašo domeno ali naslovom IP:

    # mysql -u testni_uporabnik -h testna_domena.com -p

    Če ste se uspešno prijavili, bi morali videti pozdrav MariaDB in poziv lupine.

    Nastavitev MariaDB

    MySQL tuner je uporabno orodje, ki se poveže z delujočim primerkom MariaDB in nudi priporočila za konfiguracijo glede na delovno obremenitev. Vaš primerek MariaDB morate pustiti delovati vsaj 24 ur, preden zaženete sprejemnik. Dlje ko se primer izvaja, tem najboljši nasvet Tuner vam bo ponudil.

    Namestite uglaševalec MySQL tako, da zaženete naslednji ukaz:

    # apt-get namestite mysqltuner

    Zaženite MySQL tuner z naslednjim ukazom:

    # mysqltuner

    Nato vam bo dal veliko zelo koristnih informacij. Upoštevajte priporočila na koncu. To vam bo povedalo, kaj je treba spremeniti (katere spremenljivke je treba konfigurirati) v razdelku /etc/mysql/my.cnf vaše datoteke.

    Kako ponastaviti korensko geslo MariaDB?

    Če ste pozabili svoje superuporabniško geslo (root geslo), ga lahko preprosto ponastavite po spodnjih navodilih.

    Zaustavite strežnik MariaDB:

    # storitev mysql stop

    Zaženite strežnik s preskočnimi tabelami, da se lahko prijavite v MariaDB brez gesla:

    # mysqld_safe --skip-grant-tables &

    Zdaj se lahko povežete s strežnikom MariaDB kot root brez gesla:

    # mysql -u root

    V odjemalcu MariaDB vnesite naslednje ukaze za ponastavitev korenskega gesla in izhod:

    MariaDB [(none)]> USE mysql MariaDB [(none)]> UPDATE user SET password=PASSWORD("yournewpassword") WHERE user="root"; MariaDB [(brez)]> PRIVILEGIJE IZPRISOVANJA; MariaDB [(brez)]> zapusti

    Znova zaženite strežnik MariaDB:

    # ponovni zagon storitve mysql

    Povežite se s strežnikom MariaDB z novim geslom:

    # mysql -u root -p

    Namestitev MariaDB na Debian je končana. Upam, da je bilo jasno.



    
    Vrh