Instalowanie LEMP (Nginx, PHP, MySQL z silnikiem MariaDB i phpMyAdmin) w Arch Linux

Instalowanie LEMP (Nginx, PHP, MySQL z silnikiem MariaDB i phpMyAdmin) w Arch Linux

Ze względu na to, że ma model zwolnienia, który obejmuje oprogramowanie do cięcia Arch Linux nie został zaprojektowany i opracowany do działania jako serwer w celu świadczenia niezawodnych usług sieciowych, ponieważ wymaga dodatkowego czasu na konserwację, aktualizacje stały.

Zainstaluj LEMP w Arch-Linux

Ale nadal, ponieważ Arch Linux W zestawie instalacja podstawowa CD z wstępnie zainstalowanym oprogramowaniem może reprezentować solidny punkt rozruchu, aby zainstalować większość popularnych usług sieciowych w tym dniu, w tym LEMP Lub LAMPA, Apache Web Server, Nginx, PHP, SQL Bateseabase, Samba, serwery FTP, Bind i inne, z których wiele jest dostarczanych z Łuk Oficjalne repozytoria Linuksa i inne z AUR.

Ten samouczek poprowadzi instalowanie i konfigurowanie LEMP Stack (Nginx, PHP, MySQL z silnikiem MariaDB i phpMyAdmin) z zdalnie za pomocą SSH, który może zapewnić silne podstawy do budowania aplikacji serwerowych Web Server.

Wymagania

Poprzedni przewodnik instalacji Arch Linux, z wyjątkiem ostatniej części sieci z DHCP.

Krok 1: Przypisz statyczny adres IP na interfejsie sieciowym

1. Po minimalnym Arch Linux Instalacja podstawowa Ponownie uruchom swój serwer, zaloguj się za pomocą konta głównego lub równoważnego konta administracyjnego Sudo i zidentyfikuj nazwy urządzeń NICS System za pomocą Link IP Komenda.

# link IP
Sprawdź nazwy interfejsów sieciowych

2. Aby przypisać statyczne konfiguracje sieciowe, którego zamierzamy użyć Netctl pakiet do zarządzania połączeniami sieciowymi. Po pomyślnym zidentyfikowaniu swojego Interfejsy sieciowe Nazwy kopii Ethernet-statyczny szablon pliku do netctl ścieżka systemu i zmień swoją nazwę na opisowy schemat nazewnictwa (spróbuj użyć ”statyczny„Ciąg w połączeniu z nazwą NIC), wydając następujące polecenie.

# cp/etc/netctl/przykłady/etenet-statyczne/etc/netctl/statyczne.ENS33

3. Następnym krokiem jest edycja tego nowego pliku szablonu poprzez zmianę dyrektyw plików i dostarczanie faktycznych ustawień sieciowych (interfejs, IP/Mash, Gateway, Broadcast, DNS) jak w poniższym fragmencie.

# nano/etc/netctl/statyczne.ENS33
Dodaj szczegóły sieci
Opis = „Podstawowe statyczne połączenie Ethernet dla ENS33 'interfejs = ENS33 Connection = Ethernet IP = adres statyczny = (' 192.168.1.33/24 ') Gateway = "192.168.1.1 "Brodcast =" 192.168.1.255 "DNS = ('192.168.1.1 "8.8.8.8 ')

4. Następnym krokiem jest rozpoczęcie połączenia sieciowego przez netctl narzędzie systemowe i zweryfikuj łączność systemową, wydając następujące polecenia.

# netctl start statyczny.ENS33 # NetCtl Static.ENS33
Uruchom usługę sieciową

5. Jeśli otrzymasz aktywny status zielonego wyjścia, pomyślnie skonfigurowałeś swój Interfejs sieciowy I nadszedł czas, aby automatycznie włączyć go w usługi szerokości systemu. Przetestuj także swoją sieć, uruchamiając świst polecenie na nazwę domeny, a także zainstaluj narzędzia netto Pakiet (najbardziej znaną funkcją tego pakietu jest polecenie ifconfig, które twórcy łuku uważali za trochę przestarzały i zastąpili go iproute2).

Włącz konfiguracje systemu szerokości NIC
# netctl włącz statyczne.ENS33
Zainstaluj pakiet narzędzi sieciowych
# Pacman -s narzędzia netto

6. Teraz możesz biec ifconfig polecenie weryfikacji Interfejsy sieciowe Ustawienia i sprawdź, czy wszystko jest poprawnie wyświetlane, więc ponowne uruchomienie Twój system, aby upewnić się, że wszystko jest na miejscu i odpowiednio skonfigurowane.

# ping tecmint.com
Sprawdź łączność sieciową

Krok 2: Zainstaluj oprogramowanie LEMP

Jak wskazano we wprowadzeniu tego artykułu LEMP oznacza Linux+Nginx+Php/PhpMyAdmin+MySQL/MariaDB, który jest jedną z najczęściej rozprzestrzenianych platform aplikacji internetowych LAMPA (Ten sam stos z Apache w równaniu).

7. Przed faktycznie zainstaluj LEMP stos, musimy zaktualizować system, a następnie zdobyć pilota Arch Linux serwer. Jak prawdopodobnie wiesz OpenSsh jest głównym kandydatem do tego zadania, więc śmiało i zainstaluj ją, uruchom demon ssh i włącz szeroki system IT.

$ sudo pacman -syu $ sudo pacman -s openssh
Zainstaluj otwartą usługę SSH
$ sudo systemctl start sshd $ sudo systemCtl status sshd $ sudo systemctl enable sshd
Rozpocznij otwórz usług SSH

Teraz nadszedł czas, aby kontynuować LEMP instalacja. Ponieważ ten samouczek ma być kompleksowym przewodnikiem LEMP Instalacja stosu na małe kawałki, krok po kroku.

8. Pierwsza instalacja Serwer WWW Nginx, Następnie uruchom go i zweryfikuj jego status, wydając następujące polecenia.

$ sudo pacman -s nginx $ sudo systemctl start nginx $ sudo systemCtl Status nginx
Zainstaluj serwer WWW Nginx Rozpocznij serwer WWW Nginx

9. Następna usługa, która ma zostać zainstalowana Mysql Baza danych. Wydaj następujące polecenie, aby zainstalować serwer bazy danych MySQL i wybrać Mariadb silnik, a następnie uruchom i sprawdź status demona.

$ sudo pacman -s mysql $ sudo systemctl start mysqld $ sudo systemCtl Status Mysqld
Zainstaluj bazę danych MySQL Rozpocznij bazę danych MySQL

10. Kolejnym krokiem jest zapewnienie bardzo bezpiecznego środowiska dla baz danych MySQL poprzez podanie hasła dla konta głównego MySQL, usuwanie anonimowego konta użytkownika, usunięcie testowej bazy danych i kont, które są dostępne z zewnątrz Localhost. Uruchom następujące polecenie, aby poprawić bezpieczeństwo MySQL, naciśnij [Wchodzić] Dla bieżącego hasła do konta root, a następnie odpowiedz Tak na wszystkie pytania (również skonfiguruj hasło do konta głównego).

$ sudo mysql_secure_instalation
Zabezpieczyć instalację MySQL Skonfiguruj ustawienia MySQL

Notatka: W żadnym wypadku nie myl konta głównego MySQL z kontem root systemu systemu Linux - to dwie różne rzeczy - nie są tak różne, ale działają na różnych poziomach.

Aby zweryfikować login bezpieczeństwa MySQL do bazy danych za pomocą mysql -u root -p Składnia poleceń, podaj hasło root, a następnie opuść bazę danych z Wyjście; Komenda.

# mysql -u root -p
Połącz się z bazą danych MySQL

11. Teraz czas na zainstalowanie Php Język skryptów po stronie serwera, aby móc opracowywać i uruchamiać złożone dynamiczne aplikacje internetowe, a nie tylko serwować HTML/CSS kod.

Ponieważ używamy Nginx Jako serwer WWW musimy zainstalować PHP-FPM wspierany moduł do komunikowania się Szybka wspólna brama i zmień treść dynamiczną generowaną przez skrypty PHP.

Wydaj następujący wiersz poleceń do zainstalowania PHP-FPM serwis, a następnie rozpocznij Demon i sprawdź status.

$ sudo pacman -s php php-fpm $ sudo systemctl start php-fpm $ sudo systemctl status php-fpm
Zainstaluj PHP i PHP-FPM Uruchom usługę PHP-FPM

Aby wymienić wszystkie dostępne Moduł PHP Wydaj następujące polecenia.

$ sudo pacman -s php [tab] $ sudo pacman -ss | GREP PHP
Wymień wszystkie moduły PHP Sprawdź wszystkie moduły PHP

12. Jednym z ostatnich kroków jest zainstalowanie Interfejs internetowy phpMyAdmin Dla bazy danych MySQL. Wydaj następujące polecenie, aby zainstalować phpMyAdmin wraz z modułem potrzebnym PHP, a następnie utwórz symboliczny łącze dla ścieżki systemu phpmyaadmin do nginx domyślna ścieżka rootowa.

$ PACMAN -S PHPMYADMIN PHP -MCRYPT $ sudo ln -s/usr/shareps/phpMyAdmin/usr/share/nginx/html
Zainstaluj phpMyAdmin

13. Następnie skonfiguruj php.ini plik zawierający niezbędne rozszerzenia potrzebne przez aplikację phpMyAdmin.

$ sudo nano/etc/php/php.ini

Zlokalizuj z [Ctrl+w] Klucze i odkształcenie (usuń ; na początku linii) następujące linie.

rozszerzenie = mysqli.więc rozszerzenie = mysql.więc rozszerzenie = McRypt.Więc mysqli.zezwolić_local_infile = ON

Na tym samym pliku i lokalizuj i Edytuj Open_Basedir dyrektywa przypominająca następujące zawarte katalogi.

Open_BasedIR =/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/sharepps/:/etc/webapps/
Skonfiguruj PHP.Rozszerzenia INI Włącz rozszerzenia PHP MySQL

14. Następnym krokiem jest włączenie PHP-FPM FastCGI W dyrektywie LocalHost Nginx. Wydaj następne polecenie do tworzenia kopii zapasowych nginx.conf Konfiguracja pliku serwera WWW Zamień go następującą zawartością.

$ sudo mv/etc/nginx/nginx.conf/etc/nginx/nginx.conf.Bak $ sudo nano/etc/nginx/nginx.conf

Dodaj całą następującą zawartość na Nginx.conf.

#User html; robotnik_processes 2; #error_log dzienniki/błąd.dziennik; #error_log dzienniki/błąd.Zrejestrowanie zawiadomienia; #error_log dzienniki/błąd.Informacje o dzienniku; #pid logs/nginx.pid; zdarzenia robotnik_connections 1024;  http obejmuje mime.typy; default_type Application/Octet-Stream; Sendfile na; #tcp_nopush on; #keepalive_timeout 0; KeepAlive_Timeout 65; gzip on; serwer Słuchaj 80; Server_name LocalHost; root/usr/share/nginx/html; Charset KOI8-R; lokalizacja / indeks indeksu.Wskaźnik PHP.Indeks HTML.HTM; autoindex on; autoIndex_Exact_Size Off; autoIndex_Localtime ON;  lokalizacja /phpMyAdmin rewrite ^ /* /phpMyAdmin last;  error_page 404 /404.html; # Przekierowanie stron błędów serwera do strony statycznej /50x.HTML ERROR_PAGE 500 502 503 504 /50X.html; Lokalizacja = /50x.html root/usr/share/nginx/html;  Lokalizacja ~ \.php $ #fastcgi_pass 127.0.0.1: 9000; (W zależności od konfiguracji gniazda php-fpm) fastcgi_pass unix:/run/php-fpm/php-fpm.skarpetka; indeks fastcgi_index.php; Dołącz FastCGI.conf;  Lokalizacja ~ /\.ht odmów wszystkich; 
Włącz PHP-FPM FastCGI

15. Po dokonaniu wszystkich konfiguracji plików wystarczy, że ponowne uruchomienie Nginx I PHP-FPM usługi i skieruj przeglądarkę http: // localhost/phpmyadmin URL z węzła lokalnego lub http: // arch_ip/phpmyadmin tworzyć inny komputer.

$ sudo systemctl restart php-fpm $ sudo systemctl restart nginx
Uzyskaj dostęp do serwera WWW Nginx Login PhpMyAdmin PhpMyAdmin Dashboard

16. Jeśli wszystko działa zgodnie z przeznaczeniem, ostatni krok jest włączenie LEMP system szeroki z następującymi poleceniami.

$ sudo systemctl Włącz php-fpm $ sudo systemctl enable nginx $ sudo systemctl enable mysqld
Włącz szeroki system LEMP

Gratulacje! Zainstalowałeś i skonfigurowałeś LEMP NA Arch Linux A teraz masz pełny interfejs dynamiczny na początek i opracowanie aplikacji internetowych.

Chociaż Arch Linux nie jest najbardziej najlepszym systemem, który ma działać na serwerach produkcyjnych ze względu na swój model zwalniający społeczność, może być bardzo szybkim i niezawodnym źródłem dla małych niekrytycznych środowisk produkcyjnych.