GNU/Linux >> Znalost Linux >  >> Linux

Nainstalujte LAMP Server s Let’s Encrypt Free SSL na Ubuntu 18.04

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.


Linux
  1. Jak nainstalovat LAMP s PHP 7.4 na Ubuntu 20.04

  2. Jak nainstalovat Gitea s NGINX a Free Let's Encrypt SSL na Ubuntu 20.04

  3. Jak nainstalovat Let's Encrypt SSL s Apache na Debian 11

  1. Výukový program serveru Ubuntu 14.10 LAMP s Apache 2, PHP 5 a MySQL (MariaDB)

  2. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  3. Jak nainstalovat PHP-FPM s Apache na Ubuntu 20.04

  1. Výukový program serveru Ubuntu 15.04 LAMP s Apache 2, PHP 5 a MariaDB (místo MySQL)

  2. Výukový program serveru Ubuntu 15.10 LAMP s Apache 2.4, PHP 5 a MariaDB (místo MySQL)

  3. Jak nainstalovat Concrete5 CMS s Apache a zdarma Lets Encrypt SSL na Ubuntu 20.04