Jak zainstalować stos Apache, MySQL i PHP (FAMP) na FreeBSD 12.0

Wprowadzenie

Stos FAMP, który jest porównywalny ze stosem LAMP w systemie Linux, to zbiór oprogramowania typu open source, które jest zwykle instalowane razem, aby umożliwić serwerowi FreeBSD hostowanie dynamicznych witryn i aplikacji internetowych. FAMP to akronim oznaczający F reeBSD (system operacyjny), A pache (serwer HTTP), M yQL (serwer bazy danych) i P HP (język programowania do przetwarzania dynamicznej zawartości PHP).

W tym przewodniku będziemy wdrażać elementy stosu FAMP na instancji FreeBSD 12.0 Vultr przy użyciu pkgmenedżera pakietów FreeBSD.

Wymagania

Przed rozpoczęciem tego przewodnika potrzebujesz:

  • FreeBSD 12.0 VPS.
  • Użytkownik z uprawnieniami administratora lub sudoużytkownik, aby dokonać zmian w konfiguracji.
  • Zalecana jest podstawowa znajomość systemu FreeBSD i interfejsu wiersza poleceń.

Zanim zaczniesz

Sprawdź wersję FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE-p6

Upewnij się, że twój system FreeBSD jest aktualny.

freebsd-update fetch install
pkg update && pkg upgrade -y

Zainstaluj niezbędne pakiety.

pkg install -y sudo vim bash curl

Utwórz nowe konto użytkownika z preferowaną nazwą użytkownika. Używamy johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Uruchom visudopolecenie i usuń komentarz z %wheel ALL=(ALL) ALLwiersza, aby umożliwić członkom wheelgrupy wykonanie dowolnego polecenia.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Teraz przejdź do nowo utworzonego użytkownika za pomocą su:

su - johndoe

UWAGA: Zamień na johndoeswoją nazwę użytkownika.

Ustaw strefę czasową:

sudo tzsetup

Krok 1 - Instalacja Apache

Serwer WWW Apache jest obecnie jednym z najpopularniejszych serwerów internetowych na świecie. Jest to doskonały wybór do hostingu strony internetowej.

Można zainstalować Apache za pomocą menedżera pakietów FreeBSD, pkg. Menedżer pakietów pozwala bezproblemowo zainstalować większość oprogramowania z repozytorium obsługiwanego przez FreeBSD. Możesz dowiedzieć się więcej o tym, jak korzystać z pkgtego miejsca .

Aby zainstalować Apache, wydaj następujące polecenie:

sudo pkg install -y apache24

Sprawdź wersję:

httpd -v
# Server version: Apache/2.4.39 (FreeBSD)

Teraz włącz i uruchom Apache:

sudo sysrc apache24_enable=yes
sudo service apache24 start

Aby sprawdzić, czy Apache się uruchomił, możesz uruchomić następujące polecenie:

sudo service apache24 status

W rezultacie zobaczysz coś podobnego do:

# Output
apache24 is running as pid 17772.

Możesz sprawdzić, czy Apache został zainstalowany i działa bez błędów, odwiedzając publiczny adres IP serwera w przeglądarce internetowej. Przejdź do http://your_server_IP. Zobaczysz domyślną stronę Apache „ To działa! ”.

Krok 2 - Instalacja MySQL 8.0

Teraz, gdy masz już uruchomiony serwer WWW, nadszedł czas, aby zainstalować MySQL, system zarządzania relacyjnymi bazami danych. Serwer MySQL zorganizuje i zapewni dostęp do baz danych, w których serwer może przechowywać informacje.

Ponownie możesz wykorzystać, pkgaby uzyskać i zainstalować oprogramowanie.

Aby zainstalować MySQL 8.0użyciu pkg, użyj polecenia:

sudo pkg install -y mysql80-client mysql80-server

To polecenie zainstaluje najnowszą wersję klienta i serwera MySQL, która jest obecnie 8.x.x.

Sprawdź wersję:

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Teraz włącz i uruchom MySQL:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

Aby sprawdzić, czy MySQL został uruchomiony, możesz uruchomić następującą komendę:

sudo service mysql-server status

Zobaczysz coś podobnego do następującego:

# Output
mysql is running as pid 19171.

Jako dobrą praktykę możesz uruchomić mysql_secure_installationskrypt bezpieczeństwa, który usunie niektóre niepewne wartości domyślne i nieznacznie ograniczy dostęp do systemu bazy danych.

sudo mysql_secure_installation

Zostaniesz poproszony o ustawienie hasła, a następnie kilka innych pytań. Wprowadź silne hasło, a następnie, aby ENTERprzejść do pozostałych pytań, naciśnij, aby wybrać ustawienia domyślne.

Krok 3 - Instalacja PHP 7.3

PHP to język skryptowy po stronie serwera przeznaczony do tworzenia stron internetowych. PHP jest niezbędnym składnikiem stosu FAMP. Ponadto zamiast PHP często używane są Python lub Perl. Jednak najczęściej używana jest PHP jako najpopularniejsza opcja. Wraz z bazą danych zapewni dynamiczne zachowanie witryn lub aplikacji.

Jeszcze raz wykorzystaj pkgsystem do zainstalowania komponentów PHP.

Aby zainstalować PHP 7.3 za pomocą pkg, uruchom następujące polecenie:

sudo pkg install -y php73 php73-mysqli mod_php73

Ten instaluje php73, mod_php73i php73-mysqlipaczek.

Sprawdź wersję.

php --version
# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Skopiuj przykładowy plik konfiguracyjny PHP na miejsce za pomocą tego polecenia:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Teraz włącz i uruchom PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Aby sprawdzić, czy PHP-FPM został uruchomiony, możesz uruchomić następującą komendę:

sudo service php-fpm status

W rezultacie zobaczysz coś podobnego do:

# Output
php_fpm is running as pid 23005.

Instalowanie modułów PHP (opcjonalnie)

Aby zwiększyć funkcjonalność PHP, możesz opcjonalnie zainstalować dodatkowe moduły.

Aby zobaczyć aktualnie skompilowane w modułach PHP, możesz uruchomić to:

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

Aby wyszukać dostępne moduły PHP, możesz użyć tego polecenia:

pkg search ^php73-*

Rezultatem będą głównie moduły PHP 7.3, które możesz zainstalować:

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

Jeśli po zbadaniu zdecydujesz, że musisz zainstalować pakiet, możesz to zrobić za pomocą pkg installpolecenia. Większość aplikacji internetowych PHP będzie wymagało dodatkowych modułów, więc dobrze jest wiedzieć, jak ich szukać.

Krok 4 - Konfiguracja Apache do używania modułu PHP

Przed użyciem PHP musisz go skonfigurować do pracy z Apache.

Uruchom sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confi wypełnij plik poniższą zawartością:

<IfModule dir_module>
  DirectoryIndex index.php index.html
  <FilesMatch "\.php$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
</IfModule>

Zapisz plik i wyjdź za pomocą :+ W+Q

Sprawdź konfigurację Apache.

sudo apachectl configtest

Ponieważ wprowadziłeś zmiany w konfiguracji w Apache, musisz ponownie załadować usługę dla tych, które zostaną zastosowane. W przeciwnym razie Apache nadal będzie działał z wcześniejszą konfiguracją.

sudo apachectl restart

Krok 5 - Testowanie przetwarzania PHP

Aby sprawdzić, czy Twój system jest poprawnie skonfigurowany do obsługi PHP, możesz utworzyć bardzo prosty skrypt PHP. Nazwiesz ten skrypt info.php. Domyślnie DocumentRootjest ustawiony na /usr/local/www/apache24/data. Możesz utworzyć info.phpplik w tej lokalizacji, wpisując:

sudo vim /usr/local/www/apache24/data/info.php

Dodaj ten kod do tego pliku:

<?php phpinfo(); ?>

Przejdź do, http://your_server_IP/info.phpa zobaczysz następującą stronę:

Jak zainstalować stos Apache, MySQL i PHP (FAMP) na FreeBSD 12.0

Po instalacji i konfiguracji stosu FAMP powinieneś usunąć info.phpplik, aby uniknąć publicznego ujawnienia informacji o serwerze.

sudo rm /usr/local/www/apache24/data/info.php

Wniosek

Gratulacje, pomyślnie zainstalowałeś stos FAMP na FreeBSD 12.0 VPS. Teraz masz wiele możliwości wyboru, co dalej. Zainstalowałeś platformę, która pozwoli ci zainstalować na niej większość rodzajów stron internetowych i oprogramowania.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.