předchozí verze tohoto tutoriálu byla napsána Brennan Bearnes.
Úvod
„LAMPA“ stack je skupina open-source software, který je obvykle nainstalován spolu povolit server hostit dynamické webové stránky a webové aplikace. Tento termín je vlastně zkratka, která představuje operační systém Linux, s webovým serverem Apache. Data webu jsou uložena v databázi MySQL a dynamický obsah je zpracováván PHP.
v této příručce nainstalujeme zásobník LAMP na serveru Ubuntu 18.04.,
předpoklady
Chcete-li dokončit tento tutoriál, budete muset mít server Ubuntu 18.04 s uživatelským účtem bez root sudo
a základním firewallem. To lze nakonfigurovat pomocí našeho počátečního průvodce nastavením serveru pro Ubuntu 18.04.
Krok 1-Instalace Apache a aktualizace firewallu
webový server Apache patří mezi nejoblíbenější webové servery na světě. Je dobře zdokumentován a byl široce používán pro většinu historie webu, což z něj činí skvělou výchozí volbu pro hostování webových stránek.,
Instalovat Apache používáte Ubuntu package manager, apt
:
- sudo apt update
- sudo apt install apache2
Protože tohle je sudo
příkaz, tyto operace jsou prováděny s právy uživatele root. Požádá vás o heslo běžného uživatele k ověření vašich záměrů.
Jakmile jste zadali heslo, apt
vám řekne, které balíčky plánuje nainstalovat a jak moc extra prostor na disku vezmou. Stiskněte Y
a pokračujte stisknutím ENTER
a instalace bude pokračovat.,
Nastavit Firewall tak, aby Provoz na Webu
Next, za předpokladu, že jste postupovali podle původní server instalační pokyny a umožnil UFW firewall, ujistěte se, že vaše brána firewall umožňuje HTTP a HTTPS provoz.,ld ukázat, že to umožňuje provoz na portech 80
443
:
- sudo ufw app info "Apache Full"
OutputProfile: Apache FullTitle: Web Server (HTTP,HTTPS)Description: Apache v2 is the next generation of the omnipresent Apache webserver.Ports: 80,443/tcp
Povolit příchozí HTTP a HTTPS provoz pro tento profil:
- sudo ufw allow in "Apache Full"
můžete zkontrolovat hned ověřit, že všechno šlo podle plánu tím, že navštívíte vašeho serveru veřejná IP adresa ve webovém prohlížeči (viz poznámka pod další čísla, aby zjistili, co vaše veřejná IP adresa je, pokud nemáte tuto informaci):
You will see the default Ubuntu 18.04 Apache web page, which is there for informational and testing purposes. It should look something like this:
If you see this page, then your web server is now correctly installed and accessible through your firewall.
How To Find your Server’s Public IP Address
If you do not know what your server’s public IP address is, there are a number of ways you can find it. Usually, this is the address you use to connect to your server through SSH.
There are a few different ways to do this from the command line. First, you could use the iproute2
tools to get your IP address by typing this:
- ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
To vám dá dva nebo tři řádky zpět., Jsou to všechny správné adresy, ale váš počítač může používat pouze jednu z nich, takže si můžete vyzkoušet každý z nich.
alternativní metodou je použití nástrojecurl
pro kontakt s externí stranou, která vám řekne, jak vidí váš server. Toto je děláno tím, že žádá konkrétní server, co vaše IP adresa je:
- sudo apt install curl
- curl http://icanhazip.com
bez Ohledu na metodu, kterou používáte k dostat vaše IP adresa, zadejte do adresního řádku webového prohlížeče pro zobrazení defaultní stránka Apache.,
Krok 2-instalace MySQL
Nyní, když máte webový server v provozu, je čas nainstalovat MySQL. MySQL je systém pro správu databází. V zásadě bude organizovat a poskytovat přístup k databázím, kde mohou vaše stránky ukládat informace.
Znovu použít apt
získat a nainstalovat tento software:
- sudo apt install mysql-server
Poznámka: V tomto případě, nemusíte běžet sudo apt update
před příkaz. Je to proto, že jste jej nedávno spustili v příkazech výše pro instalaci Apache., Index balíčku v počítači by měl být již aktuální.
Tento příkaz vám také zobrazí seznam balíků, které budou nainstalovány, spolu s množstvím místa na disku, které zabírají. Pro pokračování zadejte Y
.
po dokončení instalace spusťte jednoduchý bezpečnostní skript, který je předinstalován s MySQL, který odstraní některé nebezpečné výchozí hodnoty a uzamkne přístup k databázovému systému. Spusťte interaktivní skript spuštěním:
- sudo mysql_secure_installation
to se zeptá, zda chcete nakonfigurovat VALIDATE PASSWORD PLUGIN
.,
Poznámka: povolení této funkce je něco jako úsudek. Pokud je povoleno, hesla, která neodpovídají zadaným kritériím, budou MySQL odmítnuta s chybou. To způsobí problémy, pokud používáte slabé heslo ve spojení se softwarem, který automaticky konfiguruje uživatelské pověření MySQL, jako jsou balíčky Ubuntu pro phpMyAdmin. Je bezpečné nechat ověření zakázáno, ale vždy byste měli používat silná, jedinečná hesla pro pověření databáze.
odpověď Y
pro ano, nebo cokoli jiného pokračovat bez povolení.,
VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No:
Pokud odpovíte „ano“, budete vyzváni k výběru úrovně ověření hesla. Mějte na paměti, že pokud zadáte 2
pro nejsilnější úrovni, budete dostávat chyby při pokusu nastavit libovolné heslo, které neobsahuje čísla, horní a malá písmena a speciální znaky, nebo který je založen na běžná slova ze slovníku.
There are three levels of password validation policy:LOW Length >= 8MEDIUM Length >= 8, numeric, mixed case, and special charactersSTRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
bez Ohledu na to, zda jste se rozhodli nastavit VALIDATE PASSWORD PLUGIN
, váš server bude vedle vás požádat, abyste vyberte a potvrďte heslo pro uživatele root MySQL., Jedná se o administrativní účet v MySQL, který má zvýšená oprávnění. Myslete na to, že je podobný kořenovému účtu pro samotný server (i když ten, který nyní konfigurujete, je účet specifický pro MySQL). Ujistěte se, že se jedná o silné, jedinečné heslo a nenechávejte jej prázdné.
Pokud jste povolili ověření hesla, zobrazí se vám Síla hesla pro právě zadané heslo root a váš server se zeptá, zda chcete toto heslo změnit., Pokud jste spokojeni s vaší aktuální heslo, zadejte N
„ne“ na řádku:
Using existing password for root.Estimated strength of the password: 100Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Pro zbytek otázek, stiskněte Y
hit ENTER
klíč na každém řádku. Tím se odstraní někteří anonymní uživatelé a testovací databáze, zakážou vzdálené přihlášení root a načtou tato nová pravidla tak, aby MySQL okamžitě respektoval změny, které jste provedli.
všimněte si, že v systémech Ubuntu se systémem MySQL 5.,7 (a novější verze), root MySQL uživatele je nastaven na ověření pomocí auth_socket
plugin ve výchozím nastavení, spíše než s heslem. To umožňuje v mnoha případech větší bezpečnost a použitelnost, ale může také komplikovat věci, když potřebujete povolit externímu programu (např.
Pokud chcete použít heslo pro připojení k MySQL jako root, budete muset přepnout svou metodu ověřování tak, ze auth_socket
mysql_native_password
., K tomu, otevřít výzvu MySQL z terminálu:
- sudo mysql
Next, zkontrolujte, která metoda ověřování každého z MySQL uživatelské účty, použijte následující příkaz:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
V tomto příkladu, můžete vidět, že uživatel root má ve skutečnosti ověření pomocí auth_socket
plugin. Chcete-li nakonfigurovat kořenový účet pro ověření pomocí hesla, spusťte následující příkaz ALTER USER
., Ujistěte se, že změnit password
silné heslo vašeho výběru:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
spustit FLUSH PRIVILEGES
, který říká serveru, aby znovu načíst grant tabulek, a dát své nové změny v platnost:
- FLUSH PRIVILEGES;
Podívejte se na ověřování metod tím, že každý z vašich uživatelů znovu potvrdit, že root již ověřuje pomocí auth_socket
plugin:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
můžete vidět v tomto příkladu je výstup, že root MySQL uživatel nyní ověřuje pomocí hesla., Jakmile potvrdíte, že to na vašem vlastním serveru, můžete ukončit MySQL shell:
- exit
V tomto bodě, váš databázový systém je nyní nastaven a můžete přejít na instalaci PHP, poslední součást KONTROLKA zásobníku.
Krok 3-instalace PHP
PHP je součástí vašeho nastavení, které bude zpracovávat kód pro zobrazení dynamického obsahu. Může spouštět skripty, připojit se k databázím MySQL, abyste získali informace, a předat zpracovaný obsah na webový server, který se zobrazí.
opět použijteapt
systém pro instalaci PHP., Kromě toho zahrňte tentokrát některé pomocné balíčky, aby PHP kód mohl běžet pod serverem Apache a mluvit s vaší databází MySQL:
- sudo apt install php libapache2-mod-php php-mysql
to by mělo bez problémů nainstalovat PHP. Za chvíli to otestujeme.
ve většině případů budete chtít upravit způsob, jakým Apache slouží souborům, když je požadován adresář. V současné době, pokud uživatel požaduje adresář ze serveru, Apache bude hledat soubor s názvem index.html
., Chceme webovému serveru říct, aby upřednostňoval soubory PHP před ostatními, takže nejprve vyhledejte soubor index.php
.
K tomu, zadejte tento příkaz k otevření dir.conf
soubor v textovém editoru, s oprávněním root:
- sudo nano /etc/apache2/mods-enabled/dir.conf
To bude vypadat takto:
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>
Přesuňte PHP index souboru (uvedeny výše), na první pozici po DirectoryIndex
specifikace, jako je tato:
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm</IfModule>
po dokončení uložte a zavřete soubor stisknutím CTRL+X
. Potvrďte uložení zadáním Y
a poté stiskněte ENTER
pro ověření umístění uložení souboru.
poté restartujte webový server Apache, aby byly vaše změny rozpoznány., To udělat tím, že psaní toto:
- sudo systemctl restart apache2
můžete se také podívat na stav apache2
služby pomocí systemctl
:
- sudo systemctl status apache2
Stisknutím tlačítka Q
ukončit tento stav výstupu.
Chcete-li zvýšit funkčnost PHP, máte možnost nainstalovat některé další moduly., Chcete-li zobrazit dostupné možnosti pro PHP moduly a knihovny, trubky výsledky apt search
less
, pager, která vám umožní procházet výstupu ostatních příkazů:
- apt search php- | less
Použijte šipky pro posun nahoru a dolů, a stiskněte tlačítko Q
přestat.
výsledky jsou všechny volitelné komponenty, které můžete nainstalovat. Poskytne Vám krátký popis pro každého:
bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphsbluefish/bionic 2.2.10-1 amd64 advanced Gtk+ text editor for web and software developmentcacti/bionic 1.1.38+ds1-1 all web interface for graphing of monitoring systemsganglia-webfrontend/bionic 3.6.1-3 all cluster monitoring toolkit - web front-endgolang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Gohaserl/bionic 0.9.35-2 amd64 CGI scripting program for embedded environmentskdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-phpkdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n…:
Chcete-li se dozvědět více o tom, co každý modul dělá, můžete vyhledat na internetu další informace o nich., Alternativně, podívejte se na dlouhý popis balíček se zadáním:
- apt show package_name
Tam bude hodně výkonu, s jedním polem s názvem Description
, který bude mít delší vysvětlení funkce, které modul poskytuje.,
například, zjistit, co php-cli
modulu, můžete zadat toto:
- apt show php-cli
Spolu s velkým množstvím dalších informací, najdete něco, co vypadá jako toto:
Output…Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2).…
Pokud se po výzkum, rozhodnete, že byste chtěli nainstalovat balíček, můžete tak učinit pomocí apt install
příkaz, jako byste dělali pro ostatní software.,
Pokud jste se rozhodli, že php-cli
je něco, co budete potřebovat, můžete typ:
- sudo apt install php-cli
Pokud chcete nainstalovat více než jeden modul, můžete to udělat tím, výpis každé z nich, oddělený prostor, v návaznosti na apt install
příkaz, jako je tento:
- sudo apt install package1 package2 ...
V tomto bodě, vaše LAMPA zásobník je nainstalován a nakonfigurován. Než uděláte něco jiného, doporučujeme nastavit virtuální hostitele Apache, kde můžete ukládat podrobnosti o konfiguraci serveru.,
Krok 4 — Nastavení Virtuálních Hostitelů (Doporučeno)
Pokud používáte webový server Apache, můžete použít virtuální hostitele (podobný server bloky v Nginx), aby zahrnovala podrobnosti o konfiguraci a hostit více než jednu doménu z jednoho serveru. Zřídíme doménu s názvem your_domain, ale měli byste ji nahradit vlastním názvem domény. Chcete-li se dozvědět více o nastavení názvu domény pomocí DigitalOcean, podívejte se na náš úvod do DigitalOcean DNS.
Apache na Ubuntu 18.,04 má ve výchozím nastavení povolen jeden blok serveru, který je nakonfigurován tak, aby sloužil dokumentům z adresáře /var/www/html
. I když to funguje dobře pro jeden web, to může být těžkopádné, pokud hostujete více webů. Místo úpravy /var/www/html
, pojďme vytvořit adresářovou strukturu v rámci /var/www
pro naše your_domain stránky, takže /var/www/html
v místě, jako výchozí adresář musí být doručena, pokud klient žádost neodpovídá žádné jiné stránky.,your_domain takto:
sudo mkdir /var/www/your_domain
Next, přiřadit vlastnictví adresáře s $USER
proměnné prostředí:
- sudo chown -R $USER:$USER /var/www/your_domain
oprávnění pro vaše webové kořeny by měly být správné, pokud nemáš modifikovaný unmask
hodnota, ale můžete ujistěte se zadáním:
- sudo chmod -R 755 /var/www/your_domain
Next, vytvořit vzorek index.html
stránky pomocí nano
nebo váš oblíbený editor:
- nano /var/www/your_domain/index.html
Uvnitř, přidejte následující ukázka kódu HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain server block is working!</h1> </body></html>
Uložte a zavřete soubor po dokončení.
aby Apache sloužil tomuto obsahu, je nutné vytvořit virtuální hostitelský soubor se správnými směrnicemi. Místo toho změnit výchozí konfigurační soubor se nachází v /etc/apache2/sites-available/000-default.conf
přímo, pojďme udělat nový na /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Vložit v následující konfiguraci bloku, který je podobný default,, ale aktualizovaný pro náš nový adresář a název domény:
Všimněte si, že jsme aktualizovali DocumentRoot
náš nový adresář a ServerAdmin
do e-mailu, že your_domain správce webu přístup. Přidali jsme také dvě směrnice: ServerName
, kterou se stanoví základní domény, který by měl odpovídat za tohoto virtuálního hostitele definice, a ServerAlias
, který definuje další jména, která by měla odpovídat tak, jako kdyby byly základní název.
Uložte a zavřete soubor po dokončení.,
řekněme, aby soubor s a2ensite
nástroj:
- sudo a2ensite your_domain.conf
Zakázat výchozí stránky definované v 000-default.conf
:
- sudo a2dissite 000-default.conf
Next, pojďme test pro konfiguraci chyby:
- sudo apache2ctl configtest
měli Byste vidět následující výstup:
OutputSyntax OK
Restartujte Apache k provedení změn:
- sudo systemctl restart apache2
Apache by měl být nyní slouží své doménové jméno., Můžete to vyzkoušet navigací na , kde byste měli vidět něco takového:
s tím je virtuální hostitel plně nastaven. Před provedením jakékoli další změny nebo nasazení aplikace, ačkoli, to by bylo užitečné proaktivně vyzkoušet konfiguraci PHP v případě, že existují nějaké problémy, které by měly být řešeny.
5. Krok — Testování PHP Zpracování na Webovém Serveru
Za účelem testování, že váš systém je správně nakonfigurován pro PHP, vytvořit velmi jednoduchý PHP skript s názvem info.php
., Aby Apache našel tento soubor a sloužil správně, musí být uložen do webového kořenového adresáře.
Vytvořte soubor na web root, který jste vytvořili v předchozím kroku spuštěním:
- sudo nano /var/www/your_domain/info.php
otevře se prázdný soubor. Do souboru přidejte následující text, který je platný PHP kód:
<?phpphpinfo();?>
po dokončení uložte a zavřete soubor.
nyní můžete vyzkoušet, zda je váš webový server schopen správně zobrazit obsah generovaný tímto PHP skriptem. Chcete-li to vyzkoušet, navštivte tuto stránku ve webovém prohlížeči., Budete znovu potřebovat veřejnou IP adresu vašeho serveru.
adresa, kterou budete chtít navštívit, je:
The page that you come to should look something like this:
This page provides some basic information about your server from the perspective of PHP. It is useful for debugging and to ensure that your settings are being applied correctly.
If you can see this page in your browser, then your PHP is working as expected.
You probably want to remove this file after this test because it could actually give information about your server to unauthorized users. To do this, run the following command:
- sudo rm /var/www/your_domain/info.php
tuto stránku můžete vždy znovu vytvořit, pokud potřebujete získat přístup k informacím později.
závěr
Nyní, když máte nainstalovaný zásobník LAMP, máte mnoho možností, co dělat dál. V podstatě jste nainstalovali platformu, která vám umožní nainstalovat většinu druhů webových stránek a webového softwaru na váš server.
jako okamžitý další krok byste měli zajistit, aby připojení k webovému serveru byla zajištěna jejich obsluhou přes HTTPS., Nejjednodušší možností je použít Let ‚ s Encrypt k zabezpečení vašeho webu pomocí bezplatného certifikátu TLS / SSL.
některé další populární možnosti jsou:
- nainstalujte WordPress nejoblíbenější systém pro správu obsahu na internetu.
- Nastavte PHPMyAdmin, který vám pomůže spravovat databáze MySQL z webového prohlížeče.
- Naučte se používat SFTP pro přenos souborů na a ze serveru.
Napsat komentář