Jak włączyć lampę w ubuntu po wyłączeniu. Pobierz obraz maszyny wirtualnej. Potwierdzenie ustawień za pomocą dbconfig-common.

Jeśli kiedykolwiek tworzyłeś blogi lub strony internetowe, prawdopodobnie wiesz, że przed rozpoczęciem projektu warto najpierw je przetestować komputer lokalny. Proste strony html są proste. Ale jeśli tworzysz dynamiczną stronę internetową na przykład na CMS, WordPress lub Joomla, potrzebujesz serwera WWW, który mógłby działać. W systemie Windows najczęściej używany jest do tego Denwers. Ale teraz, jak rozumiem, zamierzasz stworzyć stronę internetową w systemie Linux. Prawdopodobnie udało się już znaleźć Denwersa dla Linuksa lub Denwer dla Ubuntu. Przyśpieszę, aby cię poinformować - nie znajdziesz Denwer na Linux. Dotyczy tylko systemu Windows. Linux używa LAMPA.

LAMP to zestaw oprogramowania serwerowego, który jest używany na serwerach lub do tworzenia stron internetowych na komputerach osobistych. To oznacza: Linux Apache MySQL PHP - główne elementy kompleksu.

Poniżej pokażę ci przykład jak zainstalować LAMP w Ubuntu. Następnie możesz zainstalować CMS i dostosować witrynę.

Instalacja LAMPY

Najpierw zainstalujemy serwer WWW Apache, system zarządzania bazą danych MySQL (DBMS) i język programowania PHP. W systemie Ubuntu istnieje specjalne polecenie. Otwórz terminal i napisz:

Sudo apt-get install lamp-server ^

Podczas ustawienia MySQL  podaj hasło roota:


Chociaż nie jest to konieczne, szczególnie dla serwer lokalnyale przywyknijmy do robienia wszystkiego według zasad. Powtórz hasło ponownie.


Czekamy na koniec instalacji i sprawdzamy pracę zainstalowanych komponentów.

Sprawdzanie Apache

Tutaj wszystko jest proste. W przeglądarce kliknij link http: // localhost. Następna strona powinna się otworzyć.


Testowanie PHP

Aby to zrobić, utwórz plik "test.php" w / var / www / html, który wyświetli informacje o naszym serwerze.

Echo ""| sudo tee /var/www/html/test.php

Zrestartuj apache

Otwórz w przeglądarce utworzony plik http: //localhost/test.php


Strona została otwarta. PHP działa.

Sprawdzanie działania MySQL

Wprowadź polecenie w terminalu

Mysql -p -u root

Wprowadź hasło, które zostało określone podczas konfiguracji MySQL. Dochodzimy do tego wniosku.


Aby wyjść z pisania:

Sudo apt-get install phpmyadmin

Podczas instalacji należy podać serwer dla phpMyAdmin.


Używamy Apache, więc wybierz apache2 z listy, wciśnij "Enter"

Teraz musisz skonfigurować bazę danych dla phpMyAdmin.


Można to zrobić ręcznie lub za pomocą dbconfig-common. Ponieważ nie jesteśmy doświadczonymi administratorami (chociaż vdug jest jednym z was), nie ryzykujmy i wybierzmy ustawienie, używając dbconfig-common, czyli wybierz "Tak". Kliknij "Enter".

Wprowadź hasło root użytkownika MySQL, kliknij "Enter".


Utwórz hasło, aby zarejestrować phpMyAdmin na serwerze bazy danych.


Powtórz to ponownie.


Czekamy na koniec instalacji i na końcu uruchamiamy ponownie Apache

Uruchomienie usługi sudo w apache2

Sprawdzanie PhpMyAdmin

Próbujemy przejść do phpMyAdmin pod adresem http: // localhost / phpmyadmin. Strona logowania powinna się otworzyć.


Jeśli zamiast tego pojawi się strona błędu 404 Not Found (zdarza się to bardzo często), otwórz plik "apache2.conf" w edytorze tekstu:

Gedit /etc/apache2/apache2.conf

I na samym końcu pliku dodajemy linię

Dołącz /etc/phpmyadmin/apache.conf

Zapisz plik i uruchom ponownie serwer

Sudo /etc/init.d/apache2 restart

Teraz wszystko powinno działać.

Zainstalowaliśmy LAMPY na Ubuntu. Teraz możesz tworzyć własne witryny w systemie Linux. I w następnym artykule powiem dla większej wygody.

Poprzedni wpis
Następny wpis

Stos LAMP to grupa otwartych programów, które serwer musi obsługiwać dynamiczne witryny i aplikacje internetowe. Akronim LAMP oznacza Linux ( system operacyjny), Apache (serwer sieciowy), MySQL (system zarządzania bazami danych) i PHP (język skryptowy po stronie serwera do obsługi zawartości dynamicznej).

Serwer już zainstalował pierwszy składnik - działający system Ubuntuktóra jest dystrybucja systemu Linux. Ten przewodnik pomoże ci zainstalować pozostałe komponenty stosu.

Wymagania

  • Serwer Ubuntu 16.04.
  • Użytkownik inny niż root mający dostęp do polecenia sudo (można znaleźć wszystkie instrukcje dotyczące tworzenia takiego użytkownika).

1: Zainstaluj Apache i skonfiguruj zaporę ogniową

Apache jest jednym z najpopularniejszych serwerów WWW na świecie.

Instalacja Apache jest bardzo prosta, pakiety dla tego serwera są dostępne w standardowym repozytorium Ubuntu. Aby zainstalować, użyj menedżera pakietów apt; pomaga zainstalować oprogramowanie  i aktualizuj go.

Uwaga: Dowiedz się więcej o menedżerze apt w.

Zaktualizuj indeks pakietów i zainstaluj Apache:

sudo apt-get update
  sudo apt-get install apache2

Aby uruchamiać polecenia z uprawnieniami sudo, musisz podać hasło bieżącego użytkownika.

Po otrzymaniu prawidłowego hasła menedżer apt pokaże Ci, które pakiety zamierza zainstalować i ile miejsca na dysku jest do tego potrzebne.

Aby kontynuować, naciśnij Y i Enter.

Teraz musisz się upewnić, że zapora UFW zezwala na ruch HTTP i HTTPS. Sprawdź dostępne profile Apache:

lista aplikacji sudo ufw
  Dostępne aplikacje:
Apache
  Apache pełny
  Bezpieczny Apache
  Openssh

Pełny profil Apache pozwala na ruch do portów 80 i 443.

sudo ufw informacje o aplikacji "Apache Full"
  Profil: Apache Full
  Tytuł: Serwer sieci Web (HTTP, HTTPS)
  Opis: wszechobecna sieć Apache
  serwer.
  Porty:
80,443 / tcp

Zezwalaj na ruch przychodzący:

sudo ufw allow w "Apache Full"

Aby upewnić się, że zapora obsługuje teraz ruch przychodzący na porcie 80 lub 443, odwiedź zewnętrzny adres IP serwera w przeglądarce.

http: // adres_serwera_IP

Na ekranie powinna pojawić się standardowa strona Apache dla Ubuntu:

Działa!
  To jest serwer Apache 2. ...

Jak znaleźć swój zewnętrzny adres IP

Istnieje kilka sposobów określenia zewnętrznego adresu IP serwera za pomocą wiersza poleceń.

Najpierw możesz użyć narzędzi iproute2:

ip addr show eth0 | grep inet | awk "(wydrukuj 2 $;)" | sed "s /\\/.*$ //"

Zespół zwróci kilka adresów, ale serwer może nie używać wszystkich tych adresów, ale tylko jeden z nich; sprawdź każdy otrzymany adres.

Możesz również poprosić o swój adres od strony trzeciej za pomocą narzędzia curl.

sudo apt-get install curl
  curl http://icanhazip.com

2: Instalowanie MySQL

MySQL to system zarządzania relacyjnymi bazami danych (DBMS), który porządkuje i przechowuje dane witryny.

Ten system można również zainstalować przy użyciu menedżera apt. Aby zainstalować MySQL i kilka programów narzędziowych, wpisz:

sudo apt-get install mysql-server

Uwaga: W tym przypadku nie trzeba aktualizować indeksu pakietów, ponieważ został on zaktualizowany przed zainstalowaniem Apache.

Menedżer poinformuje listę pakietów, które zostaną zainstalowane, oraz niezbędną do tego przestrzeń dyskową.

Podczas instalacji program poprosi o wybranie i potwierdzenie hasła użytkownika root MySQL. To jest hasło administratora MySQL. Pamiętaj, aby wybrać silne hasło i ustawić je.

Po zakończeniu instalacji musisz uruchomić skrypt bezpieczeństwa, który usunie niewiarygodne parametry i ochroni bazę danych przed nieautoryzowanym dostępem.

sudo mysql_secure_installation

Skrypt monituje o podanie hasła root do MySQL, a następnie zadaje serię pytań.

Ostrzeżenie: skrypt wyświetla monit o włączenie parametru VALIDATE PASSWORD PLUGIN. Jeśli ta opcja jest włączona, hasła, które nie spełniają określonych kryteriów, zostaną odrzucone przez MySQL jako błąd. Spowoduje to problemy, jeśli użyjesz słabego hasła w programach, które automatycznie konfigurują poświadczenia użytkownika MySQL (na przykład PhpMyAdmin). Bezpieczniej jest wyłączyć tę opcję i używać silnych unikatowych haseł.

Aby zaakceptować ustawienia domyślne, kliknij y na pozostałe pytania skryptu.

VALITATE PASSWORD PLUGIN może być użyty do testowania haseł
  i poprawić bezpieczeństwo. Sprawdza siłę hasła
  i te hasła, które są
  wystarczająco bezpieczny. Czy chcesz ustawić plugin VALIDATE PASSWORD?
  Naciśnij klawisz Nie | Y, aby wybrać dowolny klawisz:

Jeśli włączyłeś sprawdzanie poprawności hasła, program poprosi o wybór poziomu. Poziom 2 - najwyższy; jednak tylko hasła zawierające liczby, wielkie i małe litery oraz znaki specjalne. Hasła składające się ze zwykłych słów zostaną odrzucone.

Istnieją trzy poziomy zasad walidacji haseł:
  LOW Length\u003e = 8
  Średnia długość\u003e = 8, numeryczna, mieszana i znaki specjalne
  STRONG Length\u003e = 8, numeryczne, mieszane, specjalne i słownikowe
  Wprowadź 0 = LOW, 1 = MEDIUM i 2 = STRONG: 1

Jeśli funkcja sprawdzania hasła jest włączona, program pokaże niezawodność prądu hasło root  i zasugeruj zmianę. Jeśli jesteś zadowolony z hasła, wprowadź n.

Używanie istniejącego hasła dla root.
  Szacowana siła hasła: 100
  Zmień hasło dla root'a? ((Naciśnij y | Y, aby wybrać Tak, jakikolwiek inny klawisz na Nr): n

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 aktualizację bieżących ustawień MySQL.

3: Zainstaluj PHP

PHP jest językiem skryptowym po stronie serwera służącym do tworzenia dynamicznych stron. Pozwala na uruchamianie skryptów, łączenie się z bazami danych MySQL i przesyłanie przetworzonej zawartości do przeglądarki w celu wyświetlenia.

PHP można również zainstalować przy użyciu menedżera apt. Aby zainstalować PHP i kilka pakietów pomocniczych (aby skonfigurować interakcję z Apache i MySQL), wpisz następujące polecenie:

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

W większości przypadków zaleca się skonfigurowanie przetwarzania plików przez serwer WWW Apache po zażądaniu katalogu. W tej chwili Apache najpierw obsługuje index.html. Aby serwer WWW najpierw obsługiwał pliki PHP, musisz edytować plik dir.conf:

sudo nano /etc/apache2/mods-enabled/dir.conf

Plik wygląda następująco:


  DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Jak widać, pliki index.php znajdują się na końcu linii, co oznacza, że ​​serwer WWW będzie je obsługiwał jako ostatni. Przenieś plik index.php na początek linii DirectoryIndex:


  DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Zapisz i zamknij plik (Ctrl-X, Y, Enter).

Teraz uruchom ponownie Apache, aby zaktualizować ustawienia:

sudo systemctl restart apache2

Sprawdź status usługi apache2 przy użyciu systemctl:

sudo systemctl status apache2
  apache2.service - LSB: serwer WWW Apache2
  Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-in: /lib/systemd/system/apache2.service.d
  Ap─apache2-systemd.conf
  Aktywny: aktywny (uruchomiony) od śr 2016-04-13 14:28:43 EDT; 45 lat temu
  Dokumenty: man: systemd-sysv-generator (8)
  Proces: 13581 ExecStop = / etc / init.d / apache2 stop (kod = zakończony, status = 0 / SUCCESS)
  Proces: 13605 ExecStart = / etc / init.d / apache2 start (kod = zakończony, status = 0 / SUCCESS)
  Zadania: 6 (limit: 512)
  CGroup: /system.slice/apache2.service
  13─13623 / usr / sbin / apache2 -k start
  13─13626 / usr / sbin / apache2 -k start
  13─13627 / usr / sbin / apache2 -k start
  13─13628 / usr / sbin / apache2 -k start
  13─13629 / usr / sbin / apache2 -k start
  13─13630 / usr / sbin / apache2 -k start
  13 kwietnia 14:28:42 ubuntu-16-lamp systemd: Zatrzymany LSB: serwer WWW Apache2.
  13 kwietnia 14:28:42 ubuntu-16-lamp systemd: Uruchamianie LSB: serwer WWW Apache2 ...
  13 kwietnia 14:28:42 ubuntu-16-lamp apache2: * Uruchamianie serwera httpd Apache2
  13 kwietnia 14:28:42 ubuntu-16-lamp apache2: AH00558: apache2: nie można wiarygodnie określić pełnej nazwy domeny, używając 127.0.1.1. Ustaw "ServerNam
  13 kwietnia 14:28:43 ubuntu-16-lamp apache2: *
  13 kwietnia 14:28:43 ubuntu-16-lamp systemd: Rozpoczęty LSB: serwer WWW Apache2.

Instalowanie modułów PHP (opcjonalnie)

Funkcjonalność PHP można rozszerzyć o moduły.

Aby wyświetlić listę dostępnych modułów i bibliotek PHP, użyj następującego polecenia:

apt-cache search php- | mniej

Uwaga: Użyj przycisków strzałek, aby nawigować; aby zamknąć listę, naciśnij q.

Lista opcjonalnych komponentów pojawi się na ekranie wraz z krótkim opisem każdego z nich:

libnet-libidn-perl - Wiązania Perla dla GNU Libidn
  php-all-dev - pakiet obsługiwany we wszystkich obsługiwanych pakietach programistycznych PHP
  php-cgi - język skryptowy wbudowany w HTML-a (plik binarny CGI) (domyślnie)
  php-cli - interpreter wiersza poleceń dla języka skryptowego PHP (domyślnie)
  php-common - Popularne pliki dla pakietów PHP
  php-curl - moduł CURL dla PHP
  php-dev - Pliki do rozwoju modułu PHP (domyślnie)
  php-gd - moduł GD dla PHP
  php-gmp - moduł GMP dla PHP

Aby uzyskać szczegółowe informacje o module, użyj:

apt-cache show nazwa_pakietu

To polecenie zwróci wynik objętości, w tym pole Description-en, które zawiera szczegółowe wyjaśnienie działania żądanego modułu.

Na przykład możesz dowiedzieć się więcej o module php-cli:

apt-cache show php-cli

  Opis-en: interpreter wiersza poleceń dla języka skryptowego PHP (domyślnie)
  Ten pakiet zawiera interpreter poleceń / usr / bin / php, przydatny dla
  testowanie skryptów PHP z powłoki lub wykonywanie ogólnych zadań skryptowych powłoki.
.
  PHP (rekurencyjny skrót dla PHP: Hypertext Preprocessor) jest szeroko stosowany
  uniwersalny język skryptowy ogólnego przeznaczenia, który jest szczególnie odpowiedni
  mogą być osadzone w HTML.
.
  Ten pakiet jest pakietem zależności, który zależy od domyślnych ustawień Debiana
  Wersja PHP (obecnie 7.0).

Aby zainstalować wybrany moduł, użyj polecenia apt-get install, podając nazwę modułu. Na przykład, aby zainstalować php-cli, wpisz:

sudo apt-get install php-cli

Aby zainstalować wiele modułów za pomocą jednego polecenia, po prostu wypisz wymagane moduły spacją.

sudo apt-get install pakiet1 pakiet2 ...

4: Testowanie PHP

Więc stos LAMP jest w pełni zainstalowany i gotowy do pracy. Teraz musisz upewnić się, że serwer sieciowy wchodzi w interakcję z PHP. Aby to zrobić, utwórz prosty skrypt PHP, info.php. Aby serwer Apache znalazł ten plik, należy go umieścić w katalogu głównym serwera WWW (w systemie Ubuntu jest to / var / www / html /).

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

Pusty plik pojawi się na ekranie. Umieść ten kod w tym:

  phpinfo ();

Zapisz i zamknij plik.

Teraz spróbuj otworzyć go w przeglądarce:

http: //server_domain_or_IP/info.php

Strona internetowa zawierająca informacje o serwerze pojawi się na ekranie. Jeśli pojawi się taka strona, serwer WWW obsługuje pliki PHP.

To ważne! Po sprawdzeniu, usuń ten plik, w przeciwnym razie każdy użytkownik będzie mógł uzyskać dostęp do poufnych danych o serwerze.

sudo rm /var/www/html/info.php

Wniosek

Teraz na serwerze Ubuntu 16.04 zainstalowany pakiet oprogramowania LAMP - niezawodna i elastyczna platforma do wdrażania witryny lub aplikacji.

Aby zabezpieczyć połączenia z serwerem WWW za pomocą klientów.

Pomocne mogą być również następujące artykuły:

   Tagi :,

Co pozwala szybko wdrożyć lokalny serwer na twoim komputerze. Niestety, Denwer działa tylko w systemie operacyjnym Windows (OS). Co zrobić, jeśli używasz systemu Linux? W takim przypadku powinieneś użyć podobnego narzędzia o nazwie LAMPA. W tym artykule omówię szczegółowo instalowanie LAMPY w systemie Ubuntubyć może najpopularniejszą dystrybucją Linuksa do tej pory.

Co to jest LAMPA?

LAMPA  - to skrót, pierwsze litery słów L inux + A pache + M ySQL + P HP:

  • Linux to system operacyjny;
  • Apache - serwer sieciowy;
  • MySQL - system zarządzania bazą danych (DBMS);
  • PHP to język programowania skryptów używany do tworzenia strony serwera po stronie serwera.

W rzeczywistości jest to wszystko, czego potrzeba do lokalnego hostingu. Jedyne czego brakuje to phpMyAdmin, co upraszcza pracę z bazami danych MySQL. PhpMyAdmin jest instalowany osobno i powiem o tym w jednym z następujących artykułów.

LAMP Instrukcja instalacji

Otwórz terminal i wprowadź polecenie:

  sudo apt-get install lamp- server ^

Po wprowadzeniu hasła administratora, sprawdzi, który pakiet już istnieje w systemie operacyjnym i który powinien zostać zainstalowany.

Pojawi się pytanie: "Chcesz kontynuować?". Wprowadź literę d i naciśnij Enter.

Rozpocznie się proces instalacji.


Będziesz musiał tylko dwukrotnie wprowadzić hasło administratora MySQL, reszta zostanie wykonana automatycznie.

Po zakończeniu instalacji LAMPU w systemie Ubuntu otwórz przeglądarkę i wprowadź adres lokalnego serwera: http: // localhost. Powinna pojawić się strona testowa ze słowami "Działa!".


Jeśli trzy skróty na pulpicie są używane do uruchamiania, zatrzymywania i restartowania Denwer, to LAMP używa w tym celu następujących poleceń:

Potem każdy użytkownik może zrobić cokolwiek z tym folderem i plikami.

Sprawdź wydajność PHP. Aby to zrobić, pobierz plik (rozpakuj archiwum) i skopiuj go do katalogu / var / www. Wprowadź następujący adres URL w przeglądarce: http: //localhost/www/test.php/. Powinna istnieć strona ze szczegółowymi informacjami o używanej wersji PHP.


Jak utworzyć wiele stron na LAMPIE

W praktyce znacznie wygodniej jest tworzyć foldery z plikami lokalnych witryn w twoim katalogu domowym, ale w tym przypadku dla każdego nowego hosta będziesz musiał wykonać następującą procedurę:

1. W katalogu domowym / home / USERNAME utwórz folder www. W nim tworzymy podkatalog z nazwą naszej przyszłej strony. Na przykład mysite. To w tym podkatalogu musisz później przesłać pliki witryny. Jeśli chcesz podnieść drugi host, utwórz dla niego folder hotelowy w katalogu / home / USERNAME / www i powtórz wszystkie kroki opisane poniżej.

2. Otwórz terminal i przejdź do katalogu / etc / apache2 / sites-available:

Ten plik zostanie natychmiast otwarty do edycji. Napisz wiersze w nim:

i dodaj linię:

6. Pozostaje tylko zrestartować serwer apache:

  sudo / etc / init. d / apache2 restart

Teraz nowa strona będzie dostępna pod adresem http: // mysite.

To wszystko na dziś, dziękuję za uwagę! Dbaj o siebie!

Aby tworzyć nowe witryny lub testować zmiany istniejących, często potrzebny jest serwer lokalny. Po pierwsze, lepiej ułożyć nową stronę jako produkt gotowy, aby nie wprawiać w zakłopotanie potencjalnych użytkowników przy pustych stronach, niedokończonych materiałach i półproduktach. Po drugie, nowe funkcje dla istniejących witryn są również lepsze do testowania nie na żywo, ale na klonie. Po trzecie, pozwoli na pracę na stronie nawet z tymczasowym brakiem dostępu do Internetu. Na przykład mam serwer testowy na netbooku, więc mogę pracować cicho i gdzieś w drodze bez internetu.

Ponieważ nie miałem związku z Windows, nie będzie mowy o Denver, WAMP i innych zestawach dla tego systemu operacyjnego. Nasz serwer testowy jest zainstalowany na Ubuntu 14.04 (lub Linux mint  17, który jest zasadniczo taki sam). We wcześniejszych wersjach mogą występować pewne różnice. Postaram się je ustalić (co pamiętam).

Wprowadzenie

Zdefiniujemy więc to, czego potrzebujemy. Cóż, na początek (na wszelki wypadek, dla początkujących) odcyjemy skrót LAMP - Linux Apache, MySQL, PHP Zakładamy, że mamy już Linuksa (jeśli nie, to zainstalujmy, nie boimy się, na przykład Ubuntu lub Mint są teraz łatwiejsze do zainstalowania niż Windows.). Co musisz zainstalować.

  1. Apache jest samym serwerem WWW.
  2. MySQL - system zarządzania bazą danych (DBMS).
  3. PHP to język programowania.

Jeśli nie jesteś guru MySQL i nie będziesz zarządzać bazami danych w konsoli, wpisując polecenia za pomocą pióra, to następny element będzie

  1. phpMyAdmin - graficzny interfejs do zarządzania bazą danych MySQL DBMS

Trzeba też pomyśleć o wysyłaniu poczty z witryny - często trzeba to przetestować.

  1. Sendmail - serwer pocztowy

Jest również bardzo prawdopodobne, że będziesz potrzebować niektórych bibliotek PHP. W szczególności mam zainstalowany

  1. GD - biblioteka obrazów
  2. CURL - biblioteka do pracy z adresem URL

Konieczne jest również uczestnictwo w zdalnym dostępie do naszego serwera. Dlaczego? Jak już wspomniałem, serwer jest na moim netbooku. Ale wygodniej jest mi pracować przy komputerze z normalną klawiaturą i dużym monitorem. Dlatego bezpośrednio za netbookiem pracuję tylko w trasie. I możesz mieć coś przeciwnego, serwer na twoim komputerze roboczym (lub ogólnie przydzielony gdzieś w szafie) i chcesz się rozpaść z tabletem na kanapie. Lub chcesz uzyskać dostęp do swojego serwera domowego z dowolnego miejsca na świecie (chociaż wymaga to rzeczywistego zewnętrznego adresu IP twojej sieci domowej). Ogólnie rzecz biorąc, przydatna rzecz. Jeśli jednak nie potrzebujesz tego wszystkiego, pomijamy następny element.

  1. Serwer SSH - umożliwia pracę z komputerem zdalnym, tak jak z natywnym

I wreszcie kolejny opcjonalny, ale bardzo przydatny przedmiot. System kontroli wersji (SCR). Jeśli coś przestało działać dla ciebie, a zmiany przed nim były znaczące, może być dość trudno je wycofać. SLE pozwala na zapisanie wszystkich zmian i powrót do jednego z poprzednich stanów za pomocą jednego polecenia. Istnieje wiele twardych walut, ale dla wykorzystanie lokalne  (bez dostępu do Internetu) najlepiej nadaje się Git - pomysł Linusa Torvaldsa.

  1. Git - system kontroli wersji

Zdecydowaliśmy się na niezbędne komponenty serwera WWW, przystąpiliśmy do instalacji i konfiguracji

Pierwsze trzy punkty można ustawić za pomocą jednego polecenia w terminalu.

Sudo apt-get install lamp-server ^

Symbol ^ na końcu nie jest przypadkowy, jest częścią polecenia. Wymagamy hasła administratora, my wchodzimy.

Pierwsze zastrzeżenie: to polecenie wydaje się poprawne, zaczynając od Ubuntu 13.04. We wcześniejszych wersjach wszystkie komponenty będą musiały być instalowane osobno. Można to jednak zrobić za pomocą jednego polecenia.

Sudo apt-get install apache2 php5 php5-mysql mysql-server

W trakcie instalacji musisz odpowiedzieć na dwa pytania. Najpierw pojawi się lista zainstalowanych pakietów i pytanie, czy chcemy kontynuować instalację. Kliknij Enter. Następnie zostaniesz poproszony o podanie hasła root dla MySQL. Wchodzimy, potwierdzamy. Czekamy na koniec instalacji.

Teraz konfigurujemy i testujemy wszystkie komponenty.

Apache

Otwórz przeglądarkę i wprowadź pasek adresu

Http: // localhost

Po przejściu do tego adresu widzimy stronę powitalną.

Oznacza to, że serwer działa. W poprzednich wersjach ta strona wyglądała znacznie prościej - tylko dwa wiersze tekstu z nagłówkiem "Działa!" na białym tle.

Teraz zróbmy kilka dostosowań. Aby to zrobić, otwórz plik konfiguracyjny  Apache /etc/apache2/apache2.conf. I musi to być zrobione spod korzenia, tj. z uprawnieniami administratora. Operację tę można zmienić w powłoce graficznej, ale teraz pomnożyły się tak bardzo, że długo będzie trzeba powiedzieć, jak to zrobić w każdym z nich. Dlatego jeśli wiesz jak - zrób to. Jeśli nie, opiszę, być może, najprostszy sposób - za pomocą edytora tekstowego nano.

Sudo nano /etc/apache2/apache2.conf

Nie zapomnij. po wpisaniu polecenia zaczynającego się od sudo, musisz wprowadzić hasło administratora. Już ci nie przypomnę.

Wyszukaj znaczniki tutaj.   (Łatwo to zrobić z wbudowanym wyszukiwaniem w nano, nazywa się to skrótem klawiszowym, lub, jak to mówią, lubimy Ctrl + w), a pod ostatnim z nich dodajemy

   AllowOverride All Require all granted

Tutaj pobiegliśmy nieco przed lokomotywą, ale ponieważ musieliśmy otworzyć ten plik, od razu wprowadzimy wszystkie zmiany. Stanie się jaśniejszy później, a ja wyjaśnię w skrócie. Zarejestrowaliśmy wspólne katalogi (foldery) opcji dla wszystkich naszych stron, a mianowicie: możemy zezwolić na użycie pliku .htaccess dla niego (na przykład dla CNC, ale nie tylko) i przyznać prawa dostępu (za pośrednictwem serwera WWW) dla wszystkich.

NazwaSerwera localhost

Zapisz skrócony klawisz Ctrl + o, potwierdź, wprowadzając i kończąc nano (Ctrl + x).

Ponieważ w przeważającej większości (jeśli nie we wszystkich) naszych witrynach domyślną stroną będzie index.php, a nie index.html, otwieramy następny plik.

Sudo nano /etc/apache2/mods-available/dir.conf

I tutaj index.php znajduje się na początku linii DirectoryIndex, przed index.html. Powinno się to udać.

   DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Zapisz i zamknij.

Wirtualni gospodarze

Teraz skonfigurujemy wirtualne hosty. Dlaczego? Cóż, w zasadzie można się bez niego obejść. Wszystkie witryny powinny być przechowywane w oddzielnych folderach w / var / www / html i przechodzić do nich pod adresami takimi jak localhost / sitename (gdzie sitename to nazwa folderu witryny). Ale jest niuans. Jeśli pracujemy z klonem już istniejącej strony, gdzie są zapisywane adresy URL, takie jak "/file.html", tzn. z ukośnikiem na początku (i takie adresy URL są dość powszechne), a kiedy przejdziemy przez ten URL, przejdziemy do localhost / file.html (tj. nigdzie, ponieważ nie mamy takiej ścieżki) zamiast localhost / sitename / file.html. W końcu folder główny na serwerze jest zarejestrowany jeden - / var / www / html. I będzie to root dla wszystkich stron. Tj potrzebujemy, aby folder główny każdej witryny był jego własnym folderem. I dla każdej naszej witryny będzie trzeba zarejestrować hosta wirtualnego.

Załóżmy, że mamy stronę testową. I nie znajduje się w / var / www / html, ale w   (gdzie użytkownik  - twoja nazwa użytkownika w systemie Linux). Dlaczego tak jest? W przypadku ponownej instalacji systemu (cóż, nigdy nie wiadomo ...) nie trzeba ponownie wypełniać wszystkich witryn (mam nadzieję / home  masz oddzielną sekcję?). I z prawem mniej kłopotów.

Ta strona, którą mamy, składa się tylko z jednego pliku. index.htmlzawierające następujące

Strona testowa    Strona testowa

Otwórz / etc / hosts

Sudo nano / etc / hosts

Tutaj w pierwszym wierszu dodajemy nazwę naszej strony.

127.0.0.1 lokacja testowa localhost

Zapisz i zamknij (pamiętaj, odpowiednio Ctrl + O i Ctrl + x).

Teraz wykonujemy w terminalu

Sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

W ten sposób utworzyliśmy plik konfiguracyjny dla witryny siteite, kopiując plik konfiguracyjny domyślnej witryny. Teraz otwórz ten plik i skonfiguruj go dla naszej witryny.

Sudo nano /etc/apache2/sites-available/testsite.conf

Tutaj odkomentujemy (tj. Usuniemy #) linię

   #ServerName www.example.com

I wpisz nazwę naszej strony. Powinno działać:

Zapisz i zamknij. Teraz dołączamy naszą stronę.

Pole testowe Sudo a2ensite

W terminalu sugerujemy, że możemy aktywować nową konfigurację, ponownie uruchamiając ustawienia Apache.

Uruchomienie usługi sudo apache2

W pasku adresu przeglądarki piszemy

Http: // testsite

I widzimy naszą stronę testową. Jeśli nie widzimy, uważnie sprawdzamy poprawność naszych poprzednich działań.

Cóż, w przyszłości będziemy pracować z tą stroną testową, a nie z domyślną.

CNC

W większości przypadków będziemy musieli pracować z łączami CNC. Dlatego konieczne jest połączenie modułu mod_rewrite Apache.

Sudo a2enmod przepisać

Teraz sprawdź. Stwórzmy w katalogu głównym naszej strony (folder testsite) plik .htaccess  i zapisz następujące

RewriteEngine on RewriteRule ^ test sef.html [L]

Oznacza to, że wnioski o testsite / test zostaną przekierowane na stronę sef.html.

Teraz tworzymy ten sam plik sef.html z treścią podobną do index.html, z wyjątkiem tytułu i tekstu:

Test CNC    Test CNC

Idziemy dalej http: // testsite / test. Jeśli widzimy naszą nowo utworzoną stronę, oznacza to zamówienie.

Php

Teraz sprawdźmy PHP. Do tego w folderze / home / user / public_html / testsite  utwórz plik tekstowy o następującej treści:

Zapisz ten plik pod nazwą, na przykład info.php. Jeśli teraz pójdziemy http: //testsite/info.phpwtedy zobaczymy pełna informacja  o zainstalowanym systemie PHP.



Jeśli widzisz - PHP działa.

Jeśli serwer jest lokalny i nie ma do niego dostępu z zewnątrz, plik ten można pozostawić, nadal może być przydatny. Ale w żadnym przypadku nie rób tego na publicznym serwerze, tutaj ten plik powinien zostać usunięty natychmiast po weryfikacji!

php.ini

A teraz zagłębimy się w plik konfiguracyjny PHP znajdujący się pod adresem /etc/php5/apache2/php.ini. Tak, nie tylko szturchanie, ale coś, co zmieniamy.

Sudo nano /etc/php5/apache2/php.ini

Krótki formularz zgłoszeniowy
   short_open_tag = Off

Oznacza to, że domyślnie zabronione jest używanie krótkiej formy pisania znaczników, tj.

Pokazuje błędy
   display_errors = Off

Wyłącz wyświetlanie błędów. Jest to całkiem naturalne dla stron roboczych - odwiedzający (wśród których hakerzy się spotykają) nie muszą widzieć żadnych błędów (a tym bardziej ostrzeżeń). Na naszym serwerze testowym pożądane jest włączenie tego parametru. Chociaż czasami wspaniale jest wtrącać się, więc tutaj jest indywidualnie. W końcu błędy można wyświetlić w dzienniku. Jeśli chcemy wyprowadzać - ustawiać Włączone.

Display_startap_errors = Off

Wyświetlaj błędy podczas uruchamiania. Jeśli chcesz śledzić błędy podczas uruchamiania PHP, zmień na Włączone.

Track_errors = Off

Jeśli umieścimy Włączonewtedy ostatni błąd, który wystąpił, będzie pierwszym w zmiennej $ php_errormsg.

Zapisz i zamknij.

Rozmiary plików

Domyślnie maksymalny rozmiar wysyłanego pliku jest ograniczony do 2 MB. Dotyczy to również importu baz danych w phpMyAdmin. A bazy są dość często bardziej, a nawet znacznie. W dużych sklepach internetowych baza o pojemności 40 MB nie jest rzadkością. Ale nawet ten rozmiar blednie przed bazą większą niż 800 MB, z którą kiedyś musiałem się zmierzyć. Tam obrazy były przechowywane w bazie danych - w formacie BLOB. Dlatego na wypadek, gdybyśmy musieli pracować z takimi bazami danych, zmieniamy następujące parametry:

Upload_max_filesize = 2M post_max_size = 8M

Ustawiamy wartości, które nam odpowiadają.

Może być konieczna zmiana więcej

Max_execution_time = 30

Mysql

Teraz sprawdzamy MySQL. Aby to zrobić, wprowadź terminal

Mysql -p -u root

Wprowadź hasło, które wprowadziliśmy dla użytkownika root podczas instalacji MySQL. Widzimy coś podobnego

Witamy na monitorze MySQL. Polecenia kończą się; lub \\ g.
   Twój identyfikator połączenia MySQL to 36
   Wersja serwera: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Prawa autorskie (c) 2000, 2014, Oracle i / lub podmioty stowarzyszone. Wszelkie prawa zastrzeżone.

Oracle jest zastrzeżonym znakiem towarowym firmy Oracle Corporation i / lub jej
   oddziałów. Inne nazwy mogą być znakami towarowymi odpowiednich podmiotów
   właściciele.

Wpisz "help;" lub "\\ h" o pomoc. Wpisz "\\ c", aby wyczyścić bieżącą instrukcję wejścia.

Wszystko jest w porządku. MySQL działa. Wchodzimy przestań  wyjść.

Za pomocą innego obrysu można sprawdzić pracę pakietów MySQL i PHP. Aby to zrobić, utwórz plik db-test.php (taki sam w katalogu głównym naszej witryny - / home / user / public_html / testsite) i zapisz następujące.

Chodźmy do http: //testsite/db-test.php. Jeśli widzisz tekst "OK ... Localhost przez gniazdo UNIX", wszystko jest w porządku.

Sudo apt-get install phpmyadmin

Po otrzymaniu listy pakietów naciśnij Enter, aby zapytać, czy chcemy kontynuować. Podczas instalacji pytamy, który serwer będziemy konfigurować. Ponieważ mamy Apache, wybieramy to naturalnie. Aby to zrobić, naciśnij spację, upewniając się, że czerwony kursor jest umieszczony w nawiasach kwadratowych naprzeciwko linii apache2. Jesteśmy przekonani, że w nawiasie pojawiła się gwiazdka.



Naciśnij Enter. Po pewnym czasie pojawi się kolejne okno z prośbą o zainstalowanie i skonfigurowanie bazy danych. Wybraliśmy już "Tak", naciśnij Enter. Wprowadź hasło użytkownika administracyjnego bazy danych (ten sam, który wpisałeś podczas instalacji MySQL), naciśnij Enter, ustaw hasło do rejestracji phpmyadmin w bazie danych, potwierdź. Czekamy na koniec instalacji.

Teraz w terminalu wchodzimy kolejno

Sudo php5enmod mcrypt sudo usługa apache2 restart

I przejdź do przeglądarki.

Http: // localhost / phpmyadmin

Zobacz okno logowania w phpMyAdmin



Wprowadź nazwę użytkownika root  i hasło, które wprowadziliśmy podczas instalacji MySQL. Wchodzimy do phpMyAdmin.



Biblioteki GD i CURL

Teraz zainstalujemy biblioteki PHP GD i CURL. Tutaj wszystko jest niezwykle proste. W terminalu wchodzimy

Sudo apt-get install php5-gd php5-curl

Ponownie potwierdzamy, że naprawdę chcemy je zainstalować (wspominam też o tym po raz ostatni). I ponownie uruchom Apache.

Uruchomienie usługi sudo w apache2

Serwer pocztowy

SSMTP

Teraz mailer. W zasadzie można uzyskać dzięki SSMTP - jest to lekkie narzędzie, które wysyła wiadomości e-mail za pośrednictwem zewnętrznego serwera SMTP, takiego jak Gmail. Ale w tym przypadku testowanie poczty offline będzie musiało zostać zapomniane. Jeśli testowanie w trybie offline nie jest odpowiednie, zainstaluj i skonfiguruj:

Sudo apt-get install ssmtp sudo nano /etc/ssmtp/ssmtp.conf

Tutaj zmienimy wartości na następujące (dla serwera Gmail).

[email protected]   mailhub = smtp.gmail.com: 587 [email protected]   AuthPass = hasło UseSTARTTLS = YES

Tutaj [email protected]  - Twój istniejący adres w Gmailu; hasło - twoje hasło do konta Gmail. Jeśli nie chcesz korzystać z Gmaila, w przypadku innych usług ustawienia nie będą się zasadniczo różnić.

Sendmail_path = / usr / sbin / ssmtp -t

Zrestartuj serwer.

Uruchomienie usługi sudo w apache2

A teraz sprawdźmy. Utwórz plik index.php w miejscu testowym, otwórz go i zarejestruj się

Tutaj znowu [email protected]  - Twój istniejący adres, do którego masz dostęp (tutaj - cokolwiek, niekoniecznie Gmail).

Teraz w ruchu http: // testsite. Nasza strona powinna być pustą stroną. Teraz sprawdź [email protected]  - Powinien pojawić się nasz list testowy.

Sendmail

Jeśli konieczne jest przetestowanie wysyłania poczty w trybie offline, umieszczamy Sendmail.

Na wszelki wypadek. Nie mówimy o jednoczesnym korzystaniu z SSMTP i Sendmail - instalujemy jeden lub drugi!

Sudo apt-get install sendmail

Pod koniec instalacji

Sudo sendmailconfig

Na wszystkie trzy pytania zadane podczas instalacji odpowiedziano twierdząco, tj. naciśnij Enter.

Sudo nano / etc / hosts

I tutaj w linii od 127.0.0.1 dodajemy spację

Tester lokalny Localhost.loc

Tutaj testserver  - nazwa naszego serwera. Jest już napisane poniżej dla 127.0.1.1. Zapisz, zamknij i zrestartuj serwer.

Uruchomienie usługi sudo w apache2

Teraz dowodzący

Telnet localhost smtp

Dostajemy.

Próbuję 127.0.0.1 ...
   Połączony z localhost.
   Znak Escape to "^]".
   220 localhost.loc ESMTP Sendmail 8.14.4 / 8.14.4 / Debian-4.1ubuntu1; So, 26 lip 2014 21:46:56 +0300; (Brak UCE / UBE) dostęp do logowania z: localhost (OK) -localhost

Rozpocznij testowanie. Wchodzimy

Helo localhost Odpowiedź 250 localhost.loc Witaj localhost, miło cię poznać Dalej, polecenia i odpowiedzi mailowe z naprzemiennie: [email protected] 250 2.1.0 [email protected]  Nadawca ok rcpt do: [email protected]

Tutaj użytkownik jest twoją nazwą użytkownika Linux.

250 2.1.5 [email protected]  Odbiorca ok dane 354 Wpisz pocztę, zakończ "." na linii samodzielnie

Teraz wpisujemy tekst listu testowego. Koniec to koniecznie wskaż.

Przetestuj wiadomość.

Naciśnij Enter i uzyskaj odpowiedź.

250 2.0.0 s6QItc6L010145 Wiadomość przyjęta do doręczenia

Dobrze A teraz skonfigurujemy klient poczty, aby móc widzieć wysyłane ze strony i otrzymane w [email protected]  litery. Używam Thunderbirda, więc go skonfigurujemy. Idź do Utwórz - Inne konta. Wybierz rodzaj konto  Unix Mailspool (Movemail), kliknij Dalej. Wyświetlana nazwa nie ma absolutnie żadnej różnicy, otrzymamy tutaj tylko litery i adres e-mail  przepisać [email protected]  (ponownie, użytkownik jest twoją nazwą użytkownika Ubuntu). Kliknij Dalej, potem Dalej ponownie i Dalej ponownie, a na końcu Gotowe. Jeśli wszystko jest zrobione poprawnie - w skrzynce odbiorczej widzimy nasz e-mail wysłany właśnie podczas testowania.

Możemy testować poprzez PHP, w taki sam sposób, w jaki to zrobiliśmy, tylko w index.php skorygujemy adres odbiorcy [email protected] .

Teraz, pracując z popularnym CMSem w panelu administracyjnym, rejestrujemy adres odbiorcy listów z witryny [email protected] . Dlaczego nie [email protected] ? Ponieważ taki adres nie przejdzie weryfikacji. I nie męcz się, aby przypomnieć: użytkownik  zamień na swoją nazwę użytkownika w systemie Ubuntu.

Ssh

Pozostaje ustanowienie serwera SSH. Jak już wspomniano, jest to konieczne tylko wtedy, gdy potrzebujesz zdalnie zarządzać serwerem.

Sudo apt-get install ssh sudo nano / etc / ssh / sshd_config

Otworzył plik konfiguracyjny. Tutaj polecam zmianę portu, na którym serwer ssh będzie czekał na połączenie. Znajdź ciąg

Port 22

i zmienić na dowolny z zakresu od 1025 do 65536. Najważniejsze - nie zapomnij o tym później. W naszym przykładzie przepisujemy

Port 1111

i użyjemy go w dalszych przykładach.

PermitRootLogin yes

i zmień wartość tak na nie.

Możesz nawet zabronić wszystkim logowania się przez SSH, z wyjątkiem jednego użytkownika - Ciebie. Aby to zrobić, dodaj następujący wiersz (tutaj, jak zawsze, użytkownik  należy zastąpić swoją nazwą użytkownika).

Zezwalam na użytkownika

Zrestartuj serwer SSH

Restart ssh usługi sudo

A teraz próbujemy połączyć się ze zdalnego urządzenia. Załóżmy, że adres IP serwera to 192.168.1.2. Wprowadź (zastępując użytkownika swoją nazwą użytkownika na serwerze)

Ssh-p 1111 [email protected]

Wprowadź swoje hasło na serwerze i ciesz się. Aby się rozłączyć, wchodzimy wyjść.

Uwaga. Jeśli już połączyłeś się z serwerem z dowolnego urządzenia, ale ponownie zainstalowałeś system operacyjny na serwerze, nie będziesz już mógł się łączyć. W takim przypadku usuń plik. /home/user/.ssh/known_hosts  na kliencie, połącz się ponownie i odpowiedz tak  na pytanie Czy na pewno chcesz kontynuować połączenie?  (czy naprawdę chcesz się połączyć?). Wszystko, możesz pracować.

Możesz również użyć SSH do zdalnego wysyłania plików na serwer zamiast tradycyjnego FTP. Możesz to zrobić w konsoli. Ale może być łatwiej. Pokazuję przez przykład menedżer plików  Delfin w KDE.

W lewym panelu (Punkty wejścia) kliknij Sieć, tutaj jest Dodaj folder sieciowy. Wybierz folder SSH, kliknij Dalej i wypełnij pola:

Imię - napisz wszystko, aby zrozumieć, gdzie się łączymy. Na przykład LocalServer.

Użytkownik - nazwa użytkownika na serwerze.

Serwer - adres IP (lub nazwa, jeśli jest zarejestrowany w / etc / hosts) serwera.

Port - zmieniliśmy na 1111 i rejestrujemy go tutaj. Jeśli się nie zmieniłeś - opuść 22.

Protokół - wybierz ryby.

Folder - dla wygody napiszemy folder główny naszego serwera WWW, tj. / home / user / public_html. Teraz po podłączeniu natychmiast się tam dostaniemy. Jeśli zostawisz to pole puste, otworzy się katalog główny Ubuntu, tzn. /.

W przyszłości, aby się połączyć, kliknij Network i w otwartym oknie folder z kulą ziemską na górze z nazwą LocalServer.

Git

Zainstaluj.

Sudo apt-get install git

Konfigurowalny.

Git config --global user.name "Nazwa użytkownika" git config --global user.email " [email protected]"

Tutaj nazwa użytkownika  - twoje imię i [email protected]   - Twoja istniejąca poczta. Ogólnie to wszystko. Mam nadzieję napisać osobny artykuł o używaniu Gita w najbliższej przyszłości.

Zdalny dostęp do stron

Pozostaje zrozumieć, jak wejść do przeglądarki z komputera zdalnego (w trybie sieć lokalna) na nasz serwer. Weź moją sytuację. Pozwolę sobie przypomnieć, że serwer jest na netbooku, a ja pracuję na stacjonarnym komputerze. Tak więc na komputerze jest otwarty / etc / hosts  i w nowej linii przepisujemy

192.168.1.2 pole testowe

Tutaj 192.168.1.2 jest adresem IP naszego serwera, testsite to nazwa strony testowej (może być ich wiele oddzielonych spacją). Teraz, wpisując http: // testsite w pasku adresu, otrzymamy dokładnie do testsite na naszym serwerze.

Właściciele i prawa

I wreszcie trzy kolejne zespoły.

Użytkownik programu sudo adduser www-data chown user: www-data -R public_html chmod -R 775 public_html

Tutaj użytkownik - Twoja nazwa użytkownika w systemie Ubuntu. Dodaliśmy się do grupy danych www (ponieważ od użytkownika www-danych grupy danych www, Apache działa, a co za tym idzie, wszystkie popularne CMS), stworzyliśmy grupę danych www jako właściciela folderu głównego naszych stron i przypisaliśmy uprawnienia do odczytu i zapisu do tego folderu. zapisy dla właściciela i jego grupy. Jest to konieczne, aby użytkownik użytkownika (w imieniu którego przesyłamy pliki na serwer) oraz dane www użytkownika (w imieniu którego działa CMS) mają te same prawa. Dodając każdą witrynę powyżej jej folderu, będziesz musiał wykonać tę procedurę (z wyjątkiem pierwszego polecenia, tylko nie do całego public_html, ale tylko do folderu nowej witryny). Trzeba to również zrobić dla nowych plików wymagających zmian z serwera.

Wszystko, możesz pracować.

Kontynuacja tematu:
Smartphone

  Na tym kończy się moja saga o chińskich telefonach z automatycznym łączeniem. Myślałem, że poradzę sobie w kilka miesięcy, ale okazało się, że ... No cóż, w porządku, co się stało ...