LAMP je bezplatná a open source platforma pro vývoj webových aplikací, která se používá k hostování dynamických a vysoce výkonných webových stránek. Skládá se ze čtyř open-source komponent:Linux, Apache, MySQL/MariaDB a PHP. LAMP používá Linux jako operační systém, Apache pro webový server, MySQL/MariaDB jako databázi a PHP jako skriptovací jazyk.
V tomto tutoriálu vysvětlíme, jak nainstalovat LAMP a zabezpečit ji pomocí Let’s Encrypt free SSL na Ubuntu 18.04.
Předpoklady
- Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
- Platný název domény odkazující na IP adresu vašeho serveru. V tomto tutoriálu budeme jako doménu používat example.com.
Krok 1 – Vytvoření cloudového serveru Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace webového serveru Apache
Nejprve nainstalujte webový server Apache pomocí následujícího příkazu:
apt-get install apache2 -y
Po dokončení instalace spusťte službu Apache a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl start apache2 systemctl enable apache2
Dále ověřte webový server Apache pomocí následujícího příkazu:
systemctl status apache2
Webový server Apache nyní běží a naslouchá na portu 80. Otevřete webový prohlížeč a zadejte URL http://ip-vaseho-serveru. Na následující obrazovce byste měli vidět výchozí stránku Apache:
To znamená, že webový server Apache funguje podle očekávání.
Krok 3 – Instalace databázového serveru MariaDB
MariaDB je nejpopulárnější fork systému pro správu relačních databází MySQL. Můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get install mariadb-server mariadb-client -y
Po instalaci spusťte službu MariaDB a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl start mariadb systemctl enable mariadb
mysql_secure_installation
Tento skript nastaví heslo uživatele root, odstraní anonymní uživatele, zakáže vzdálené přihlášení uživatele root a odstraní testovací databázi a přístup k ní, jak je uvedeno níže:
Enter current password for root (enter for none): Press the Enter key Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Krok 4 – Instalace PHP
apt-get install php php-cli php-mysql php-curl php-zip libapache2-mod-php -y
Jakmile jsou všechny balíčky nainstalovány, otevřete svůj soubor php.ini a upravte některá požadovaná nastavení:
nano /etc/php/7.2/apache2/php.ini
Změňte následující řádky. Níže uvedené hodnoty jsou skvělá nastavení pro prostředí LAMP:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Uložte a zavřete soubor. Poté restartujte webový server Apache, abyste použili konfiguraci.
systemctl restart apache2
Dále vytvořte soubor info.php v kořenovém adresáři dokumentů Apache, abyste otestovali PHP s Apache:
nano /var/www/html/info.php
Přidejte následující řádek:
<?php phpinfo( ); ?>
Uložte a zavřete soubor. Poté otevřete webový prohlížeč a navštivte adresu URL http://ip-vaseho-serveru/info.php. Na následující obrazovce byste měli vidět výchozí testovací stránku PHP.
Po otestování se doporučuje z bezpečnostních důvodů odstranit soubor info.php.
rm -rf /var/www/html/info.php
Krok 5 – Vytvoření virtuálního hostitele
Nejprve vytvořte soubor index.html pro vaši doménu example.com.
mkdir /var/www/html/example.com nano /var/www/html/example.com/index.html
Přidejte následující řádky:
<html> <title>example.com</title> <h1>Welcome to example.com Website</h1> <p>This is my LAMP server</p> </html>
Uložte a zavřete soubor. Poté změňte vlastnictví adresáře example.com a udělte potřebná oprávnění:
chown -R www-data:www-data /var/www/html/example.com chmod -R 755 /var/www/html/example.com
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro vaši doménu, example.com.
nano /etc/apache2/sites-available/example.com.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com DocumentRoot /var/www/html/example.com DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
Po dokončení uložte a zavřete soubor.
Zde je stručné vysvětlení každého parametru ve výše uvedeném souboru:
- ServerAdmin: Zadejte e-mailovou adresu správce serveru.
- Název serveru: Název domény, který je přidružen k IP adrese vašeho serveru.
- DocumentRoot: Zadejte umístění obsahu webové stránky.
- DirectoryIndex: Zadejte výchozí stránku, která se zobrazí při přístupu k adresáři.
- Protokol chyb: Umístění souboru protokolu chyb.
- Vlastní protokol: Umístění souboru protokolu přístupu.
Dále povolte virtuálního hostitele a restartujte webovou službu Apache, abyste použili konfiguraci:
a2ensite example.com systemctl restart apache2
Chcete-li svůj web otestovat, otevřete webový prohlížeč a zadejte adresu URL http://example.com. Budete přesměrováni na následující stránku:
Krok 6 – Zabezpečení webu pomocí Let’s Encrypt
V tuto chvíli váš web funguje dobře, ale není zabezpečený. Budete jej muset zabezpečit pomocí bezplatného protokolu SSL Let’s Encrypt.
Nejprve budete muset na svůj server nainstalovat klienta Certbot. Certbot je snadno použitelný klient, který lze použít ke stažení certifikátu z Let’s Encrypt a konfiguraci webového serveru Apache pro použití tohoto certifikátu.
apt-get install software-properties-common apt-transport-https ca-certificates -y add-apt-repository ppa:certbot/certbot
Jakmile je úložiště přidáno, aktualizujte úložiště a nainstalujte Certbot pomocí následujícího příkazu:
apt-get update -y apt-get install certbot python-certbot-apache -y
Dále spusťte následující příkaz k instalaci bezplatného šifrování SSL pro web example.com:
certbot --apache -d example.com
Budete vyzváni k zadání e-mailu a souhlasu s podmínkami služby, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Dále vyberte možnost 2 a stisknutím klávesy Enter stáhněte certifikát Let’s Encrypt a nakonfigurujte webový server Apache, aby tento certifikát používal. Po dokončení procesu instalace byste měli vidět následující výstup:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/example.com-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-10-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Nyní otevřete webový prohlížeč a přistupujte na svůj web zabezpečeně pomocí adresy URL https://example.com.
Závěr
Ve výše uvedeném tutoriálu jsme se naučili, jak nainstalovat server LAMP na Ubuntu 18.04 VPS. Také jsme se naučili, jak zabezpečit server LAMP pomocí bezplatného SSL Let’s Encrypt. Nyní můžete snadno nainstalovat server LAMP a zabezpečit jej pomocí bezplatného SSL Let’s Encrypt na Ubuntu 18.04 pomocí našich hostingových služeb VPS.