W tym artykule przedstawimy Ci instrukcje krok po kroku, jak skonfigurować środowisko sieciowe na serwerze z systemem Linux. Przede wszystkim musisz zrozumieć, że typowy serwer sieciowy składa się z kilku współdziałających komponentów:
- Serwer HTTP
- interpretator języka programowania
- system zarządzania bazą danych (DBMS)
Aby zarządzać swoją witryną internetową, musisz również skonfigurować system zarządzania treścią (CMS), interfejs internetowy do zarządzania bazą danych i dostęp FTP.
Rozważmy skonfigurowanie bardzo popularnej konfiguracji Apache-PHP-MySQL(MariaDB) na Linuksie. Zainstalujemy również serwer ftp vsftpd, phpMyAdmin - interfejs internetowy do zarządzania bazą danych i system zarządzania treścią WordPress.
Na początek proszę zamów serwer VPS or Serwer dedykowany. Na przykład użyliśmy wirtualnego serwera ze statycznym adresem IP, na którym działał Ubuntu Server 18.04. Wszystkie polecenia były uruchamiane przez użytkownika root.
Konfiguracja serwera Apache HTTP
1. Instalacja
apt install apache2
Po zakończeniu instalacji otwórz przeglądarkę i sprawdź „http://[adres_ip_serwera]”
Jeśli na powyższym zrzucie ekranu widzisz stronę powitalną, oznacza to, że Twój serwer HTTP działa.
2. Utwórz stronę testową
Domyślny katalog główny witryny to „/var/www/html”. Tutaj znajdziesz stronę powitalną, którą właśnie widziałeś. Utwórzmy osobny katalog „/var/www/sites” dla hostów wirtualnych i podfolderów „/var/www/sites/site1” ze stroną główną Twojej witryny testowej.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
W rezultacie plik „/var/www/sites/site1/index.html” powinien zawierać tylko jedną linię kodu HTML:
<H1>Welcome</H1>
3. Konfiguracja serwera Apache
Pliki konfiguracyjne stron internetowych znajdują się w „/etc/apache2/sites-available/” katalog. Utwórzmy plik konfiguracyjny dla nowego wirtualnego hosta, biorąc domyślną konfigurację z pliku „000-default.conf” jako podstawa.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otwórz plik „site1.conf” i zmień „DokumentRoot” atrybut. Wpisz ścieżkę swojej witryny jako wartość, więc w naszym przypadku jest to „/var/www/sites/site1”
Na tym etapie nie musimy konfigurować jednoczesnego działania wielu witryn, więc możemy wyłączyć domyślną witrynę i włączyć nową. Ponownie załaduj konfigurację serwera, aby zastosować zmiany.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Otwórz link „http://[adres_ip_serwera]” i upewnij się, że zamiast domyślnej strony powitalnej mamy naszą nową stronę.
Zakończyliśmy konfigurację naszego serwera HTTP i możemy przejść do następnego kroku.
Konfiguracja serwera FTP
1. Instalacja
Zainstalujmy nasz serwer ftp i dodatkowy pakiet „db-util”, że będziemy musieli skonfigurować użytkowników wirtualnych
apt install vsftpd db-util
2. Utwórz konto lokalne
Serwer vsftpd pozwala nam konfigurować uprawnienia dostępu w bardzo elastyczny sposób. Do naszych zadań musimy zapewnić użytkownikom ftp następujące informacje:
- pełny dostęp do zawartości „/var/www/sites/”;
- wyłącz wszystko co powyżej „/var/www/”;
- połączenie z kontem wirtualnym;
Utwórz konto lokalne "faktyczny" bez uprawnień logowania, ale z dostępem do folderu domowego „/var/www/”. To konto będzie używane przez użytkowników ftp do łączenia się z serwerem
useradd -d /var/www virtual
"Źródło" będzie właścicielem „/var/www” folder domyślnie. Aby umożliwić użytkownikom ftp modyfikowanie zawartości stron internetowych, zmieńmy właściciela „/var/www/sites/” włączając podfoldery "faktyczny".
chown -R virtual:root /var/www/sites
W rezultacie użytkownik "faktyczny" będzie można zobaczyć zawartość „/var/www/” i napisz do „/var/www/sites/” podfolder.
3. konfiguracja
Główna konfiguracja znajduje się w pliku „/etc/vsftpd.conf”, więc otwórzmy go i edytujmy w następujący sposób:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Utwórz bazę danych
Aby przechowywać dane kont wirtualnych, potrzebna będzie baza danych.
Najpierw utwórzmy prosty plik tekstowy „użytkownicy.txt” w folderze domowym i zapisz dane dostępu (login i hasło) wirtualnych użytkowników w każdym innym wierszu. Na przykład będziemy potrzebować wirtualnego użytkownika z loginem „ftp” i hasło „Qwe123”. Następnie plik będzie wyglądał następująco:
ftp
Qwe123
Utwórzmy bazę danych
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Zmodyfikujmy domyślny plik PAM „/etc/pam.d/vsftp” w sposób następujący:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Należy pamiętać, że ścieżka „pam_userdb.so” Biblioteka może być inna, ale w razie potrzeby można ją zmienić.
Aby zastosować zmiany, należy ponownie uruchomić serwer vsftpd.
systemctl restart vsftpd
Zakończyliśmy konfigurację serwera FTP.
Szczegóły połączenia:
- ftp://[adres_ip_serwera]
- logowanie: ftp
- hasło: Qwe123
Konfiguracja serwera PHP
1. Instalacja PHP
Obecnie najnowszą stabilną wersją PHP jest php 7.4.5, która nie jest zawarta w oficjalnych repozytoriach Ubuntu. Podłączmy repozytorium innej firmy i zainstalujmy najnowszą wersję PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Czek
Aby PHP mogło zostać wykonane, plik strony internetowej powinien mieć „.php” rozszerzenie. Zmieńmy nazwę naszej strony testowej:
cd /var/www/sites/site1/
mv index.html index.php
Dodaj następujący wiersz php do pliku „/var/www/sites/site1/index.php”, więc plik powinien wyglądać tak:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Zapisz zmiany i sprawdź wynik w przeglądarce.
Jeśli widzisz wynik funkcji „phpinfo()”, interpreter PHP działa poprawnie. Przejdźmy teraz do następnego kroku.
Konfiguracja MySQL (MariaDB)
1. Instalacja
Zainstalujmy MariaDB i moduł PHP dla MySQL, a następnie przeładujmy Apache'a.
apt install mariadb-server php-mysql
systemctl restart apache2
Odśwież stronę testową i przejdź do sekcji PDO w tabeli konfiguracji PHP. Jeśli możesz znaleźć sekcję „PDO_mysql”, oznacza to, że sterownik MySQL został zainstalowany poprawnie.
Następnie będziemy musieli wykonać początkową konfigurację zabezpieczeń MariaDB i ustawić hasło dla "Korzeń" użytkownika, wyłącz zdalny dostęp i usuń wszystkie konta gości.
mysql_secure_installation
W pierwszym kroku musimy wprowadzić "źródło" hasło użytkownika, aby uzyskać dostęp do DBMS lub naciśnij Enter, jeśli nie ma hasła. Ponieważ nie ma ustawionego hasła dla "źródło" użytkownik po instalacji, po prostu naciśnij "Wchodzić".
Należy pamiętać, że w MariaDB istnieją już własne konta, które nie mają nic wspólnego z kontami OS. Tak więc jedynym użytkownikiem, z którym mamy do czynienia w MariaDB, jest "źródło".
Następnie konfigurator poprosi nas o ustawienie hasła dla użytkownika root. Wpisz "Y" aby potwierdzić i wprowadzić nowe hasło. W naszym przypadku jest to „Qwe123”
Odpowiedz "Y" na wszystkie pozostałe pytania aż do samego końca.
Konfiguracja zakończona!
Szczegóły dostępu do MariaDB:
- Logowanie: root
- Hasło: Qwe123
Konfiguracja phpMyAdmin
1. Instalacja
Zainstalujmy niezbędne rozszerzenie dla PHP - mbstring.
apt install php-mbstring
W oficjalnym repozytorium znajduje się tylko przestarzała wersja phpMyAdmin, zainstalujmy więc nową wersję ręcznie.
Otwórz oficjalną stronę projektu „https://www.phpmyadmin.net/„i pobierz najnowsze archiwum.
Skopiuj archiwum na serwer w „/var/www/sites/” folderu używając dowolnego klienta FTP.
Wypakuj folder i zmień jego nazwę na „phpMyAdmin”. Nie zapomnij zainstalować "rozsunąć suwak" narzędzie. Możesz usunąć archiwum po jego rozpakowaniu.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Utwórz następujący folder „/var/www/sites/phpMyAdmin/tmp” dla plików tymczasowych i włącz dostęp dla wszystkich. Jeśli tego nie zrobisz, phpMyAdmin zgłosi odmowę dostępu do folderu tymczasowego.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Utwórz alias
Ponieważ phpMyAdmin nie jest oddzielnym wirtualnym hostem i znajduje się poza katalogiem głównym, skonfigurujmy alias.
Otwórz plik „/etc/apache2/mods-available/alias.conf” i dodaj tę linię:
Alias /pma “/var/www/sites/phpMyAdmin"
w tej sekcji:
<IfModule alias_module>
</IfModule>
Uruchom ponownie Apache, aby zastosować zmiany.
systemctl reload apache2
Alias jest ustawiony, więc możemy uzyskać dostęp do phpMyAdmin tutaj „http://[adres_ip_serwera]/pma”.
3. Przygotuj bazę danych
Ponieważ podczas początkowej konfiguracji MariaDB ograniczyliśmy możliwość korzystania z konta root, będziemy musieli utworzyć nowe konto ze wszystkimi uprawnieniami, które będą używane do dostępu do phpMyAdmin.
Poza tym, aby włączyć dodatkowe funkcje phpMyAdmin będziemy potrzebować bazy danych usług i konta umożliwiającego dostęp do niej.
Utwórzmy konta
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Należy pamiętać, że nazwa bazy danych w drugim żądaniu znajduje się w iskrach „…ON `phpmyadmin`.* DO 'pma'@'localhost' ZIDENTYFIKOWANEGO PRZEZ …”,
W rezultacie w MariaDB zostaną utworzone dwa konta:
- Login: pma, Hasło: Qwe123Pełny dostęp, będzie używany do logowania do phpMyAdmin
- Login: pmaservice, Hasło: Qwe123Konto usługi jest wymagane do działania dodatkowych funkcji
W następnym kroku ustawimy te szczegóły w pliku konfiguracyjnym „konfiguracja.inc.php”.
Następnie będziemy musieli zaimportować bazę danych z pliku „phpMyAdmin/sql/create_tables.sql”.
Zaimportujmy go za pomocą phpMyAdmin.
Otwórz link „http://[adres_ip_serwera]/pma”
Wprowadź login „pma” i hasło „Qwe123”
Iść do "Import"kliknij "Wybierz plik" i wybierz plik „sql/create_tables.sql” w katalogu głównym phpMyAdmin. Powinien być folder na twoim komputerze „phpMyAdmin” z plikami. Jeśli to konieczne, wypakuj je z archiwum.
Kliknij "Następny" aby rozpocząć importowanie.
4. konfiguracja
Skopiujmy plik konfiguracyjny z szablonu
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otwórzmy plik konfiguracyjny „/var/www/sites/phpMyAdmin/config.inc.php” i wykonaj następujące zmiany:
Ustaw losową wartość 32-znakową dla atrybutu „$cfg['blowfish_secret']”. Użyj do tego celu dowolnego generatora haseł.
Usuń komentarze ze wszystkich wierszy „ustawienia przechowywania konfiguracji phpMyAdmin” sekcji i ustaw login i hasło konta serwisowego MariaDB dla „kontroler użytkownika” oraz „pass kontrolny” atrybuty odpowiednio. W naszym przypadku to jest usługa pma oraz Qwe123.
Zapisz zmiany.
Szczegóły dostępu do phpMyadmin:
- http://[server’s_ip_address]/pma/
- Zaloguj się: pma
- Hasło: Qwe123
Jak zainstalować i skonfigurować WordPress na serwerze Linux
1. Umieszczenie pakietu WordPress i plików
Przejdź do oficjalnej strony WP „https://ru.wordpress.org/„i pobierz archiwum na swój komputer lokalny.
Prześlij archiwum na serwer do „/var/www/sites/” folder i rozpakuj go do „WordPress”" teczka.
Skopiuj zawartość „/var/www/sites/wordpress/” folder główny „/var/www/sites/site1/” stronie internetowej.
Ponieważ skopiowaliśmy pliki za pomocą konsoli z uprawnieniami roota, zmieńmy właściciela „/var/www/sites/” folder zawierający zawartość "faktyczny". Jest to wymagane do umożliwienia pełnego dostępu do połączenia ftp przez klienta.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Utwórz bazę danych dla WordPressa
Zaloguj się do phpMyAdmin i kliknij „Utwórz bazę danych”. Podaj dowolną nazwę bazy danych, w naszym przypadku „wordpress_db” i kliknij przycisk „Utwórz”.
Wybierz nową bazę danych w lewej sekcji i kliknij "Przywileje"
Następnie kliknij „Dodaj konto użytkownika”.
Wprowadź login i hasło (usługa wp / Qwe123) w otwartym oknie zaznacz „Przyznaj wszystkie uprawnienia w wordpress_db” i kliknij "Następny"
Na następnej stronie kliknij „Anuluj wszystko” aby zresetować wszystkie uprawnienia na poziomie bazy danych i kliknij "Następny".
3. Konfiguracja WordPressa na serwerze Linux
Przejdź do katalogu głównego swojej witryny i skopiuj plik konfiguracyjny z szablonu
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Otwórz „wp-config.php” plik i wprowadź parametry połączenia z bazą danych, które utworzyliśmy w poprzednim kroku, a następnie zapisz zmiany.
4. Zainstaluj CMS WordPress
Otwórz poniższy link w przeglądarce „http://[adres_ip_serwera]/wp-admin/install.php”.
Wypełnij wszystkie pola i kliknij „Zainstaluj WordPress”. Ustaw losową nazwę użytkownika i hasło. W naszym przypadku to wpadmin oraz Qwe123 odpowiednio.
Dane te zostaną wykorzystane w celu uzyskania dostępu do WordPressa.
Po zakończeniu instalacji otwórz link „http://[adres_ip_serwera]/wp-login.php”, wprowadź dane dostępowe i zaloguj się do WordPressa.
Na stronie głównej powinieneś zobaczyć jeden z szablonów WordPress.
Konfiguracja zakończona.
Szczegóły dostępu do WordPressa:
- http://[server’s_ip_address]/wp-login.php
- Logowanie: wpadmin
- Hasło: Qwe123