Kako namestiti sklad Apache, MySQL in PHP (FAMP) na FreeBSD 12.0

Uvod

Sklad FAMP, ki je primerljiv s skladom LAMP v Linuxu, je zbirka odprtokodne programske opreme, ki je običajno nameščena skupaj, da strežniku FreeBSD omogoči gostovanje dinamičnih spletnih mest in spletnih aplikacij. FAMP je akronim, ki pomeni F reeBSD (operacijski sistem), A pache (strežnik HTTP), M ySQL (strežnik baz podatkov) in P HP (programski jezik za obdelavo dinamične vsebine PHP).

V tem priročniku bomo razmestili elemente sklada FAMP na primerek FreeBSD 12.0 Vultr z uporabo pkgupravljalnika paketov FreeBSD.

Zahteve

Preden začnete s tem vodnikom, boste potrebovali naslednje:

  • FreeBSD 12.0 VPS.
  • Uporabnik s pravicami root ali sudouporabnik za spreminjanje konfiguracije.
  • Priporočljivo je osnovno poznavanje sistema FreeBSD in vmesnika ukazne vrstice.

Preden začneš

Preverite različico FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE-p6

Prepričajte se, da je vaš sistem FreeBSD posodobljen.

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

Namestite potrebne pakete.

pkg install -y sudo vim bash curl

Ustvarite nov uporabniški račun s svojim želenim uporabniškim imenom. Uporabljamo 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!

Zaženite visudoukaz in razkomentirajte %wheel ALL=(ALL) ALLvrstico, da omogočite članom wheelskupine, da izvedejo kateri koli ukaz.

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

Zdaj preklopite na novo ustvarjenega uporabnika z su:

su - johndoe

OPOMBA: Zamenjajte johndoez vašim uporabniškim imenom.

Nastavite časovni pas:

sudo tzsetup

1. korak - Namestitev Apache

Spletni strežnik Apache je trenutno eden najbolj priljubljenih spletnih strežnikov na svetu. Je odlična izbira za gostovanje spletne strani.

Apache lahko namestite s pomočjo upravljalnika paketov FreeBSD, pkg. Upravitelj paketov vam omogoča enostavno namestitev večine programske opreme iz skladišča, ki ga vzdržuje FreeBSD. Več o uporabipkg lahko izveste tukaj .

Če želite namestiti Apache, izdajte naslednji ukaz:

sudo pkg install -y apache24

Preverite različico:

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

Zdaj omogočite in zaženite Apache:

sudo sysrc apache24_enable=yes sudo service apache24 start

Če želite preveriti, ali se je Apache zagnal, lahko zaženete naslednji ukaz:

sudo service apache24 status

Posledično boste videli nekaj podobnega:

# Output apache24 is running as pid 17772.

Ali je bil Apache nameščen in deluje brez napak, lahko preverite tako, da v spletnem brskalniku obiščete javni IP naslov vašega strežnika. Pomaknite se do http://your_server_IP. Videli boste privzeto stran Apache " Deluje! ".

2. korak — Namestitev MySQL 8.0

Zdaj, ko je vaš spletni strežnik vzpostavljen in deluje, je čas, da namestite MySQL, sistem za upravljanje relacijskih baz podatkov. Strežnik MySQL bo organiziral in zagotovil dostop do baz podatkov, kjer lahko vaš strežnik shranjuje informacije.

Ponovno lahko uporabite pkgza pridobitev in namestitev programske opreme.

Če želite namestiti MySQL 8.0z uporabo pkg, uporabite ta ukaz:

sudo pkg install -y mysql80-client mysql80-server

Ta ukaz bo namestil najnovejšo različico odjemalca in strežnika MySQL, ki je trenutno 8.x.x.

Preverite različico:

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

Zdaj omogočite in zaženite MySQL:

sudo sysrc mysql_enable=yes sudo service mysql-server start

Če želite preveriti, ali se je MySQL zagnal, lahko zaženete naslednji ukaz:

sudo service mysql-server status

Videli boste nekaj podobnega temu:

# Output mysql is running as pid 19171.

Kot dobro prakso lahko zaženete mysql_secure_installationvarnostni skript, ki bo odstranil nekatere nevarne privzete nastavitve in nekoliko omejil dostop do vašega sistema baze podatkov.

sudo mysql_secure_installation

Pozvani boste, da nastavite geslo, nato pa še nekaj vprašanj. Vnesite močno geslo in nato za preostala vprašanja pritisnite , ENTERda izberete privzete nastavitve.

3. korak — Namestitev PHP 7.3

PHP je skriptni jezik na strani strežnika, zasnovan za spletni razvoj. PHP je nepogrešljiva komponenta sklada FAMP. Poleg tega se namesto PHP običajno uporabljata Python ali Perl. Vendar pa se najpogosteje uporablja PHP kot najbolj priljubljena možnost. Skupaj z bazo podatkov bo vašim spletnim mestom ali aplikacijam omogočila dinamično obnašanje.

Še enkrat izkoristite pkgsistem za namestitev komponent PHP.

Če želite namestiti PHP 7.3 z pkg, zaženite ta ukaz:

sudo pkg install -y php73 php73-mysqli mod_php73

To namesti php73, mod_php73in php73-mysqlipakete.

Preverite različico.

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

Kopirajte vzorčno konfiguracijsko datoteko PHP na svoje mesto s tem ukazom:

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

Zdaj omogočite in zaženite PHP-FPM:

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Če želite preveriti, ali se je PHP-FPM zagnal, lahko zaženete naslednji ukaz:

sudo service php-fpm status

Posledično boste videli nekaj podobnega:

# Output php_fpm is running as pid 23005.

Namestitev PHP modulov (izbirno)

Za izboljšanje funkcionalnosti PHP lahko po želji namestite nekaj dodatnih modulov.

Če si želite ogledati trenutno prevedene v modulih PHP, lahko zaženete to:

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

Za iskanje razpoložljivih PHP modulov lahko uporabite ta ukaz:

pkg search ^php73-*

Rezultati bodo večinoma moduli PHP 7.3, ki jih lahko namestite:

# 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 # . . .

Če se po raziskovanju odločite, da morate namestiti paket, lahko to storite z pkg installukazom. Večina spletnih aplikacij PHP bo zahtevala dodatne module, zato je dobro vedeti, kako jih poiskati.

Korak 4 - Konfiguriranje Apache za uporabo PHP modula

Preden uporabite PHP, ga morate konfigurirati za delo z Apache.

Zaženite sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confin napolnite datoteko s spodnjo vsebino:

<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>

Shranite datoteko in zapustite s :+ W+Q

Preverite konfiguracijo Apache.

sudo apachectl configtest

Ker ste v Apache naredili konfiguracijske spremembe, morate storitev znova naložiti, da se te uporabijo. V nasprotnem primeru bo Apache še vedno deloval s prejšnjo konfiguracijo.

sudo apachectl restart

5. korak — Preizkušanje obdelave PHP

Če želite preveriti, ali je vaš sistem pravilno konfiguriran za PHP, lahko ustvarite zelo osnovni skript PHP. Ta skript boste poklicali info.php. Privzeto DocumentRootje nastavljen na /usr/local/www/apache24/data. Datoteko lahko ustvarite na info.phptem mestu, tako da vnesete:

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

Tej datoteki dodajte to kodo:

<?php phpinfo(); ?>

Pomaknite se do http://your_server_IP/info.phpin videli boste naslednjo stran:

Kako namestiti sklad Apache, MySQL in PHP (FAMP) na FreeBSD 12.0

Po namestitvi in ​​nastavitvi sklada FAMP odstranite info.phpdatoteko, da se izognete razkritju informacij o strežniku javnosti.

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

Zaključek

Čestitamo, uspešno ste namestili sklad FAMP na vaš FreeBSD 12.0 VPS. Zdaj imate več možnosti, kaj storiti naprej. Namestili ste platformo, ki vam bo omogočila namestitev večine vrst spletnih mest in spletne programske opreme.

BSD, strežniške aplikacije, spletni strežniki

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več