Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)
Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne
Tato příručka vám ukáže, jak správně nainstalovat a nakonfigurovat "alternativní" zásobník LAMP na Debian 8 pomocí NGINX, PHP Fast Process Manager a MariaDB.
NGINX je „nejprve reverzní proxy, potom webový server“. Je to oblíbená a rostoucí alternativa k Apache, která v mnoha případech nabízí větší flexibilitu a lepší výkon. V tomto tutoriálu jej budeme používat jako náš webový server.
Spusťte svého oblíbeného klienta SSH a přihlaste se na svůj server. Pro uživatele Windows je „PuTTY“ bezplatný a lehký klient SSH. Uživatelé systémů Linux a Mac mohou používat terminál, který je standardně součástí jejich operačního systému. V tomto tutoriálu budeme předpokládat, že jste přihlášeni ke svému serveru jako uživatel „root“.
Pro začátek se jen ujistěte, že je vše aktuální. Chcete-li zkontrolovat a nainstalovat aktualizace, zadejte následující.
apt-get update && apt-get upgrade
Budeme upravovat naše konfigurační soubory ve vimu. Vim není standardně nainstalován, tak si ho nainstalujme!
apt-get install vim
Nyní je čas nainstalovat NGINX. Budeme chtít nainstalovat nejnovější verzi NGINX z oficiálního úložiště NGINX Debian.
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx
Nyní musíme trochu vyladit konfiguraci NGINX. Přejděte do konfiguračního adresáře.
cd /etc/nginx
Pomocí kláves se šipkami se můžete pohybovat v textovém dokumentu. Chcete-li začít s úpravami, stiskněte na klávesnici tlačítko „vložit“. Pokud vaše klávesnice nemá tlačítko pro vložení, stiskněte klávesu „i“. Směrem ke spodní části vim si všimnete, že nyní říká „INSERT“. Režim vkládání vám umožní odstranit pomocí backspace nebo vložit nové znaky jejich zadáním.
Otevřeme naše nginx.conf
a prohlédneme si:
vi nginx.conf
Změňme výchozího uživatele, zkontrolujme počet pracovních procesů a vypněte protokol přístupu.
Direktivy "user" a "worker_processes" jsou nahoře. Vyzkoušejte níže uvedené hodnoty:
Note that you'll want to set "worker_processes" to the number of CPU cores available on your server. In this example, we have 1, which is the NGINX default.
user www-data;
worker_processes 1;
Chceme také zakázat přístupový protokol, abychom zlepšili výkon I/O. Pomocí kláves se šipkami přejděte dolů, dokud nenajdete „access_log“. Upravte jej na následující:
access_log off;
A nakonec nastavíme "client_max_body_size" tak, aby odpovídal některým změnám provedeným v PHP později. Ušetřeme si problémy a udělejme to hned. Přidejte těsně pod „access_log“:
client_max_body_size 12m;
Po dokončení úprav stiskněte na klávesnici „Esc“. Vim již nebude říkat „INSERT“ směrem ke konci souboru.
Chcete-li uložit naše změny a ukončit vim, stiskněte následující sekvenci kláves:
SHIFT :(colon)
wq
Press "Enter"
Výše uvedené vim kung fu zapíše vaše změny na disk a ukončí vim, čímž vás vrátí zpět do bash shellu.
Nyní musíme pro náš příklad vytvořit konfiguraci specifickou pro web! Smažeme také ostatní ukázkové konfigurace. Zkuste následující:
cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf
Uděláme krátký a jednoduchý, www.conf
volně založený na výchozí konfiguraci NGINX, ale s několika úpravami. Stiskněte vložit a můžete zkopírovat/vložit níže uvedený příklad.
Don't forget to edit the "root" directive to point to the root directory of your website, and "server_name" to correspond to your domain.
server {
listen 80;
root /path/to/your/website;
index index.php index.html index.htm;
server_name mydomainname.com www.mydomainname.com;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
Nyní jsme hotovi s sekcí konfigurace NGINX tohoto tutoriálu. Za chvíli restartujeme NGINX, hned po instalaci PHP.
PHP-FPM je PHP Fast Process Manager. Je to vyžadováno při používání NGINX, protože na rozdíl od Apache, NGINX nespouští PHP jako modul. To bylo provedeno za účelem snížení paměťové stopy NGINX. Pamatujete si tu část o tom, že NGINX je především reverzní proxy? Tady to vstupuje do hry; Požadavky PHP odeslané do NGINX jsou přiváděny do PHP-FPM, aby to udělalo těžké.
Pojďme nainstalovat PHP-FPM.
apt-get install php5-fpm php5-mysqlnd
Note that depending on what your PHP scripts require, you may have to install other PHP modules not included by default. Popular ones are
php5-gd
andphp5-mcrypt
. You can install these with the following command.
apt-get install php5-module_name_here
Nyní, když máme nainstalovaný PHP-FPM, budeme chtít provést několik rychlých úprav pro zvýšení zabezpečení a funkčnosti.
cd /etc/php5/fpm
vi php.ini
Čas na další rychlou lekci vim! php.ini
Soubor je naprosto obrovská. Hledání pár klíčových hodnot zabere celý den. Takže protože víme, co hledáme, budeme hledat. Zadejte následující:
/upload_max_filesize
Ve výchozím nastavení je tato velikost nastavena na 2 megabajty. Pokud chcete uživatelům umožnit nahrávat do vašich aplikací PHP soubory větší než 2 megabajty, budete muset toto změnit. 10M je zatím pravděpodobně sázka na jistotu, ale akceptovatelné jsou i vyšší hodnoty. Toto nastavení se bude lišit v závislosti na konfiguraci. Pro poučení:
upload_max_filesize = 10M
Ještě jedna do očí bijící bezpečnostní chyba. Přejděte o něco níže nebo vyhledejte. Musíme přepnout "allow_url_fopen" na "Off". To zabrání PHP spouštět soubory PHP hostované VZDÁLENĚ, jinak známé jako RFI (Remote File Inclusion). Mnoho serverů je tímto způsobem hackováno.
allow_url_fopen = Off
A protože jsme změnili "upload_max_filesize", musíme nyní změnit "post_max_size". Tato hodnota by měla být o něco větší než "upload_max_filesize", protože musíme vzít v úvahu režii spojenou s našimi požadavky zpracovávanými PHP.
Pojďme hledat ještě jednou pomocí "/post_max_size".
post_max_size = 12M
Note that you'll have to go back to your NGINX configuration and edit "client_max_body_size" if you decide to go with larger values than these examples for your PHP file sizes.
To je zatím asi vše. Ujistěte se, že nejste v režimu úprav stisknutím "Esc". Uložte a ukončete vim.
SHIFT :(colon)
wq
Press 'Enter'
Nastavení PHP-FPM je dokončeno.
I ve světě, který se neustále posouvá směrem k NoSQL nebo MongoDB, je pro některé z nás stále jednodušší zůstat u MySQL. To platí zejména pro mnoho webových aplikací. Naštěstí nyní existuje řada „drop-in“ náhrad za Oracle MySQL. Debian 8 nyní obsahuje stále populární MariaDB. MariaDB je fork Oracle MySQL založený na verzi 5.5. MariaDB, pro všechny záměry a účely, tomu říká MariaDB 10. Je považována za PLNOU náhradu za Oracle MySQL. Představte si to jako MySQL v srdci, bez značky Oracle a některé nové funkce.
apt-get install mariadb-server
DŮLEŽITÉ: Rozhodně musíte vybrat silné root heslo pro MariaDB. Uložte to někde v bezpečí. Během instalace MariaDB jej budete muset zadat dvakrát.
Pojďme mírně upravit konfiguraci MariaDB. Zakážeme naslouchání MariaDB přes síťové rozhraní. Místo toho, stejně jako dříve u PHP-FPM, zůstaneme pouze u UNIXového socketu. Většina aplikací PHP by měla podporovat připojení k databázovému serveru prostřednictvím soketu UNIX namísto rozhraní místní smyčky.
cd /etc/mysql
vi my.cnf
Hledejte „bind-address = 127.0.0.1“. Komentujte ten řádek. Nad nebo pod něj přidejte „skip-networking“.
#bind-address = 127.0.0.1
skip-networking
S MariaDB jsme skončili! Nakonec možná budete chtít vyladit konfiguraci MariaDB v závislosti na tom, zda budete primárně používat úložné stroje MyISAM nebo InnoDB, ale také na počtu jader CPU a paměti RAM, které má váš server k dispozici. Výchozí nastavení nás mezitím zprovozní.
Pojďme restartovat každou ze služeb, pro které byly v tomto tutoriálu upraveny konfigurační soubory.
systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service
To je ono – všichni jsme hotovi. V tomto okamžiku máte plně funkční LNMP (LEMP) server online!
Tato příručka měla sloužit jako obecné pravidlo pro začátek s výše uvedenými službami s minimálními úpravami. Další informace naleznete v dokumentaci k výše uvedeným balíčkům. I když by toto příkladné nastavení mělo fungovat dobře hned po vybalení, úpravy mohou a pravděpodobně budou muset být provedeny tak, aby lépe vyhovovaly vašim potřebám.
Doporučené oblasti k výzkumu:
Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne
Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt
V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje
Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval
Používáte jiný systém? Gitea je alternativní open source systém pro správu verzí s vlastním hostitelem poháněný systémem Git. Gitea je napsána v Golangu a je
Úvod Lynis je bezplatný nástroj pro audit systému s otevřeným zdrojovým kódem, který používá mnoho systémových administrátorů k ověření integrity a posílení svých systémů. já
Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i
Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci
Golang je programovací jazyk vyvinutý společností Google. Díky své všestrannosti, jednoduchosti a spolehlivosti se Golang stal jedním z nejoblíbenějších
Pokud jste zapomněli své kořenové heslo MySQL, můžete ho resetovat podle kroků v tomto článku. Proces je poměrně jednoduchý a funguje na nich
Jsou chvíle, kdy potřebujeme sdílet soubory, které musí být viditelné pro klienty Windows. Vzhledem k tomu, že systémy založené na pojistkách fungují pouze na Linuxu, představujeme vás
V této příručce nastavíme herní server Counter Strike: Source na Debianu 7. Tyto příkazy byly testovány na Debianu 7, ale měly by také fungovat
V této příručce se dozvíte, jak nastavit server Unturned 2.2.5 na Vultr VPS se systémem Debian 8. Poznámka: Toto je upravená verze Unturned, která
V tomto tutoriálu se naučíte, jak nainstalovat Cachet na Debian 8. Cachet je výkonný open source systém stavových stránek. Instalace Tento tutoriál právě probíhá
Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.
Tento článek vás naučí, jak nastavit chroot jail v Debianu. Předpokládám, že používáte Debian 7.x. Pokud používáte Debian 6 nebo 8, může to fungovat, bu
Používáte jiný systém? Reader Self 3.5 je jednoduchá a flexibilní, bezplatná a open source, samostatně hostovaná RSS čtečka a alternativa Google Reader. Čtenář Sel
Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje
V tomto tutoriálu nainstalujeme SteamCMD. SteamCMD lze použít ke stažení a instalaci mnoha herních serverů Steam, jako je Counter-Strike: Global Offensiv
Jak možná víte, repozitáře Debianu se aktualizují velmi pomalu. V době psaní tohoto článku jsou verze vydání Pythonu na 2.7.12 a 3.5.2, ale v úložišti Debian 8
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více