Dzisiaj zajmiemy się jedną z najbardziej poszukiwanych ról serwery linuksowe, które zajmują wiodącą rolę w tym segmencie funkcjonalnym. Konfigurowanie serwera WWW CentOS 7 w oparciu o kilka popularnych serwer http A Apache, tłumacz php i serwery baz danych mysql lub w skrócie - montaż lampy. Ta kombinacja jest obecnie najpopularniejszą konfiguracją wśród hostingów. Co prawda ostatnio ta sama firma depcze po piętach, ale bazując na nginxie, być może już wyprzedziła, nie mam dokładnych danych w tej kwestii.
Ten artykuł jest częścią jednej serii artykułów o serwerze.
A więc nasza sieć serwer centos będzie składać się z trzech głównych komponentów - serwera http Apache, interpreter języka programowania php i serwery baz danych mysql. Poznajmy trochę każdego z nich:
Serwer eksperymentalny będzie miał następujące cechy:
procesor | 2 rdzenie |
Pamięć | 8 GB |
Dysk | Dysk SSD 150 GB |
To jest ustawienie ustawień niestandardowych. Nie są optymalne cenowo, ale właśnie tego potrzebowałem.
Od razu chcę wyjaśnić, że analizuję podstawowe ustawienie domyślne. Aby poprawić wydajność, zwiększyć niezawodność i łatwość obsługi, musisz zainstalować jeszcze kilka narzędzi, które omówię osobno. Ogólnie rzecz biorąc, to, co jest w tym artykule, wystarczy do zorganizowania serwera WWW.
Jeśli nie masz jeszcze serwera, musisz uruchomić . A jeśli serwer jest już zainstalowany, nie zapomnij o tym. Polecam zwrócić uwagę na ustawienia, ponieważ jest ich wiele przydatna informacja, których nie podaję w ramach tego artykułu - aktualizacja systemu, konfiguracja zapory ogniowej, instalacja edytora i wiele więcej.
W CentOS wywoływana jest usługa Apache httpd. Kiedy po raz pierwszy zetknąłem się z tą dystrybucją, było to dla mnie niezwykłe. We Freebsd i Debianie, z którymi wcześniej pracowałem, usługa serwera WWW nazywała się Apache, chociaż zauważyłem gdzieś, zdaje się, w oprogramowaniu, że plik konfiguracyjny nazywa się httpd.conf. Do dziś nie wiem, dlaczego obie te nazwy się rozpowszechniły. Będzie mi miło, jeśli ktoś podzieli się ze mną informacjami na ten temat w komentarzach.
Teraz zacznijmy instalacja Apache'a. W CentOS 7 robi się to bardzo prosto:
# mniam, zainstaluj -y httpd
Dodaj Apache do uruchamiania:
# systemctl włącz httpd
Uruchom Apache na CentOS 7:
# systemctl start httpd
Sprawdź, czy serwer został uruchomiony:
# netstat -tulnp | grep httpd tcp6 0 0:::80:::* SŁUCHAJ 21586/httpd
Wszystko jest w porządku, zgodnie z oczekiwaniami zawiesiło się na porcie 80. Teraz możesz przejść do adresu http://ip i zobaczyć zdjęcie:
Teraz skonfigurujmy Apache. Preferuję następującą strukturę hostingu:
Stwórzmy taką strukturę:
# mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R Apache. /sieć
DołączOptionalconf.d/*.conf
Jeśli nie, odkomentuj go i przejdź do katalogu /etc/httpd/conf.d. Stwórzmy tam plik site1.ru.conf:
Teraz ponownie uruchamiamy Apache:
# systemctl uruchom ponownie httpd
Jeśli wystąpią jakiekolwiek błędy, spójrz na dziennik Apache /var/log/httpd/error_log. Jeśli wszystko jest w porządku, sprawdzimy, czy nasz wirtualny host jest skonfigurowany normalnie. Aby to zrobić, utwórz w folderze /web/site1.ru/www plik indeks.html następującą treść:
# mcedit /web/site1.ru/www/index.html
192.168.1.25 witryna1.ru
gdzie 192.168.1.25 to adres IP naszego serwera WWW.
Teraz w przeglądarce wpisujemy adres http://site1.ru. Jeśli zobaczymy zdjęcie:
oznacza to, że wszystko jest poprawnie skonfigurowane. Jeśli są jakieś błędy, to idź i spójrz na logi. Co więcej, w w tym przypadku nie ogólny dziennik httpd, ale konkretny dziennik błędów wirtualny gospodarz w /web/site1.ru/logs/error.log.
Od razu zwrócę Twoją uwagę na ustawienie rotacji logów hosta wirtualnego. Często zdarza się, że jeśli nie skonfigurujesz tego od razu, to zapomnisz. Ale jeśli witryna ma duży ruch, dzienniki będą szybko rosły i mogą zajmować dużo miejsca. Lepiej jest ustawić rotację logów serwera WWW zaraz po ich utworzeniu. Nie jest to trudne.
Aby skonfigurować rotację logów hosta wirtualnego, należy edytować plik /etc/logrotate.d/httpd. Powstaje w trakcie instalacje Apache'a i obejmuje ustawienie rotacji standardowy układ dzienniki A ponieważ przenieśliśmy logi każdego wirtualnego hosta do osobnego folderu, musimy dodać te foldery do tego pliku:
# mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/var/log/httpd/*log ( brakujące powiadomienie o pustych skryptach udostępnionych opóźnieniecompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript )
W zasadzie najprostszy serwer WWW jest już gotowy i można z niego korzystać. Ale jest mało prawdopodobne, aby teraz istniały witryny ze statyczną treścią, dla których wystarczy obsługa HTML. Kontynuujmy więc naszą konfigurację.
Jeśli chcesz zorganizować działanie witryny zgodnie z protokołem https, a następnie skorzystaj z instrukcji dla .
Aby wesprzeć dynamiczną zawartość witryny, zróbmy kolejny krok. Zainstalujmy php w CentOS 7:
# mniam, zainstaluj -y php
A potem jeszcze kilka przydatnych komponentów. Zainstalujmy popularne moduły do php:
# mniam install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Uruchommy ponownie Apache:
# systemctl uruchom ponownie httpd
Utwórzmy plik w katalogu hosta wirtualnego i sprawdźmy zadanie w php:
# mcedit /web/site1.ru/www/index.php# Chown Apache. /web/site1.ru/www/index.php
Przejdź do http://site1.ru/index.php
Powinieneś zobaczyć dane wyjściowe php. Jeśli coś jest nie tak, wystąpiły jakieś błędy, zobacz dziennik błędów hosta wirtualnego, błędy php oni też tam będą.
Po instalacji często pojawia się pytanie: gdzie są przechowywane? ustawienia php? Tradycyjnie znajdują się one w pojedynczy plik ustawienia. Na CentOS-ie php.ini znajduje się w /etc, bezpośrednio u korzenia. Tam możesz edytować ustawienia globalne dla wszystkich wirtualnych hostów. Ustawienia osobiste dla każdej witryny można wprowadzić osobno w pliku konfiguracyjnym hosta wirtualnego, który stworzyliśmy wcześniej. Dodajmy tam kilka przydatne ustawienia:
# mcedit /etc/httpd/conf.d/site1.ru.conf
Dodaj na samym końcu, przed
Php_admin_value date.timezone "Europa/Moskwa" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M
Aby zastosować ustawienia, musisz ponownie uruchomić Apache. Możesz teraz zobaczyć zmianę ustawień w wynikach phpinfo.
W naszym przykładzie zainstalowaliśmy na CentOS 7 PHP 5.4 ze standardowego repozytorium. A co jeśli potrzebujemy np. nowszej wersji PHP 5.6? W takim przypadku musisz zaktualizować plik php.
# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # obr/min -Uvh remi-release-7*.rpm
Teraz zaktualizuj php 5.4 do php 5.6:
# mniam --enablerepo=remi,remi-php56 zainstaluj PHP php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Uruchom ponownie Apache:
# systemctl uruchom ponownie httpd
Przyjrzyjmy się wynikom phpinfo - http://site1.ru/index.php
Świetnie, zaktualizowaliśmy php do wersji 5.6.
Jak pisałem wcześniej, fork mysql staje się obecnie coraz bardziej powszechny - mariadb. Jest w pełni kompatybilny z mysql, więc możesz go używać bez obaw. Wolę go używać.
Instalowanie mariadb w CentOS 7:
# mniam, zainstaluj -y mariadb mariadb-server
Dodaj mariadb do autostartu:
# systemctl włącz mariadb.service
Uruchom mariadb:
# systemctl uruchom mariadb
Sprawdzamy, czy się rozpoczęło, czy nie:
# netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* SŁUCHAJ 22276/mysqld
Należy pamiętać, że jest ona nawet wyświetlana w systemie jako usługa mysqld. Teraz uruchamiamy standardowy skrypt konfiguracji zabezpieczeń:
# /usr/bin/mysql_secure_installation
Nie będę podawać całego wyniku tego skryptu, wszystko jest dość proste i jasne. Najpierw ustalamy hasło dla roota (obecne hasło po instalacji jest puste), następnie usuwamy anonimowych użytkowników, wyłączamy możliwość zdalnego połączenia się z rootem oraz usuwamy użytkownika testowego i bazę danych.
Plik ustawienia mysql/mariadb jest dostępny /etc/my.cnf. Do normalnej pracy wystarczą ustawienia domyślne. Jeśli jednak zdecydujesz się je zmienić, nie zapomnij zrestartować usługi bazy danych.
Uruchom ponownie mariadb/mysql w CentOS 7:
# systemctl uruchom ponownie mariadb
To wszystko. Skonfigurowano podstawową funkcjonalność serwera WWW w CentOS 7.
Będzie mi miło otrzymać uwagi dotyczące tematu artykułu. Przypomnę, że ten artykuł jest częścią jednego cyklu artykułów o serwerze.
Debian 9 zawiera pakiet MariaDB 10.1 w standardowym repozytorium. To jest domyślna opcja MySQL.
Aby go zainstalować, zaktualizuj indeks pakietu:
Teraz zainstaluj pakiet:
sudo apt zainstaluj serwer mariadb
Polecenie zainstaluje MariaDB, ale nie wyświetli monitu o wybranie hasła ani zmianę innych ustawień. NA ten moment Instalacja MariaDB ma kilka luk w zabezpieczeniach, którymi należy się zająć.
Po zakończeniu instalacji należy uruchomić skrypt bezpieczeństwa, który usunie niezaufane parametry i zabezpieczy bazę danych przed nieautoryzowanym dostępem.
sudo mysql_secure_installation
Scenariusz zada serię pytań. Najpierw musisz podać hasło roota MariaDB. To jest konto administracyjne MariaDB z podwyższonymi uprawnieniami. Właśnie zainstalowałeś MariaDB i nie dokonałeś jeszcze żadnych zmian w konfiguracji, nie masz jeszcze tego hasła, więc po prostu naciśnij Enter.
W następnym żądaniu skrypt poprosi Cię o skonfigurowanie hasła roota do bazy danych. Wpisz N i naciśnij Enter. W Debianie konto root MariaDB jest ściśle powiązane z automatyczną konserwacją systemu, więc się zmienia standardowe metody Nie można uwierzytelnić tego konta. W przeciwnym razie podczas aktualizacji pakietu może dojść do uszkodzenia bazy danych i utraty dostępu do konta root. Później przyjrzymy się, jak skonfigurować dodatkowe konto administratora, jeśli uwierzytelnianie przez gniazdo nie jest dla Ciebie odpowiednie.
W przypadku innych pytań możesz nacisnąć Y i Enter. Spowoduje to usunięcie anonimowych użytkowników i przetestowanie baz danych, wyłączenie zdalnego logowania root i zaktualizowanie bieżących ustawień MariaDB.
W nowym Instalacje Debiana Użytkownik root MariaDB domyślnie obsługuje uwierzytelnianie przy użyciu wtyczki unix_socket zamiast hasła. W wielu przypadkach poprawia to bezpieczeństwo i użyteczność, ale może również utrudnić sytuację, jeśli musisz zezwolić na dostęp programu zewnętrznego(na przykład phpMyAdmin).
Ponieważ serwer używa użytkownika root do zadań takich jak rotacja logów, uruchamianie i zatrzymywanie serwera, uwierzytelnianie konta root jest lepszy nie zmieniaj się. Zmiana poświadczeń w pliku /etc/mysql/debian.cnf może pomóc etap początkowy, ale przyszłe aktualizacje pakietów zastąpią te zmiany. Zamiast tego programiści zalecają utworzenie osobnego konta administratora z uwierzytelnianiem hasłem.
Utwórz więc konto o nazwie admin z takimi samymi uprawnieniami jak root, ale z obsługą uwierzytelniania hasłem. Aby to zrobić, otwórz wiersz poleceń MariaDB w terminalu:
Teraz utwórz nowego użytkownika z uprawnieniami roota i obsługą uwierzytelniania hasłem. W poleceniu podaj swoją nazwę użytkownika i hasło.
GRANT ALL ON *.* DO "admin"@"localhost" IDENTYFIKOWANY PRZEZ "hasło" Z OPcją GRANT;
Zresetuj uprawnienia:
PRZYWILEJE FLUSH;
Zamknij powłokę MariaDB:
Po zainstalowaniu ze standardowego repozytorium MariaDB uruchamia się automatycznie. Aby to sprawdzić, sprawdź status usługi:
sudo systemctl status mariadb
mariadb.service - serwer bazy danych MariaDB
Załadowano: załadowano (/lib/systemd/system/mariadb.service; włączone; ustawienie wstępne dostawcy: włączone)
Aktywny: aktywny (działa) od wto 2018-09-04 16:22:47 UTC; 2 godziny 35 minut temu
Proces: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT
Proces: 15594 ExecStartPost=/etc/mysql/debian-start (kod=zakończono, status=0/SUCCESS)
Proces: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||
Proces: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI
Proces: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql
Główny PID: 15567 (mysqld)
Status: „Przyjmuję teraz Twoje żądania SQL…”
Zadania: 27 (limit: 4915)
Grupa C: /system.slice/mariadb.service
└─15567 /usr/sbin/mysqld
04 września 16:22:45 deb-mysql1 systemd: Uruchamianie serwera bazy danych MariaDB...
04 września 16:22:46 deb-mysql1 mysqld: 2018-09-04 16:22:46 140183374869056 /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) rozpoczynając jako proces 15567 ...
04 września 16:22:47 deb-mysql1 systemd: Uruchomiono serwer bazy danych MariaDB.
Jeśli z jakiegoś powodu DBMS nie uruchomi się, wpisz:
sudo systemctl uruchom mariadb
Dla dodatkowa kontrola możesz spróbować połączyć się z bazą danych za pomocą narzędzia mysqladmin (jest to klient, który pozwala na uruchamianie poleceń administracyjnych). Na przykład to polecenie połączy się z MariaDB jako root i wyświetli wersję za pomocą gniazda Unix:
wersja sudo mysqladmin
mysqladmin wersja 9.1 Distrib 10.1.26-MariaDB, dla debian-linux-gnu na x86_64
Prawa autorskie (c) 2000, 2017, Oracle, MariaDB Corporation Ab i inne.
Wersja serwera 10.1.26-MariaDB-0+deb9u1
Wersja protokołu 10
Połączenie Localhost poprzez gniazdo UNIX
Gniazdo UNIX /var/run/mysqld/mysqld.sock
Czas pracy: 2 godziny 44 minuty 46 sekund
Wątki: 1 Pytania: 36 Powolne zapytania: 0 Otwarcia: 21 Opróżnij tabele: 1 Otwarte tabele: 15 Zapytań na sekundę średnio: 0,003
Jeśli utworzyłeś dodatkowego administratora, możesz wykonać tę operację za pomocą polecenia:
mysqladmin -u admin -p wersja
MariaDB działa i działa poprawnie.
2 stycznia 2017 12:16 13 224 wyświetleń | bez komentarzaWszystko niezbędne instrukcje może być znaleziony w .
Aby zainstalować MariaDB, skorzystaj z repozytorium Yum. Uruchom następujące polecenie i naciśnij y, aby kontynuować.
sudo mniam, zainstaluj serwer mariadb
Po zakończeniu instalacji uruchom demona:
sudo systemctl uruchom mariadb
Polecenie systemctl nie wyświetla wyników niektórych poleceń. Aby sprawdzić, czy demon działa, wpisz:
sudo systemctl status mariadb
Jeśli demon MariaDB był uruchomiony, wyjściem polecenia będzie:
Aktywny: aktywny (bieganie)
[…]
01 grudnia 19:06:20 centos-512mb-sfo2-01 systemd: Uruchomiono serwer bazy danych MariaDB.
Teraz musisz skonfigurować autostart MariaDB. Aby to zrobić, wpisz:
sudo systemctl włącz mariadb
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/mariadb.service do /usr/lib/systemd/system/mariadb.service.
Następnie musisz zapewnić bezpieczeństwo danych.
Po zakończeniu instalacji należy uruchomić wbudowany skrypt bezpieczeństwa MariaDB, który zmienia niektóre domyślne opcje i blokuje zdalne logowanie roota. Aby uruchomić skrypt wpisz:
sudo mysql_secure_installation
Skrypt zapewnia szczegółowy opis każdy krok. Najpierw poprosi o hasło roota. Od w nowa instalacja Nie ma jeszcze takiego hasła, wystarczy nacisnąć Enter. Następnie skrypt poprosi Cię o utworzenie takiego hasła. Wprowadź złożone hasło i potwierdź je.
Następnie skrypt zada Ci serię pytań. Aby zaakceptować dane domyślne, możesz po prostu nacisnąć Y i Enter. Skrypt zablokuje anonimowych użytkowników i zdalne logowanie roota, usunie tabele testowe i zresetuje uprawnienia.
Teraz musisz się upewnić, że instalacja MariaDB przebiegła pomyślnie.
Spróbuj połączyć się z bazą danych za pomocą narzędzia mysqladmin (jest to klient do uruchamiania poleceń administracyjnych). Aby połączyć się z MariaDB jako root (-u root), wprowadź hasło (-p), a następnie zapytaj o wersję programu i wydaj polecenie:
mysqladmin -u root -p wersja
Polecenie wyświetli:
mysqladmin wersja 9.0 Distrib 5.5.50-MariaDB, dla systemu Linux na platformie x86_64
Prawa autorskie (c) 2000, 2016, Oracle, MariaDB Corporation Ab i inne.
Wersja serwera 5.5.50-MariaDB
Wersja protokołu 10
Połączenie Localhost poprzez gniazdo UNIX
Gniazdo UNIX /var/lib/mysql/mysql.sock
Czas pracy: 4 min 4 sek
Wątki: 1 Pytania: 42 Powolne zapytania: 0 Otwarcia: 1 Opróżnij tabele: 2 Otwarte tabele: 27 Zapytań na sekundę średnio: 0,172
Oznacza to, że instalacja systemu DBMS MariaDB przebiegła pomyślnie.
Teraz możesz to zrobić podstawowa instalacja i skonfigurowanie MariaDB.
Myślę, że wszyscy wiedzą, że MariaDB jest rozwidleniem MySQL. MariaDB jest rozwijana i wspierana przez MariaDB Corporation Ab i Fundację MariaDB. Głównym twórcą MariaDB jest dobrze znany Michael Widenius, autor oryginalnej wersji MySQL.
Obecna wersja to ta, która została wydana 13 lutego 2018 r. W nowej wersji MariaDB sklep InnoDB został zaktualizowany do wersji 5.7.21 i naprawiono ponad 100 błędów, w tym te, które mogły zostać wykorzystane do zainicjowania zdalnej odmowy usługi.
Spróbujmy zainstalować Nowa wersja do czystego systemu Debian 9.3 (Stretch).
Nie będę ukrywał, że bardzo lubię MariaDB i już dawno zrezygnowałem z Oracle MySQL na rzecz MariaDB lub Percona Server for MySQL i ani trochę tego nie żałuję. W wielu przypadkach MariaDB jest używana jako zamiennik Oracle MySQL Dystrybucje Linuksa. MariaDB jest również używana jako baza danych duże ilości duże witryny, tak naprawdę mój blog nie jest wyjątkiem - używam MariaDB 10.2 jako bazy danych.
Wstępne dane: System operacyjny Debian 9.3 (rozciągnięcie);
Zadanie: Zainstaluj MariaDB 10.2.13 przy minimalnej liczbie ruchów i wykonaj podstawowe ustawienia DB;
W Internecie można znaleźć wiele artykułów na temat instalacji MariaDB na Debianie, ale wszystkie oferują dość kłopotliwe rozwiązania.
Jest też, ale też nie zawiera proste rozwiązanie, ale istnieje!
Instalowanie MariaDB 10.2.13 na Debianie 9:
1. Instalacja niezbędnego wyposażenia dodatkowego. pakiety:
Apt-get update apt-get install dirmngr wget -y
2. A teraz prosta magia, o której nigdzie nie jest napisane - pobranie i uruchomienie skryptu instalującego repozytorium:
Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2
Dla informacji:
Ten skrypt przeanalizuje Twój system, zainstaluje klucze GPG i doda repozytorium do pliku /etc/apt/sources.list.d/mariadb.list
Skrypt jest oficjalny i obsługuje dystrybucje: RHEL/CentOS 6 i 7, Ubuntu 16.04 LTS (xenial) i 18.04 (bionic), Debian 8 (jessie) i 9 (stretch) oraz SLES 12 i 15
Skrypt obsługuje także instalowanie repozytoriów dla różne wersje Narzędzia MariaDB, MaxScale i MariaDB można pobrać i zobaczyć wszystkie opcje uruchamiania:
./mariadb_repo_setup --help
P.S. Dla tych, którzy lubią robić wszystko ręcznie, gdzie można bardziej elastycznie wybrać żądane repozytorium w zależności od położenia geograficznego Twojego serwera.
3. Zaktualizuj listę pakietów:
Apt-pobierz aktualizację
4. Zainstaluj Ostatnia wersja MariaDB 10.2.x:
Apt-get install mariadb-server -y
Podczas procesu instalacji instalator poprosi nas o podanie hasła dla użytkownika root; na tym etapie pozostawimy je puste i zmienimy je później.
Po instalacji sprawdź status MariaDB:
# status systemctl mariadb ● mariadb.service - serwer bazy danych MariaDB 10.2.13 Załadowano: załadowano (/lib/systemd/system/mariadb.service; włączone; ustawienie wstępne dostawcy: włączone) Drop-In: /etc/systemd/system/mariadb. service.d └─migrated-from-my.cnf-settings.conf Aktywny: aktywny (działa) od czw. 2018-02-15 12:14:17 +05; 19 lat temu Dokumenty: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Główny PID: 7270 (mysqld) Status: „Teraz odbieram żądania SQL…” CGroup: /system. plasterek/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
Spróbujemy także połączyć się z bazą danych za pomocą komendy mysql (ponieważ na etapie instalacji pozostawiliśmy hasło roota puste, nie będziemy korzystać z opcji -u root -p):
# mysql Witamy w monitorze MariaDB. Polecenia kończą się ; lub\g. Twój identyfikator połączenia MariaDB to 10. Wersja serwera: 10.2.13-MariaDB-10.2.13+maria~stretch-log dystrybucja binarna mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab i inni. Wpisz „pomoc”; lub „\h”, aby uzyskać pomoc. Wpisz „\c”, aby wyczyścić bieżącą instrukcję wejściową. MariaDB [(brak)]>
Pomyślnie połączyliśmy się z serwerem MariaDB.
5. Teraz uruchommy Kreatora konfiguracji zabezpieczeń:
Instalacja_Mysql_secure
Do pytania:
Wpisz aktualne hasło dla roota (wpisz brak):
Naciśnij Enter, bieżące hasło roota jest puste.
I ostatnie pytanie:
Załadować teraz ponownie tabele uprawnień?
wpisz Y, tak, chcemy ponownie załadować tabelę uprawnień, aby zaczęły obowiązywać.
Następnie wykonaliśmy minimalne środki bezpieczeństwa w naszej instancji MariaDB.
Spróbujmy teraz połączyć się z bazą danych:
# mysql BŁĄD 1045 (28000): Odmowa dostępu dla użytkownika „root” @ „localhost” (przy użyciu hasła: NIE)
Jak widzimy, z pustym hasłem roota nie możemy już wejść.
Połączmy się z instrukcjami Dodatkowe opcje i podanie hasła:
# mysql -u root -p Podaj hasło: Witamy w monitorze MariaDB. Polecenia kończą się ; lub\g. Twój identyfikator połączenia MariaDB to 20. Wersja serwera: 10.2.13-MariaDB-10.2.13+maria~stretch-log dystrybucja binarna mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab i inni. Wpisz „pomoc”; lub „\h”, aby uzyskać pomoc. Wpisz „\c”, aby wyczyścić bieżącą instrukcję wejściową. MariaDB [(brak)]>
Świetnie, wszystko się udało.
To wszystko, do zobaczenia wkrótce. Jeśli masz jakieś pytania lub chcesz, żebym Ci pomógł, zawsze możesz.
Postanowiłem się poddać za pomocą MySQL-a lub raczej całkowicie przenieś wszystkie swoje serwery na jego rozwidlenie - MariaDB. Korzystając z okazji, chciałbym porozmawiać o procesie instalacji MariaDB 10.1 na Debianie 8. Należy zauważyć, że krótki opis Instalacje MariaDB są dostępne na oficjalnej stronie projektu. Postanowiłem poświęcić temu zagadnieniu osobny post, w którym chcę opisać niezbędne działania po zainstalowaniu MariaDB na serwerze.
Przed instalacją MariaDB należy dodać jej repozytorium. Witryna MariaDB zaleca zainstalowanie w tym celu pakietu Software-Properties-Common. Nie widzę w tym żadnego sensu i wolę zrobić wszystko ręcznie.
Zarejestruj klucz GPG repozytorium w systemie:
Apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
Dodaj opis repozytorium do pliku source.list. Otwórz plik w edytorze nano:
Nano /etc/apt/sources.list
Skopiuj na koniec następujące linie:
Deb http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main deb-src http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main
Aktualizujemy listę dostępnych pakietów:
Apt-pobierz aktualizację
Rozpocznijmy proces instalacji MariaDB 10.1:
Apt-get zainstaluj serwer mariadb
Podczas instalacji zostaniemy poproszeni o podanie hasła dla użytkownika root. To kończy proces instalacji MariaDB na Debianie 8. Przejdźmy teraz do konfiguracji serwera.
Aby zwiększyć niezawodność naszego serwera, musimy zrobić minimalne wymagania bezpieczeństwo. Zabroń autoryzacji dla użytkownika root ze zdalnych hostów. Jeśli istnieje testowa baza danych i anonimowy użytkownik, należy ich usunąć z serwera. Aby ułatwić zadanie, użyj skryptu:
Instalacja_Mysql_secure
Domyślny typ przechowywania danych
Jeśli chcesz zmienić domyślny typ przechowywania danych, dodaj następujące wiersze do pliku my.cnf:
Domyślny silnik pamięci masowej = innodb
Upewnij się, że MariaDB domyślnie używa tabel InnoDB. Aby to zrobić, uruchom polecenie:
POKAŻ SILNIKI;
Utwórz użytkownika i bazę danych MariaDB
Aby utworzyć użytkownika w MariaDB, użyj poniższego polecenia:
UTWÓRZ UŻYTKOWNIKA „NAZWA_USER”@”localhost” IDENTYFIKOWANY PRZEZ „HASŁO”;
Utwórz nową bazę danych:
UTWÓRZ BAZĘ DANYCH nazwa_bazy danych;
Dajemy pełne prawa użytkownikowi USER_NAME w bazie danych DatabaseName:
PRZYZNAJ WSZYSTKIE PRZYWILEJE DO NAZWY_bazy_danych.* DO "NAZWA_USERA"@"localhost";
Teraz musisz zaktualizować wszystkie uprawnienia:
PŁASKIE PRZYWILEJE
Aby wyświetlić uprawnienia, uruchom polecenie:
POKAŻ DOTACJE DLA „USER_NAME”@”localhost”;
Dzienniki binarne
MariaDB zapisuje wszystkie zmiany w bazie danych do logu binarnego; jest to konieczne do działania mechanizmu replikacji. Jeżeli nie wykonałeś kopii zapasowych lub są one nieaktualne, do przywrócenia danych można wykorzystać logi binarne. Nie ma jednak gwarancji, że dane zostaną w pełni lub częściowo odzyskane. Sukces będzie zależał od rozmiaru, czasu przechowywania dzienników binarnych i częstotliwości tworzenia kopii zapasowych.
Aby wyłączyć dzienniki binarne, skomentuj linie w pliku my.cnf:
#log_bin = /var/log/mysql/mariadb-bin #log_bin_index = /var/log/mysql/mariadb-bin.index