Jak zainstalować stos LEMP na Ubuntu 15.10

  • Andrew Politic
  • 0
  • 4663
  • 1364

LEMP to połączenie systemu operacyjnego i stosu oprogramowania typu open source. Akronim LEMP pochodzi od pierwszych liter Linux, Nginx (mingine-x) Serwer HTTP, MySQL /Mbaza danych ariaDB i P.HP /P.erl /P.ython.

W tym samouczku zobaczmy, jak zainstalować stos lemp na Ubuntu 15.10 i jego poprzednich wersjach, takich jak Ubuntu 15.04, 14.10, 14.04 i 13.10 itd..

Zainstaluj LEMP Stack na Ubuntu 15.10

1. Zainstaluj Nginx

Nginx (wymawiane jako engine-x) to darmowy, wysokowydajny serwer HTTP typu open source i odwrotne proxy, a także serwer proxy IMAP / POP3 napisany przez Igora Sysoeva.

Aby zainstalować Nginx, wprowadź następujące polecenie w swoim terminalu:

Uwaga: Jeśli w systemie został zainstalowany inny serwer WWW, taki jak Apache2, usuń go najpierw, aby uniknąć konfliktów. Aby odinstalować Apache, uruchom następujące polecenia:

usługa sudo apache2 stop
sudo apt-get remove --purge apache2 apache2-utils apache2.2-bin apache2-common -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y

Znajdź katalogi i pliki konfiguracyjne apache2 za pomocą polecenia:

whereis apache2

Następnie trwale je usuń poleceniem:

sudo rm -Rf / etc / apache2 / usr / lib / apache2 / usr / include / apache2

Teraz zainstaluj nginx za pomocą polecenia:

sudo apt-get install nginx 

Uruchom usługę Nginx za pomocą następującego polecenia.

W systemie Ubuntu 15.10 / 15.04:

sudo systemctl start nginx

W Ubuntu 14.10 i wcześniejszych wersjach:

usługa sudo nginx start

Aby sprawdzić, czy usługa nginx jest uruchomiona, uruchom:

sudo systemctl status nginx

Lub

stan usługi sudo nginx

Przykładowe dane wyjściowe:

● nginx.service - serwer WWW o wysokiej wydajności i odwrotny serwer proxy Załadowano: załadowano (/lib/systemd/system/nginx.service; włączone; ustawienie dostawcy: włączone)  Aktywny: aktywny (działa) od wtorek 2015-10-27 16:08:39 IST; 4 s temu Główny PID: 1744 (nginx) CGroup: /system.slice/nginx.service ├─1744 nginx: główny proces / usr / sbin / nginx -g demon włączony; master_… └─1745 nginx: proces roboczy 27 października 16:08:39 server systemd [1]: Uruchamianie serwera WWW o wysokiej wydajności a… 27 października 16:08:39 server systemd [1]: nginx.service: Błąd odczytu PID od f… nt 27 października 16:08:39 server systemd [1]: Uruchomiono Wysoce wydajny serwer WWW an… r. Podpowiedź: Niektóre linie były elipsy, użyj -l, aby wyświetlić w całości.

2. Przetestuj nginx

Otwórz przeglądarkę internetową i przejdź do http: // adres-ip / lub http: // localhost /. Zobaczysz ekran podobny do poniższego.

3. Skonfiguruj Nginx

Otwórz plik /etc/nginx/nginx.conf w dowolnym edytorze:

sudo nano /etc/nginx/nginx.conf

Ustaw work_processes (tj. Liczbę procesorów w systemie). Aby zobaczyć nie. CPU, użyj polecenia „lscpu”. W moim przypadku jest to „1”. Ustawiam to jako „1”.

work_processes 1;

Lub po prostu zostaw to jako 'automatyczny' aby automatycznie znaleźć liczbę rdzeni serwera Ubuntu.

Uruchom ponownie usługę Nginx:

sudo systemctl zrestartuj nginx

Lub

Uruchom ponownie usługę sudo nginx

Domyślny vhost (blok serwera) jest zdefiniowany w / etc / nginx / sites-available / default plik.

Otwórz plik / etc / nginx / sites-available / default w dowolnym edytorze.

sudo nano / etc / nginx / sites-available / default

W sekcji Serwer ustaw nazwę FQDN lub adres IP serwera, jak pokazano poniżej. Upewnij się, że dodałeś plik index.php linia.

[…] Serwer nasłuchiwanie 80 domyślny_serwer; słuchaj [::]: 80 domyślny_serwer; […] Root / var / www / html; # Dodaj index.php do listy, jeśli używasz indeksu PHP index.php index.html index.htm index.nginx-debian.html; Nazwa serwera server.unixmen.local; […]

Tutaj,

  • słuchać 80; -> nasłuchuj IPv4
  • słuchaj [::]: 80 domyślny_serwer ipv6only = on; -> nasłuchuj IPv6
  • root / var / www / html; -> katalog główny dokumentu.
  • nazwa_serwera server.unixmen.local; -> Nazwa FQDN serwera.

Teraz przewiń w dół dalej i znajdź sekcję #location ~ \ .php $. Odkomentuj i zmodyfikuj następujące wiersze, jak pokazano poniżej.

 lokalizacja ~ \ .php $ try_files $ uri = 404; ---------> Dodaj tę linię   # Include snippets / fastcgi-php.conf # # # Z samym php5-cgi: # fastcgi_pass 127.0.0.1:9000; # # Z php5-fpm: fastcgi_pass unix: /var/run/php5-fpm.sock; fastcgi_index index.php; dołącz fastcgi.conf; 

Tutaj dodałem dodatkową linię 'try_files $ uri = 404;' aby zapobiec exploitom dnia zerowego.

Zapisz i zamknij plik.

4. Przetestuj konfigurację nginx

Przetestuj konfigurację nginx pod kątem błędów składniowych za pomocą polecenia:

sudo nginx -t

Przykładowe dane wyjściowe:

nginx: składnia pliku konfiguracyjnego /etc/nginx/nginx.conf jest prawidłowa nginx: plik konfiguracyjny /etc/nginx/nginx.conf test powiódł się

Uruchom ponownie usługę Nginx.

sudo systemctl zrestartuj nginx

Lub

Uruchom ponownie usługę sudo nginx

5. Zainstaluj MySQL

MySQL to system zarządzania relacyjnymi bazami danych (RDBMS), który działa jako serwer, zapewniając wielu użytkownikom dostęp do wielu baz danych, chociaż SQLite prawdopodobnie ma więcej wbudowanych wdrożeń

sudo apt-get install mysql-server mysql-client

Podczas instalacji zostaniesz poproszony o ustawienie hasła użytkownika „root” MySQL. Wprowadź hasło i kliknij OK.

Wprowadź ponownie hasło.

MySQL jest teraz zainstalowany.

Możesz zweryfikować stan serwera MySQL za pomocą polecenia:

W systemie Ubuntu 15.10 / 15.04:

sudo systemctl status mysql

W Ubuntu 14.10 i wcześniejszych wersjach:

stan usługi sudo mysql

Przykładowe dane wyjściowe:

● mysql.service - serwer społeczności MySQL Załadowano: załadowano (/lib/systemd/system/mysql.service; włączone; ustawienie dostawcy: włączone)  Aktywny: aktywny (działa) od wtorek 2015-10-27 16:20:32 IST; 5s temu Główny PID: 3404 (mysqld_safe) CGroup: /system.slice/mysql.service ├─3404 / bin / sh / usr / bin / mysqld_safe └─3750 / usr / sbin / mysqld --basedir = / usr --datadir = / var / lib / mysql -… 27 października 16:20:31 server systemd [1]: Uruchamianie serwera społeczności MySQL… 27 października 16:20:31 serwer mysqld_safe [3404]: 151027 16:20:31 mysqld_safe Nie można… 27 października 16:20:31 serwer mysqld_safe [3404]: 151027 16:20:31 mysqld_safe Loggin… 27 października 16:20:31 serwer mysqld_safe [3404]: 151027 16:20:31 mysqld_safe Starti… l 27 października 16:20 : 32 server systemd [1]: Uruchomiono serwer społeczności MySQL. Podpowiedź: Niektóre linie były elipsy, użyj -l, aby wyświetlić w całości.

6. Zainstaluj MariaDB

Jeśli chcesz użyć MariaDB zamiast wersji społecznościowej MySQL, wykonaj poniższe czynności.

MariaDB to kropla w zastępstwie MySQL. Jest to solidny, skalowalny i niezawodny serwer SQL z bogatym zestawem ulepszeń.

Najpierw musisz usunąć istniejące pakiety MySQL, jeśli takie istnieją. Aby całkowicie odinstalować MySQL wraz z plikami konfiguracyjnymi, wprowadź kolejno następujące polecenia:

sudo systemctl zatrzymaj mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y
sudo rm -rf / var / lib / mysql / sudo rm -rf / etc / mysql /

Po usunięciu MySQL uruchom następujące polecenie, aby zainstalować MariaDB.

sudo apt-get install mariadb-server

Alternatywnie możesz zainstalować go za pomocą repozytorium MariaDB, jeśli chcesz wypróbować najnowszą wersję MariaDB. Uruchom następujące polecenia, aby dodać PPA. W chwili pisania tego dokumentu MariaDB PPA nie została jeszcze zaktualizowana do Ubuntu 15.04. Zamiast tego możemy jednak skorzystać z repozytorium Ubuntu 14.10.

sudo apt-get install Software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://download.nus.edu.sg/mirror/mariadb/repo/10.1/ubuntu vivid main'

Zaktualizuj listę źródeł oprogramowania i zainstaluj MariaDB za pomocą następujących poleceń:

sudo apt-get update
sudo apt-get install mariadb-server

Podczas instalacji zostaniesz poproszony o ustawienie hasła użytkownika „root” mysql. Wprowadź hasło dwukrotnie i zakończ instalację.

Uwaga: W Ubuntu 15.10 / 15.04 MariaDB nie poprosi Cię o ustawienie hasła użytkownika root podczas instalacji.

Nie możesz też ustawić hasła za pomocą polecenia:

mysql_secure_installation

Wyświetli następujący błąd.

UWAGA: ZALECANE JEST URUCHAMIANIE WSZYSTKICH CZĘŚCI TEGO SKRYPTU DLA WSZYSTKICH SERWERÓW MariaDB UŻYWANYCH W PRODUKCJI! PROSIMY O UWAŻNE PRZECZYTANIE KAŻDEGO KROKU! Aby zalogować się do MariaDB w celu jej zabezpieczenia, będziemy potrzebować bieżącego hasła użytkownika root. Jeśli właśnie zainstalowałeś MariaDB i nie ustawiłeś jeszcze hasła roota, hasło będzie puste, więc powinieneś po prostu nacisnąć enter tutaj. Wpisz aktualne hasło roota (nie wpisuj żadnego): BŁĄD 1698 (28000): Odmowa dostępu dla użytkownika „root” @ „localhost” Wpisz aktualne hasło roota (nie wpisuj żadnego):

Aby naprawić ten błąd, zaloguj się do mysql bez hasła jako użytkownik root:

sudo mysql -u root

Następnie uruchom kolejno następujące polecenia w wierszu polecenia mysql:

użyj mysql;
aktualizacja user set plugin = "gdzie User =" root ";
przywileje do spłukiwania;
\ q

Otóż ​​to. Teraz ustaw hasło administratora bazy danych „root” za pomocą polecenia. Naciśnij Enter i przejdź z ustawieniami domyślnymi.

mysql_secure_installation

Przykładowe dane wyjściowe:

UWAGA: ZALECANE JEST URUCHAMIANIE WSZYSTKICH CZĘŚCI TEGO SKRYPTU DLA WSZYSTKICH SERWERÓW MariaDB UŻYWANYCH W PRODUKCJI! PROSIMY O UWAŻNE PRZECZYTANIE KAŻDEGO KROKU! Aby zalogować się do MariaDB w celu jej zabezpieczenia, będziemy potrzebować bieżącego hasła użytkownika root. Jeśli właśnie zainstalowałeś MariaDB i nie ustawiłeś jeszcze hasła roota, hasło będzie puste, więc powinieneś po prostu nacisnąć enter tutaj. Wprowadź aktualne hasło roota (wpisz żadnego): OK, pomyślnie użyte hasło, przejdź dalej… Ustawienie hasła roota gwarantuje, że nikt nie może zalogować się do użytkownika root MariaDB bez odpowiedniej autoryzacji. Ustawić hasło roota? [T / n] y Nowe hasło: Ponownie wprowadź nowe hasło: Hasło zostało pomyślnie zaktualizowane! Ponowne ładowanie tabel uprawnień…… Sukces! Domyślnie instalacja MariaDB ma anonimowego użytkownika, co pozwala każdemu zalogować się do MariaDB bez konieczności tworzenia konta użytkownika. Jest to przeznaczone tylko do testowania i aby instalacja przebiegła nieco płynniej. Należy je usunąć przed przejściem do środowiska produkcyjnego. Usunąć anonimowych użytkowników? [T / n]… Sukces! Zwykle root powinien mieć możliwość łączenia się tylko z „localhost”. Gwarantuje to, że ktoś nie będzie mógł odgadnąć hasła roota z sieci. Nie zezwalać na zdalne logowanie przez roota? [T / n]… Sukces! Domyślnie MariaDB zawiera bazę danych o nazwie „test”, do której każdy ma dostęp. Jest to również przeznaczone tylko do testowania i należy je usunąć przed przejściem do środowiska produkcyjnego. Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n] - Upuszczanie testowej bazy danych… ERROR 1008 (HY000) w linii 1: Nie można usunąć bazy danych „test”; baza danych nie istnieje… Błąd! Bez znaczenia, kontynuuj… - Usuwanie uprawnień do testowej bazy danych…… Sukces! Ponowne załadowanie tabel uprawnień zapewni, że wszystkie dotychczas wprowadzone zmiany zaczną obowiązywać natychmiast. Załadować teraz ponownie tabele uprawnień? [T / n]… Sukces! Sprzątanie… Wszystko gotowe! Jeśli wykonałeś wszystkie powyższe kroki, Twoja instalacja MariaDB powinna być teraz bezpieczna. Dziękujemy za korzystanie z MariaDB!

Sprawdź, czy mariadb działa, czy nie, używając następującego polecenia:

stan usługi sudo mysql

Przykładowe dane wyjściowe:

● mysql.service - LSB: Uruchom i zatrzymaj demona serwera bazy danych mysql  Załadowano: załadowano (/etc/init.d/mysql)  Aktywny: aktywny (działa) od wtorek 2015-10-27 16:30:11 IST; 1min 16s temu Dokumenty: man: systemd-sysv-generator (8) CGroup: /system.slice/mysql.service ├─3428 / bin / bash / usr / bin / mysqld_safe ├─3429 logger -p demon err -t / etc / init. d / mysql -i └─3585 / usr / sbin / mysqld --basedir = / usr --datadir = / var / lib / mysql -… 27 października 16:30:13 serwer / etc / mysql / debian-start [ 3636]: mysql.time_zone_transit… 27 października 16:30:13 server / etc / mysql / debian-start [3636]: mysql.time_zone_transit… 27 października 16:30:13 server / etc / mysql / debian-start [3636] : mysql.user… 27 października 16:30:13 serwer / etc / mysql / debian-start [3636]: Faza 2/6: Naprawianie widoków 27 października 16:30:13 serwer / etc / mysql / debian-start [3636 ]: Przetwarzanie baz danych 27 października 16:30:13 serwer / etc / mysql / debian-start [3636]: information_schema 27 października 16:30:13 serwer / etc / mysql / debian-start [3636]: mysql 27 października 16: 30:13 serwer / etc / mysql / debian-start [3636]: performance_schema 27 października 16:30:13 serwer / etc / mysql / debian-start [3694]: Sprawdzanie niezabezpieczonego r… 27 października 16:30:13 serwer / etc / mysql / debian-start [3698]: Wyzwalanie myisam-recov… Wskazówka: Niektóre linie były wielokropkami zed, użyj -l, aby wyświetlić w całości.

7. Zainstaluj PHP

PHP (rekursywny akronim dla PHP: Hypertext Preprocessor) jest szeroko stosowanym językiem skryptowym ogólnego przeznaczenia o otwartym kodzie źródłowym, który jest szczególnie odpowiedni do tworzenia stron internetowych i może być osadzony w HTML.

Zainstaluj PHP za pomocą następującego polecenia:

sudo apt-get install php5 php5-fpm php5-mysql

8. Skonfiguruj PHP

otwarty php.ini plik w dowolnym edytorze:

sudo nano /etc/php5/fpm/php.ini

Znajdź wiersz „cgi.fix_pathinfo = 1”, odkomentuj go i zmień wartość 1 do 0.

cgi.fix_pathinfo = 0

Teraz zrestartuj usługę php-fpm.

sudo systemctl zrestartuj php5-fpm

Lub

Uruchom ponownie usługę sudo php5-fpm

Aby sprawdzić, czy php5-fpm działa, czy nie, za pomocą polecenia:

sudo systemctl status php5-fpm

Lub

stan usługi sudo php5-fpm

Przykładowe dane wyjściowe:

● php5-fpm.service - Menedżer procesów PHP FastCGI Załadowano: załadowano (/lib/systemd/system/php5-fpm.service; włączone; ustawienie dostawcy: włączone)  Aktywny: aktywny (działa) od wtorek 2015-10-27 16:33:17 IST; 7s temu Proces: 6184 ExecStartPre = / usr / lib / php5 / php5-fpm-checkconf (kod = wyjście, stan = 0 / SUCCESS) Główny PID: 6189 (php5-fpm) Status: "Gotowy do obsługi połączeń" CGroup: / system. slice / php5-fpm.service ├─6189 php-fpm: główny proces (/etc/php5/fpm/php-fpm.conf) ├─6192 php-fpm: pool www └─6193 php-fpm: pool www 27 października 16:33:17 server systemd [1]: Zatrzymano Menedżer procesów PHP FastCGI. 27 października 16:33:17 server systemd [1]: Uruchamianie menedżera procesów PHP FastCGI… 27 października 16:33:17 server systemd [1]: Uruchomiono Menedżer procesów PHP FastCGI.

9. Przetestuj PHP

Utwórz przykładowy plik „testphp.php” w głównym folderze dokumentów Nginx.

sudo nano /var/www/html/testphp.php

Dodaj w nim następujące wiersze.

Zapisz i zamknij plik.

Nawigować do  http: //server-ip-address/testphp.php. Wyświetli wszystkie szczegóły dotyczące php, takie jak wersja, data kompilacji i polecenia itp.

PHP-FPM nasłuchuje na gnieździe /var/run/php5-fpm.sock domyślnie. Jeśli chcesz, aby PHP-FPM korzystało z połączenia TCP, otwórz plik /etc/php5/fpm/pool.d/www.conf,

sudo nano /etc/php5/fpm/pool.d/www.conf

Znajdź wiersz Listen = /var/run/php5-fpm.sock,

Listen = /var/run/php5-fpm.sock

i zmień go na słuchać = 127.0.0.1:9000.

słuchać = 127.0.0.1:9000

Zapisz i zamknij plik. Zrestartuj usługę php5-fpm.

sudo systemctl zrestartuj php5-fpm

Lub

Uruchom ponownie usługę sudo php5-fpm

Teraz otwórz plik konfiguracyjny nginx:

sudo nano / etc / nginx / sites-available / default

Znajdź linię fastcgi_pass unix: /var/run/php5-fpm.sock; i zmień go na fastcgi_pass 127.0.0.1:9000; jak pokazano niżej.

lokalizacja ~ \ .php $ try_files $ uri = 404; fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_pass 127.0.0.1:9000; # # UWAGA: Powinieneś mieć "cgi.fix_pathinfo = 0;" w php.ini # # # Z samym php5-cgi:  fastcgi_pass 127.0.0.1:9000; # # Z php5-fpm: # fastcgi_pass unix: /var/run/php5-fpm.sock; fastcgi_index index.php; dołącz fastcgi.conf; 

Zapisz i zamknij plik. Na koniec zrestartuj usługę Nginx.

sudo systemctl zrestartuj nginx

Lub

Uruchom ponownie usługę sudo nginx

10. Zarządzaj bazami danych MySQL za pomocą phpMyAdmin (opcjonalnie)

phpMyAdmin to bezpłatne narzędzie interfejsu internetowego typu open source służące do zarządzania bazami danych MySQL.

Jest dostępny w oficjalnych repozytoriach Debiana. Więc zainstaluj go za pomocą polecenia:

sudo apt-get install phpmyadmin

Wybierz serwer WWW, który powinien zostać automatycznie skonfigurowany do uruchamiania phpMyAdmin.

Domyślnie nginx nie będzie tutaj wyświetlany. Więc wybierz apache lub lighttpd, a później skonfigurujemy phpmyadmin do pracy z serwerem internetowym nginx.

Wybierz tak aby skonfigurować bazę danych dla phpmyadmin z dbconfig-common.

Wprowadź hasło aplikacji MySQL phpmyadmin.

Wprowadź ponownie hasło.

Wprowadź hasło administratora bazy danych (tj. Hasło użytkownika root MySQL).

phpMyAdmin został już zainstalowany.

Utwórz dowiązanie symboliczne między phpMyAdmin a katalogiem głównym witryny. Tutaj katalog z dokumentami głównymi naszej witryny to / usr / share / nginx / html /.

sudo ln -s / usr / share / phpmyadmin / / var / www / html /

Zrestartuj serwer Nginx.

sudo systemctl zrestartuj nginx

Lub

Uruchom ponownie usługę sudo nginx

11. Wejdź do konsoli internetowej phpMyAdmin

Teraz możesz uzyskać dostęp do konsoli phpmyadmin, przechodząc do http: // adres-ip-serwera / phpmyadmin / z Twojej przeglądarki.

Wprowadź swoją nazwę użytkownika i hasło MySQL, które podałeś w poprzednich krokach. W moim przypadku jego „root” i „ubuntu”.

Zostaniesz przekierowany do głównego interfejsu internetowego PhpMyAdmin. Tak wygląda mój pulpit nawigacyjny phpMyAdmin.

Teraz możesz zarządzać bazami danych MySQL z poziomu interfejsu internetowego phpMyAdmin.

Otóż ​​to. Twój serwer LEMP jest gotowy do użycia.

Twoje zdrowie!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux