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
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
- 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.serviceNa 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.servicePonovni 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:
- Privzeta konfiguracijska datoteka: /etc/httpd/conf/httpd.conf
- Konfiguracijske datoteke za module, ki jih je mogoče naložiti: /etc/httpd/conf.modules.d/ (na primer PHP)
- Izberite MPM-je kot naložljive module in dogodke: /etc/httpd/conf.modules.d/00-mpm.conf
- Standardna vrata: 80 in 443 (SSL)
- 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:
- 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.
- 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.
- 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:
procesor | 2 jedri |
Spomin | 8 Gb |
Disk | 150 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:
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.html192.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.
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.