Instalace mariadb. Jak nastavit MariaDB SSL a navázat zabezpečená připojení od různých klientů

Myslím, že každý ví, že MariaDB je fork MySQL. MariaDB je vyvinuta a udržována společností MariaDB Corporation Ab a nadací MariaDB Foundation. Hlavním vývojářem MariaDB je známý Michael Widenius, autor původní verze MySQL.

V tuto chvíli je aktuální verze verze, která byla vydána 13. února 2018. V nové verzi MariaDB bylo úložiště InnoDB aktualizováno na verzi 5.7.21 a bylo opraveno více než 100 chyb, včetně těch, které bylo možné použít k zahájení vzdáleného odmítnutí služby.

Zkusme nainstalovat novou verzi na čistý systém Debian 9.3 (Stretch).

Nebudu zastírat, že se mi MariaDB opravdu líbí a už jsem to dávno vzdal Oracle MySQL Nelituji ničeho ve prospěch MariaDB nebo Percona Serveru pro MySQL. MariaDB se používá jako náhrada za Oracle MySQL v mnoha distribucích Linuxu. MariaDB se také používá jako databáze na velkém množství velkých webů, vlastně ani můj blog není výjimkou – jako databázi používám MariaDB 10.2.

Počáteční údaje: Debian OS 9.3 (Stretch);
Úkol: Nainstalujte MariaDB 10.2.13 s minimem gest a produkujte základní nastavení DB;

Na internetu je mnoho článků o tom, jak nainstalovat MariaDB na Debian, ale všechny nabízejí poněkud těžkopádná řešení.
Existuje také, ale také neobsahuje jednoduché řešení, ale je!

Instalace MariaDB 10.2.13 na Debian 9:

1. Instalace potřebného přídavného zařízení. balíčky:

Aktualizace apt-get apt-get install dirmngr wget -y

2. A nyní to velmi jednoduché kouzlo, které nebylo nikde jinde napsáno - stažení a spuštění skriptu pro instalaci úložiště:

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

Pro informaci:
Tento skript analyzuje váš systém, nainstaluje klíče GPG a přidá úložiště do souboru /etc/apt/sources.list.d/mariadb.list
Skript je oficiální a podporuje distribuce: RHEL / CentOS 6 & 7, Ubuntu 16.04 LTS (xenial) & 18.04 (bionic), Debian 8 (jessie) & 9 (stretch) a SLES 12 a 15
Skript také podporuje instalaci repozitářů pro různé verze MariaDB, MaxScale a MariaDB Tools, můžete si je stáhnout a zobrazit všechny možnosti spuštění:

./mariadb_repo_setup --help

P.S. Pro ty, kteří rádi dělají vše ručně, kde si můžete flexibilněji vybrat požadované úložiště v závislosti na geografické poloze vašeho serveru.

3. Aktualizujeme seznam balíčků:

Aktualizace Apt-get

4. Nainstalujte nejnovější verzi MariaDB 10.2.x:

Apt-get install mariadb-server -y

Během procesu instalace nás instalační program požádá, abychom přišli s heslem pro uživatele root, v této fázi ho necháme prázdné a změníme ho později.

Po instalaci zkontrolujte stav MariaDB:

# systemctl status mariadb ● mariadb.service – databázový server MariaDB 10.2.13 Načteno: načteno (/lib/systemd/system/mariadb.service; povoleno; přednastaveno dodavatelem: povoleno) Drop-In: / etc / systemd / system / mariadb. service.d └─migred-from-my.cnf-settings.conf Aktivní: aktivní (běží) od Čt 2018-02-15 12:14:17 +05; Před 19 s Dokumenty: muž: mysqld (8) https://mariadb.com/kb/en/library/systemd/ Hlavní PID: 7270 (mysqld) Stav: „Teď se berou vaše požadavky 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:* LISTEN 7270 / mysqld # ps -ef | grep [m] ysql mysql 7270 1 0 12:14? 00:00:00 / usr / sbin / mysqld

A také se pokusíme připojit k databázi pomocí příkazu mysql (protože jsme ve fázi instalace nechali heslo roota prázdné, nepoužijeme volby -u root -p):

# mysql Vítejte na monitoru MariaDB. Příkazy končí na; nebo \ g. Vaše ID připojení MariaDB je 10 Verze serveru: 10.2.13-MariaDB-10.2.13 + maria ~ stretch-log binární distribuce mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab a další. Zadejte "help;" nebo "\ h" pro pomoc. Zadáním "\ c" vymažete aktuální vstupní příkaz. MariaDB [(žádné)]>

Úspěšně jsme se připojili k serveru MariaDB.

5. Nyní spusťte Průvodce konfigurací zabezpečení:

Mysql_secure_installation

Na otázku:
Zadejte aktuální heslo pro root (zadejte žádné):
stiskněte Enter, aktuální heslo root je prázdné.

A poslední otázka:
Znovu načíst tabulky oprávnění?
zadáme Y, ano, chceme znovu načíst tabulku oprávnění, aby se projevily.

Poté jsme provedli minimální kroky k zabezpečení naší instance MariaDB.

Zkusme se nyní připojit k databázi:

# mysql ERROR 1045 (28000): Přístup odepřen uživateli „root“ @ „localhost“ (pomocí hesla: NE)

Jak vidíme, s prázdným heslem root nám to již není povoleno.

Spojme se s indikací další možnosti a zadání hesla:

# mysql -u root -p Zadejte heslo: Vítejte v monitoru MariaDB. Příkazy končí na; nebo \ g. Vaše ID připojení MariaDB je 20 Verze serveru: 10.2.13-MariaDB-10.2.13 + maria ~ stretch-log binární distribuce mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab a další. Zadejte "help;" nebo "\ h" pro pomoc. Zadáním "\ c" vymažete aktuální vstupní příkaz. MariaDB [(žádné)]>

Skvělé, vše klaplo.

To je vše, brzy se uvidíme. Pokud máte nějaké dotazy nebo chcete, abych vám pomohl, můžete vždy.

V tomto článku se podíváme na to, jak nainstalovat a nakonfigurovat Linux, Apache, MariaDB, PHP na Centos7 / RHEL 7. V nové verzi Centos7 / RHEL 7 je mnoho změn.

Co je LAMP?

LAMPA - stavebnice software na OS sestávající z operačního Linuxové systémy, Webový server Apache, databázový server MySQL a programovací jazyk PHP (nebo Perl / Python). LAMP se používá k provozování náročných, dynamických webových stránek vytvořených výhradně z bezplatného a open source softwaru. V tomto článku vysvětlím, jak se instalují Linux, Apache, MySQL / MariaDB (náhrada za MySQL), PHP (LAMP) na CentOS 7 nebo RHEL 7.

  • Nainstalujte server RHEL 7 nebo CentOS 7. Otevřete terminál na serveru přes ssh, musíte mít práva superuživatele root.
  • Budete také potřebovat znalost příkazů yum
  • Budete potřebovat IP adresu vašeho serveru, použijte následující příkaz k určení IP adresy pro rozhraní eth0
ifconfig eth0 nebo ip zobrazí seznam eth0 nebo ip addr eth0 | awk "/ inet / (sub (/ \ / + /," ", $ 2); tisknout $ 2)" nebo ifconfig eth0 | awk "/ inet / (tisk $ 2)" 10.180.10.10
  • Výsledná adresa IP 10.180.10.10 bude použita k testování instalace

Pojďme tedy začít

Instalace Apache na server CentOS 7 / RHEL 7

Chcete-li nainstalovat webový server, použijte příkaz

Yum nainstalovat httpd

Povolte službu HTTPd při spuštění

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

Chcete-li zakázat automatické načítání

Systemctl zakázat httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service"

Spusťte službu HTTPd na CentOS 7 / RHEL 7

systemctl spusťte httpd.service

V tomto okamžiku můžete svůj webový prohlížeč nasměrovat na IP adresu vašeho serveru, http://10.180.10.10. Uvidíš úvodní stránka apache:

Zastavení služby HTTPd na CentOS 7 / RHEL 7

systemctl stop httpd.service

Restartování služby HTTPd na CentOS 7 / RHEL 7

Zobrazení stavu služby apache na CentOS 7 / RHEL 7

Ujistěte se, že webový server běží

Stav Systemctl httpd.service

Také restartování webového serveru lze provést pomocí následujícího příkazu

Apachectl půvabný

Kontrola chyb konfigurace apache / httpd v Centos 7 / RHEL 7

Apachectl configtest

Výchozí konfigurace HTTPD serveru:

  1. Výchozí konfigurační soubor: /etc/httpd/conf/httpd.conf
  2. Konfigurační soubory pro načtené moduly: /etc/httpd/conf.modules.d/ (např. PHP)
  3. Vyberte MPM jako načítatelné moduly a události: / etc / httpd / conf.modules.d / 00-mpm.conf
  4. Standardní porty: 80 a 443 (SSL)
  5. Výchozí soubory protokolu: / var / log / httpd / (access_log, error_log)

Instalace MariaDB na server CentOS 7 / RHEL

MariaDB je aktualizovanou náhradou za MySQL Server. RHEL / CentOS 7 používá místo MySQL systém správy databází MariaDB. Chcete-li nainstalovat server MariaDB, zadejte následující příkaz yum:

Yum nainstalovat mariadb-server mariadb

Chcete-li spustit MariaDB, použijte příkaz:

Systemctl spustí mariadb.service

Chcete-li zajistit, aby se služba MariaDB automaticky spustila při spouštění, zadejte:

Systemctl umožňuje mariadb.service

Výstup příkazu

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

Chcete-li zastavit / restartovat a vypnout MariaDB, použijte následující příkazy:

Sudo systemctl stop mariadb.service # - Zastavení serveru mariadb sudo systemctl restart mariadb.service # - Spuštění serveru mariadb sudo systemctl zakázat mariadb.service # - Zakázat automatické načítání serveru mariadb sudo systemctl je aktivní mariadb.service # - Zkontrolujte, zda server běží?

Spuštění MariaDB poprvé

Zadejte následující příkaz:

/ usr / bin / mysql_secure_installation

Odpovědí na otázky budete moci nakonfigurovat počáteční zabezpečení databáze

Ověření instalace MariaDB

Zadejte následující příkaz

Mysql -u root -p

Příklad výstupu:

Instalace PHP na CentOS 7 / RHEL 7

Chcete-li nainstalovat PHP a moduly jako GD / mysql, zadejte následující příkaz

Yum install php php-mysql php-gd php-pear

Musíte restartovat HTTPD (Apache) server, zadejte:

Systemctl restartujte httpd.service

Chcete-li najít všechny ostatní moduly PHP:

Yum hledání php-

Chcete-li získat více detailní informace o modulu:

Skvělé informace php-pgsql

Kontrola PHP na serveru

Vytvořte soubor s názvem /var/www/html/test.php takto:

Vi /var/www/html/test.php

Přidejte následující kód:

LAMP server je nainstalován, pokud máte problémy s nastavením serveru, uděláme jednorázovou práci na instalaci a konfiguraci LAMP web serveru.

Tento článek „Instalace MariaDB 10 na CentOS 7“ vám ukáže, jak nainstalovat a nakonfigurovat MariaDB 10 na CentOS 7. Jak už pravděpodobně víte, databázový server MariaDB je nyní ve výchozím nastavení na CentOS kvůli Oracle (mateřská společnost MySQL) a licencování GPL problémy. MariaDB je open source a komunita se postupně přesouvá od MySQL k MariaDB.

Pokud příběh neznáte, zde je rychlá rekapitulace. Před tím, než Oracle vlastnil MySQL, byl založen na GPL (GNU General Public License), která říká, že software můžete používat zdarma, ale nemůžete jej upravovat ani prodávat, pokud nedarujete zdrojový kód. To znamená, že jej můžete použít ve svém uzavřeném projektu.

Když se Oracle změnil licenční smlouva z modelu GPL se většinou v open source komunitě vzbouřili a někteří založili skupinu z MySQL a vytvořili MariaDB.

Databázový server MariaDB je tedy v podstatě stejný jako MySQL, ale s licenčním modelem GPL.

Nyní, když víte trochu více o tom, proč a jak byla MariaDB založena, pojďme se naučit, jak ji nainstalovat na CentOS 7.

Instalace MariaDB na CentOS 7

Nyní je MariaDB výchozí databázový server pro CentOS, vše, co musíte udělat, je spustit následující příkazy k jeho instalaci. Problém je, že centos stáhne a nainstaluje starší, ale stabilní verze MariaDB.

Pokud chcete nainstalovat nejnovější verzi MariaDB, musíte do počítače přidat její softwarové úložiště a nainstalovat. Chcete-li to provést, spusťte následující příkazy a vytvořte soubor z úložiště.

$ sudo vim /etc/yum.repos.d/MariaDB.repo

Poté zkopírujte a vložte řádky níže do souboru a uložte jej.

Název = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1

Nakonec spusťte níže uvedené příkazy a nainstalujte MariaDB 10 na váš server:

$ sudo yum nainstalovat MariaDB-server MariaDB-client

Pokud máte problémy s chybami a MariaDB nelze nainstalovat kvůli konfliktu s mariadb-libs-xxxx, spusťte níže uvedený příkaz k odstranění konfliktních knihoven a poté znovu spusťte instalaci výše uvedeného příkazu:

$ sudo yum odstranit mariadb-libs *

Měli byste také odstranit balíček Postfix. Znovu spusťte výše uvedený příkaz a nainstalujte MariaDB.

Po dokončení instalace spusťte níže uvedený příkaz a spusťte server s MariaDB:

$ sudo /etc/init.d/mysql start

Poté spusťte následující příkaz k zabezpečení databázového serveru.

$ sudo mysql_secure_installation

Poté vyberte "Y" (Ano) pro zbytek výzev, dokud nebudete hotovi.

Zadejte aktuální heslo pro root (zadejte pro žádné): stiskněte Enter Nastavit heslo root? Y Nové heslo: Zadejte nové heslo uživatele root Znovu zadejte nové heslo: Potvrďte heslo Odebrat anonymní uživatele? Y Zakázat vzdálené přihlášení root? Y Odebrat testovací databázi a získat k ní přístup? Y Znovu načíst tabulky oprávnění nyní? Y

Nakonec musíte nahradit výchozí soubor cnf.ini v / etc / pro MariaDB. Nejprve ale musíte jít na:

$ cd / usr / share / mysql

A použijte jednu z předdefinovaných konfigurací cnf.ini, které jsou k dispozici (Huge, Medium a Small) v této složce.

Pojďme udělat záloha soubor cnf.ini:

$ sudo mv /etc/cnf.ini /etc/cnf.ini.bak

Poté zkopírujte jednu z předkonfigurací v MariaDB:

$ sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini

Restartování MaraiDB:

$ systemctl restart mysql

Stav můžete zkontrolovat:

$ systemctl status mariadb

MariaBD můžete přidat do spuštění OS:

$ systemctl povolit mariadb

Potřebuji vytvořit uživatele, aby se mohl připojit z jakéhokoli počítače:

$ mysql -uroot -u> UDĚLEJTE VŠECHNA PRIVILEGIÁ PRO *. * "Kapitánovi" @ "%" IDENTIFIKOVANÉ PODLE "moje_heslo" S MOŽNOSTÍ UDĚLENÍ; > odejít

Pojďme zkontrolovat, na kterém portu MariaDB naslouchá pomocí příkazu SS:

# ss -tnlp | grep 3306 LISTEN 0 0 127.0.0.1:3306 *: * users: (("mysqld", 1159.14))

Můj vypadá takto (dovolil jsem vzdálené připojení na databázový server):

LISTEN 0 50 *: 3306 *: * uživatelé: (("mysqld", 10884.13))

Instalace MariaDB 10 na CentOS 7 je nyní dokončena.

Ahoj!

Plně podporuji vaše rozhodnutí! Před 3 lety jsem migroval své servery na MariaDB z MySQL a ne z dobrého života. Verze MySQL byly horší a horší poté, co je Oracle koupil. Neustálé pády a chyby v tabulkách negativně ovlivnily dostupnost stránek, poté bylo rozhodnuto přejít na MariaDB.

Výsledek se plně vyplatil, MariaDB je velmi stabilní a dobře optimalizovaná. Tříletá doba provozuschopnosti bez přerušení na více serverech to dokonale dokazuje.

Výběr verze MariaDB

  • /var/run/php5-fpm.sock by již měl být na serveru? v ubuntu 16.04 nenašel takový soubor v / var / run
  • Existují 2 větve MariaDB - 5.xa 10.x.

    5.x jsou verze co nejblíže MySQL nejnovější verze, jsou plně kompatibilní s MySQL. Pokud právě přecházíte na MariaDB z MySQL, tato řada verzí je pro vás.

    10.x je nová řada verzí, která začala po verzi 5.5. Tyto verze zcela nekopírují všechny nové funkce nejnovějších verzí MySQL, ale obsahují své vlastní jedinečné funkce. Jsou stále kompatibilní s MySQL, ale pokud teprve začínáte používat MariaDB, je lepší začít s verzí 5.5.

    Instalace MariaDB na server Linux

    Distribuce MariaDB obvykle nejsou v úložištích hlavních distribucí Linuxu (například CentOS 6 a CentOS 7). Ale i kdyby existovaly, je lepší nainstalovat nativní úložiště MariaDB do systému, abyste měli vždy aktuální verze. Chcete-li nainstalovat úložiště yum, postupujte podle pokynů:

    1. Vytvořte nový soubor úložiště pomocí příkazu:

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

    Stisknutím klávesy i přejděte do režimu úprav editoru vi.

    2. Získejte text souboru pro vaši verzi Linux distribuce tímto odkazem. Budete muset vybrat název distribuční sady, její verzi a bitovou hloubku:

    Zkopírujte text pro soubor úložiště, vložte jej do svého souboru a stisknutím „: wq“ ukončete editor vi a uložte.

    Nyní můžete nainstalovat MariaDB Server a programy prostředí pomocí yum:

    yum nainstalovat MariaDB-server MariaDB-client

    Pro MySQL lze nainstalovat knihovny pro různé programovací jazyky, jsou plně kompatibilní. Například pro PHP:

    Nyní musíte spustit nainstalovaný server MariaDB a pokračovat v jeho konfiguraci:

    Pokud jste vše udělali správně, zobrazí se tato zpráva:

    Konfigurace MariaDB

    Chcete-li normálně začít s MariaDB, musíte nastavit heslo uživatele root. O ladění a optimalizaci databáze vám povím podrobně ve zvláštním článku, nejsou to prioritní věci.

    Počáteční nastavení hesla root MySQL:

    Nejjednodušší způsob, jak nastavit heslo uživatele root, je použít speciální skript, který je součástí distribuce MariaDB:

    / usr / bin / mysql_secure_installation

    Postupujte podle pokynů a nastavte heslo uživatele root.

    Pokud máte nějaké dotazy nebo potřebujete vysvětlení, zeptejte se nebo zanechte komentář.

    Vždy rád pomohu!

    Dnes se budeme zabývat zvyšováním jedné z nejžádanějších rolí ze všech linuxový server které v tomto funkčním segmentu zaujímají vedoucí roli. Nastavení webu Server CentOS 7 založený na balíčku oblíbeného serveru http apache, tlumočník php a databázový server mysql, nebo zkráceně nastavovací lampa. Tento balíček je dnes nejoblíbenější konfigurací mezi webhostingem. Sice mu v poslední době šlape na paty stejná firma, ale na základě nginx už to možná předběhla, přesné údaje o tomto skóre nemám.

    Tento článek je součástí jediné série článků o serveru.

    Webový server na CentOS 7

    Náš webový server centos se tedy bude skládat ze tří hlavních komponent – ​​http serveru apache, interpret programovacího jazyka php a databázový server mysql... Pojďme se s každým z nich trochu seznámit:

    1. Apache- http server nebo jen webový server apache. Jedná se o multiplatformní software, který podporuje téměř všechny populární OS, včetně Windows. Je ceněný především pro svou spolehlivost a flexibilitu konfigurace, kterou lze výrazně rozšířit díky plug-inům, kterých je celá řada. Mezi nedostatky poznamenávají, že jsou ve srovnání s jinými servery náročnější na zdroje. Apache nebude schopen udržet stejnou zátěž jako například nginx s podobnými hardwarovými parametry.
    2. PHP- programovací jazyk obecný účel, který se nejčastěji používá při vývoji webových aplikací. Je to zdaleka nejoblíbenější jazyk v této oblasti použití. Podporováno téměř všemi poskytovateli hostingu.
    3. Mysql- Systém pro správu databází. Svou oblibu si získal mezi malými a středně velkými aplikacemi, kterých je na webu spousta. Takže, stejně jako php, je to zdaleka nejoblíbenější databáze používaná na webových stránkách. Podporováno většinou poskytovatelů hostingu. Na CentOS místo mysql nainstalujte mariadb Je fork mysql. Jsou plně kompatibilní, je možné kdykoliv přejít z jedné podskupiny do druhé a naopak. Nedávno Narazil jsem na informaci, že mariadb funguje rychleji s mysql a lidé na něj pomalu přecházejí. V praxi jsem to nemohl pozorovat, jelikož jsem nikdy nepracoval s načtenými databázemi. A za normálních podmínek není rozdíl patrný.

    Experimentální server bude, vlastnosti jsou následující:

    procesor2 jádra
    Paměť8 Gb
    Disk150 Gb SSD

    Toto je nastavení vlastního parametru. Cenově nejsou optimální, ale byly přesně takové, jaké jsem potřeboval.

    Chci hned objasnit, že analyzuji základní výchozí nastavení. Chcete-li zlepšit výkon, zlepšit spolehlivost a použitelnost, musíte nainstalovat několik dalších nástrojů, o kterých budu diskutovat samostatně. Obecně platí, že to, co je v tomto článku, bude stačit k uspořádání webového serveru.

    Pokud ještě nemáte server, musíte jej spustit. A pokud je server již nainstalován, nezapomeňte na něj. Doporučuji, abyste věnovali pozornost nastavení, protože je mnoho užitečné informace, které v rámci tohoto článku neuvádím - aktualizace systému, konfigurace firewallu, instalace editoru a mnoho dalšího.

    Konfigurace apache na CentOS 7

    Na CentOS se nazývá služba apache httpd... Když jsem se poprvé seznámil s touto distribuční sadou, bylo to pro mě neobvyklé. Ve Freebsd a Debianu, se kterými jsem dříve pracoval, se služba webového serveru jmenovala apache, i když někde jsem si všiml, zdá se, že konfigurační soubor se jmenuje httpd.conf. Doposud nevím, proč se obě tato jména rozšířila. Byl bych rád, kdyby se se mnou někdo podělil o informace v komentářích.

    Nyní pojďme dolů instalace apache... CentOS 7 to velmi usnadňuje:

    # yum install -y httpd

    Přidejte apache do spuštění:

    # systemctl povolit httpd

    Spusťte apache na CentOS 7:

    # systemctl start httpd

    Zkontrolujte, zda se server spustil:

    # netstat -tulnp | grep httpd tcp6 0 0 ::: 80 ::: * LISTEN 21586 / httpd

    Vše je v pořádku, zavěšeno na 80. portu, jak má být. Již nyní můžete přejít na adresu http: // ip-adresa a podívat se na obrázek:

    Nyní pojďme dolů nastavení apache... Preferuji následující strukturu webhostingu:

    Vytvořme podobnou strukturu:

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

    IncludeOptional conf.d / *. Conf

    Pokud ne, zrušte komentář a přejděte do adresáře /etc/httpd/conf.d. Zde vytvořte soubor site1.ru.conf:

    ServerName site1.ru ServerAlias ​​​​www.site1.ru DocumentRoot /web/site1.ru/www Možnosti FollowSymLinks AllowOverride All Vyžadovat udělení všech ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log běžné

    Restartování apache na centos

    Nyní restartujeme apache:

    # systemctl restart httpd

    Pokud se vyskytnou nějaké chyby, podívejte se do protokolu apache / var / log / httpd / error_log. Pokud je vše v pořádku, zkontrolujte, zda je náš virtuální hostitel správně nakonfigurován. Chcete-li to provést, vytvořte ve složce /web/site1.ru/www index.html s následujícím obsahem:

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

    Apache je vyladěn!

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

    192.168.1.25 site1.ru

    kde 192.168.1.25 je ip adresa našeho webového serveru.

    Nyní do prohlížeče zadáme adresu http://site1.ru. Pokud vidíme obrázek:

    pak je vše správně nakonfigurováno. Pokud jsou nějaké chyby, jdeme se podívat na protokoly. Navíc v v tomto případě ne obecný protokol httpd, ale protokol chyb konkrétního virtuálního hostitele na /web/site1.ru/logs/error.log.

    Okamžitě bych vás rád upozornil na konfiguraci rotace protokolů virtuálního hostitele. Často se stává, že když to hned nenastavíte, tak zapomenete. Pokud má ale web dobrou návštěvnost, budou protokoly rychle růst a mohou zabírat spoustu místa. Je lepší nakonfigurovat rotaci protokolů webového serveru ihned po vytvoření. To není těžké.

    Chcete-li nakonfigurovat rotaci protokolů virtuálního hostitele, musíte upravit soubor /etc/logrotate.d/httpd. Vzniká během instalace apache a zahrnuje nastavení rotace standardního umístění klád. A protože jsme přenesli protokoly každého virtuálního hostitele do samostatné složky, musíte do tohoto souboru přidat tyto složky:

    # mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/ var / log / httpd / * log (chybí notifempty sharedscripts delaycompress postrotate / bin / systemctl reload httpd.service> / dev / null 2> / dev / null || true endscript)

    V zásadě je nejjednodušší webový server již připraven a lze jej používat. Nyní však téměř neexistují stránky se statickým obsahem, které by potřebovaly pouze podporu html. Pokračujme tedy v našem nastavení.

    Pokud potřebujete zorganizovat práci webu podle protokolu https, pak použijte příručku pro.

    Instalace php na CentOS 7

    Chcete-li podporovat dynamický obsah webu, spusťte další krok... Nainstalujte php na CentOS 7:

    # yum install -y php

    A pak je tu ještě pár užitečných komponent. Instalovat populární moduly pro php:

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

    Restartujeme apache:

    # systemctl restart httpd

    Vytvoříme soubor v adresáři virtuálního hostitele a otestujeme php:

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

    Jdeme na adresu http://site1.ru/index.php

    Měli byste vidět výstup informací php. Pokud je něco špatně, došlo k nějakým chybám, viz protokol chyb virtuálního hostitele, chyby php tam budou také.

    Kde je php.ini

    Po instalaci často vyvstává otázka, kde jsou uložena nastavení php? Tradičně jsou umístěny v jediném souboru nastavení. Na CentOS php.ini je v / etc, přímo u kořene. Zde můžete upravit globální nastavení pro všechny virtuální hostitele. Osobní nastavení pro každý web lze provést samostatně v konfiguračním souboru virtuálního hostitele, který jsme vytvořili dříve. Pojďme tam přidat některá užitečná nastavení:

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

    Přidat na úplný konec, předtím

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

    Chcete-li použít nastavení, musíte restartovat apache. Nyní můžete vidět změnu nastavení ve výstupu phpinfo.

    Upgrade na php 5.6 na CentOS 7

    V našem příkladu jsme nainstalovali na CentOS 7 php 5.4 ze standardního úložiště. A co když potřebujeme víc novou verzi, Například php 5.6? V tomto případě musíte aktualizovat php.

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

    Nyní upgrade php 5.4 na php 5.6:

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

    Restartujte apache:

    # systemctl restart httpd

    A pojďme se podívat na výstup phpinfo - http://site1.ru/index.php

    Skvělé, aktualizovali jsme php na verzi 5.6.

    Instalace MySQL na CentOS 7

    Jak jsem psal dříve, fork mysql se nyní rozšiřuje - mariadb... Je plně kompatibilní s mysql, takže jej můžete bezpečně používat. To je to, co raději používám.

    Nainstalujte mariadb na CentOS 7:

    # yum install -y mariadb mariadb-server

    Přidat mariadb do automatického spouštění:

    # systemctl povolit mariadb.service

    Spusťte mariadb:

    # systemctl spustí mariadb

    Zkontrolujeme, zda to začalo nebo ne:

    # netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276 / mysqld

    Upozorňuji na to, že i v systému se zobrazuje jako služba mysqld. Nyní spustíme standardní konfigurační skript zabezpečení:

    # / usr / bin / mysql_secure_installation

    Nebudu uvádět celý výstup tohoto skriptu, vše je tam celkem jednoduché a jasné. Nejprve nastavte heslo pro root (aktuální heslo po instalaci je prázdné), poté smažte anonymní uživatele, zakažte možnost vzdáleného připojení k rootu, smažte testovacího uživatele a databázi.

    Soubor nastavení mysql / mariadb leží v /etc/my.cnf... Výchozí nastavení je dostatečné pro běžný provoz. Pokud se je však rozhodnete změnit, nezapomeňte restartovat databázovou službu.

    Restartování mariadb/ mysql na CentOS 7:

    # systemctl restart mariadb

    To je vše. Základní funkčnost webový server je nakonfigurován na CentOS 7.

    Budu rád za připomínky a komentáře k tématu článku. Dovolte mi připomenout, že tento článek je součástí jediné série článků o serveru.

    Seminář Kali Linux

    Kurz pro ty, kteří mají zájem provádět penetrační testy a chtějí si prakticky vyzkoušet situace blízké reálným. Kurz je určen pro ty, kteří ještě nemají praxi informační bezpečnost... Školení trvá 3 měsíce, 4 hodiny týdně. Co vám tento kurz dá:
    • Hledejte a využijte zranitelnosti nebo chyby v konfiguraci firemní sítě, webové stránky, servery. Důraz na penetrační testování Windows a podnikovou bezpečnost.
    • Prozkoumejte nástroje jako metasploit, sqlmap, wireshark, burp suite a mnoho dalších.
    • Zvládnutí sady nástrojů Kali Linux v praxi - každý specialista na informační bezpečnost by se s tím měl seznámit.
    Otestujte se ve vstupním testu a podívejte se na podrobnosti programu.