Kako nastaviti 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 iz dobrega življenja. Različice MySQL postajajo vedno slabše, odkar ga je Oracle kupil. Nenehni padci in napake v tabelah so slabo vplivali na razpoložljivost spletnih mest, nato pa je bilo odločeno, da se preklopi na MariaDB.

Rezultat je popolnoma upravičen, MariaDB je zelo stabilen in dobro optimiziran. Triletni čas delovanja brez prekinitve na več strežnikih to odlično dokazuje.

Izbira različice MariaDB

  • Ali naj bi bil /var/run/php5-fpm.sock že prisoten na strežniku? v ubuntu 16.04 ni 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, so popolnoma združljive z MySQL. Če se samo selite na MariaDB iz MySQL, je ta vrstica različice 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 najbolje, da začnete z različico 5.5.

    Namestitev MariaDB na strežnik Linux

    Distribucije MariaDB običajno niso v repozitorijih večjih distribucij Linuxa (na primer v CentOS 6 in CentOS 7). Toda tudi če bi obstajal, je bolje, da v sistem namestite izvorni repozitorij MariaDB, da boste vedno imeli trenutne različice. Za namestitev repozitorija yum sledite navodilom:

    1. Ustvarite novo datoteko repozitorija 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 besedilo datoteke za vašo 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 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 naslednje sporočilo:

    Nastavitev MariaDB

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

    Začetna nastavitev korenskega gesla MySQL:

    Najlažji način za nastavitev korenskega gesla je uporaba posebnega skripta, ki je priložen distribuciji MariaDB:

    /usr/bin/mysql_secure_installation

    Sledite navodilom in nastavite root geslo.

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

    Vedno z veseljem pomagam!

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

    Trenutno je trenutna različica tista, ki je bila izdana 13. februarja 2018. V novi različici MariaDB je bila trgovina InnoDB posodobljena na izdajo 5.7.21 in popravljenih je bilo več kot 100 napak, vključno z napakami, 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 dolgo opustil uporabo Oracle MySQL v korist MariaDB ali Percona Server za MySQL, ničesar ne obžalujem. 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 tudi 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 potezami in izvedite osnovno nastavitev baze podatkov;

    Na internetu je 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 potrebnega dodatka. paketi:

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

    2. In zdaj zelo preprosta čarovnija, ki ni nikjer zapisana - 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) in SLES 12 & 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:

    posodobitev apt-get

    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 pripravimo geslo za root uporabnika, na tej stopnji bomo pustili prazno 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 poskušali povezati z bazo podatkov z ukazom mysql (ker smo v fazi namestitve pustili prazno root geslo, 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 varnostno konfiguracijo:

    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?
    tip Y, da, želimo znova naložiti tabelo privilegijev, da začnejo veljati.

    Po tem smo naredili minimalne korake za zaščito našega primerka MariaDB.

    Zdaj pa se poskusimo 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žite se z dodatnimi možnostmi in geslom:

    # 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, ste vedno dobrodošli.

    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 - kit programsko opremo na OS, ki ga sestavljajo operacijski sistem Linux, spletni strežnik Apache, strežnik baz podatkov MySQL in programski jezik PHP (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
    • Dobljeni naslov IP 10.180.10.10 bo uporabljen za preizkus namestitve

    Pa začnimo

    Namestitev Apache na strežnik CentOS 7 /RHEL 7

    Za namestitev spletnega strežnika uporabite ukaz

    Yum namestite httpd

    V zagonu omogočite storitev HTTPd

    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 samodejni prenos

    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 začetna 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 v 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, naložljivi moduli: /etc/httpd/conf.modules.d/ (npr. 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 baz 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 samodejno zažene ob zagonu, 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 ali je strežnik začel?

    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 namestitve MariaDB

    Vnesite naslednji ukaz

    MySQL -u root -p

    Vzorec 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

    PHP validacija na strežniku

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

    /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 se bomo lotili vzpona ene najbolj iskanih vlog strežniki linux, ki v tem funkcionalnem segmentu zasedajo vodilno vlogo. spletna nastavitev Strežnik CentOS 7 temelji na množici priljubljenih strežnikov http apache, tolmač php in strežniki baz podatkov mysql, ali na kratko - svetilka za nastavitev. Ta paket je danes najbolj priljubljena konfiguracija med spletnim gostovanjem. Čeprav mu je isto podjetje zadnje čase za petami, a na osnovi nginxa ga je morda že prehitelo, točnih podatkov o tem nimam.

    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 – ​​strežnika http apache, tolmač programskega jezika php in strežniki baz podatkov mysql. Spoznajmo vsakega od njih malo:

    1. Apache- http strežnik ali samo spletni strežnik apache. Je programska oprema za več platform, 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 znatno razširiti zahvaljujoč vtičnikom, ki jih je zelo veliko. Med pomanjkljivostmi ugotavljajo večjo zahtevnost po virih v primerjavi z drugimi strežniki. Da bi ohranil enako obremenitev kot na primer nginx, apache s podobnimi parametri strojne opreme ne bo mogel.
    2. PHP je splošni programski jezik, ki se najpogosteje uporablja pri spletnem razvoju. Je daleč najbolj priljubljen jezik na tem področju uporabe. Podpirajo ga skoraj vsi ponudniki gostovanja.
    3. MySQL— sistem za upravljanje baze podatkov. Priljubljenost je pridobil v okolju majhnih in srednje velikih aplikacij, ki jih je na spletu zelo veliko. Tako kot php je daleč najbolj priljubljena baza podatkov, ki se uporablja na spletnih mestih. Podpira ga večina gostiteljev. Na CentOS namesto mysql je nameščen mariadb je razcep mysql. So popolnoma združljivi, kadarkoli je mogoče preklopiti iz enega subd v drugega in nazaj. Pred kratkim sem zasledil informacijo, da mariadb deluje hitreje kot mysql in ljudje počasi prehajajo nanj. V praksi tega nisem slučajno opazil, saj nikoli nisem delal z naloženimi bazami podatkov. In v normalnih pogojih razlika ni opazna.

    Eksperimentalni strežnik bo imel naslednje značilnosti:

    procesor2 jedri
    Spomin8 GB
    Disk150 GB SSD

    To je nastavitev po meri. Za ceno niso optimalni, a so bili točno to, kar sem potreboval.

    Takoj želim pojasniti, da razstavljam osnovno privzeto nastavitev. Če želite izboljšati delovanje, zanesljivost in uporabnost, morate namestiti še nekaj orodij, o katerih bom razpravljal ločeno. V splošnem bo to, kar je v tem članku, dovolj 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 nastavitev, saj je veliko koristnih informacij, ki jih v tem članku ne podajam - posodobitev sistema, nastavitev požarnega zidu, namestitev urejevalnika in še veliko več.

    Nastavitev Apache na CentOS 7

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

    Zdaj pa pojdimo k namestitev apache. V CentOS 7 je to zelo enostavno:

    # yum install -y httpd

    Dodaj apache v zagon:

    # systemctl omogoči httpd

    Zagon apache na CentOS 7:

    # systemctl zagon httpd

    Preverite, ali strežnik deluje:

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

    Vse je v redu, obešeno na 80. portu, kot mora biti. Že zdaj lahko greste na http://ip-address in si ogledate sliko:

    Zdaj bomo konfigurirali 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

    IncludeOptional conf.d/*.conf

    Če ne, odkomentirajte in pojdite v imenik /etc/httpd/conf.d. Tam ustvarimo datoteko site1.ru.conf:

    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 so kakšne napake, 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 index.html datoteko 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:

    tako da je vse pravilno nastavljeno. Če so kakšne napake, potem gremo pogledat dnevnike. In 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, da nastavite rotacijo dnevnikov spletnega strežnika takoj po ustvarjanju. To ni težko narediti.

    Če želite nastaviti rotacijo dnevnika navideznega gostitelja, morate urediti datoteko /etc/logrotate.d/httpd. Nastane med namestitve apache in vključuje nastavitev rotacije standardne lokacije hlodov. In ker smo premaknili dnevnike vsakega virtualnega gostitelja v posamezno mapo, morate 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. Toda zdaj skoraj ni spletnih mest s statično vsebino, ki podpirajo samo html. Torej nadaljujmo z našo nastavitvijo.

    Če morate delo mesta organizirati v skladu s protokolom https, nato uporabite vodnik za .

    Namestitev php na CentOS 7

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

    # yum install -y php

    In potem še nekaj uporabnih komponent. Namestite 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 delovanje php:

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

    Gremo na naslov http://site1.ru/index.php

    Morali bi videti izpis informacij php. Če je kaj narobe, je prišlo do napak, glejte dnevnik napak virtualnega gostitelja, tam bodo tudi napake php.

    Kje je php.ini

    Po namestitvi se pogosto pojavi vprašanje, kje so nastavitve php? Običajno so v eni datoteki z nastavitvami. Na CentOS php.ini je v /etc, čisto pri korenu. Tam lahko uredite 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 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 v izpisu phpinfo vidite spremembo nastavitev.

    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, zdaj mysql fork postaja vse bolj razširjen - mariadb. Ima popolno združljivost z mysql, tako da ga lahko varno uporabljate. Najraje ga uporabljam.

    Namestite 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

    Preverite, ali deluje ali ne:

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

    Opozarjam vas na dejstvo, da se v sistemu pojavlja celo kot storitev mysqld. Zdaj zaženemo standardni varnostni konfiguracijski skript:

    # /usr/bin/mysql_secure_installation

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

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

    znova zaženi 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 pripomb in komentarjev na temo članka. Opozarjam vas, da je ta članek del ene same serije člankov o strežniku.

    Delavnica Kali Linux

    Tečaj za tiste, 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 tedensko. 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 na varnosti korporativnega segmenta.
    • Orodja za učenje, kot so metasploit, sqlmap, wireshark, burp suite in mnoga druga.
    • Obvladovanje kompleta orodij Kali Linux v praksi - vsak strokovnjak za informacijsko varnost bi ga moral poznati.
    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 namestiti in razumeti, kako MariaDB deluje na Debian 7 in 6. Da bi to dosegli, MariaDB Foundation tesno sodeluje z veliko skupnostjo uporabnikov in razvijalcev v pravem duhu brezplačne in odprtokodne programske opreme ter izda programsko opremo na način, da je bil zelo zanesljiv.

    Spodbuda za ustvarjanje je bila potreba po zagotavljanju brezplačnega statusa DBMS (pod licenco GPL), v nasprotju z nejasno licenčno politiko 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 je vse najnovejše):

    # apt-get posodobitev # apt-get nadgradnja

    Namestite vtičnike python:

    # sudo apt-get namestite lastnosti programske opreme python

    Namestitev MariaDB

    Najprej morate uvoziti ključ GPG, tako da APT preveri celovitost paketov in prenese vse:

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

    Ustvarite lastno datoteko MariaDB sources.list, da ji dodate 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 posodobitev # sudo apt-get namestite mariadb-server

    Po tem se bo začela namestitev strežnika MariaDB. Izbral sem različico 10.0, 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, ki je v lasti novega uporabnika Test_User, in nastavite geslo secret_password za uporabnika z ukazom:

    MariaDB [(brez)]> USTVARI PODATKOVNO BAZO test_db; MariaDB [(brez)]> PODELI VSE PRIVILEGIJE ZA test_db.* DO [e-pošta zaščitena] IDENTIFICIRANO S "skrivnim_geslom"; MariaDB [(brez)]> PRIVILEGIJE IZPRISOVANJA; MariaDB [(brez)]> zapusti

    Zadnja vrstica (ukaz) se odjavi kot root v MariaDB. Zdaj pa se prijavimo kot uporabnik test_user:

    # mysql -u testuser -p

    Vnesite 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);

    Prepričajte se, da 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 teči:

    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, odstranite vse anonimne uporabnike in odstranite 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 uporabniku Test_User, da se na daljavo poveže z MariaDB (privzeto MariaDB dovoljuje samo povezave z lokalnega gostitelja).

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

    # mysql -u root -p

    Uporabniku Test_User omogočamo 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

    Konfiguriranje 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 dobrodošlico MariaDB in ukaz lupine.

    Nastavitev MariaDB

    mysql tuner je uporabno orodje, ki se poveže z delujočo instanco MariaDB in nudi konfiguracijska priporočila 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 vas bo pozval sprejemnik.

    Namestite MySQL tuner tako, da zaženete naslednji ukaz:

    # apt-get namestite mysqltuner

    Zaženite MySQL tuner z naslednjim ukazom:

    # mysqltuner

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

    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