Dnes budeme diskutovat o tom, jak nakonfigurovat LAMP s Debianem. LAMP znamená Linux, Apache, MariaDB a Linux. Porozumíme všem instalačním postupům krok za krokem.
Jaké jsou předpoklady?
Jako předpoklad jsme požadovali čerstvě nainstalovaný Debian 11. Minimálně 4 GB RAM a 40 GB úložiště bude dobré. Pro demonstrační účely použiji virtuální stroj. V této ukázce budu používat virtuální stroj s IP adresou 192.168.135.128. IP adresa se může lišit podle vašeho místního prostředí. Nahraďte svá nastavení, pokud je IP adresa nastavena odpovídajícím způsobem.
Krok 1 – Připravte envortmenet pro server LAMP
Když jsem se dostal do testovacího prostředí, čelil jsem výzvě při spuštění příkazového řádku apt. Server stále žádá o DVD OS. Pojďme problém vyřešit.
Otevřený seznam zdrojů
# vim /etc/apt/sources.list
Vložte komentář na řádek obsahující Cdrom jako zdroj apt, uložte a ukončete.
Povolit ssh pro root.
Otevřete /etc/ssh/sshd_config a upravit nastavení oprávnění uživatele root. Vyhledejte PermitRootLogin a doplňte „ano“. Uložit a odejít. Nyní budete moci vzdáleně přistupovat k rootu pro Debian.
# vim /etc/ssh/sshd_config
Krok 2. Nainstalujte server Apache.
Začněme primárním prvkem serveru LAMP.
Nainstalujte apache.
# apt install apache2 apache2-utils
Zkontrolujte stav spuštěné služby apache2.
# systemctl status apache2
Chcete-li zkontrolovat úplný stav serveru apache, můžete spustit následující příkaz.
# apache2ctl fullstatus
Podívejte se, zda server apache2 běží nebo ne. Pokud by práce měla vypadat nějak jako níže.
Krok 3 Nainstalujte server MariaDB.
MariaDB lze nainstalovat pomocí následujícího příkazu.
# apt install mariadb-server mariadb-client
Zkontrolujte stav databázového serveru.
# systemctl status mariadb
Přiřaďte root heslo pro DB server.
# mysql_secure_installation
Zde jsme nainstalovali druhou komponentu LAMP serveru.
změňte heslo kořenového adresáře Mysql
alter user 'root'@'localhost' identified by 'MyRootUserPassword';
alter user 'mysql'@'localhost' identified by 'MyMysqlUserPassword';
flush privileges;
quit;
Přihlaste se do mysql
root@10debian-unixcop:~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Krok 4. Nainstalujte PHP.
Pojďme nainstalovat poslední balíček potřebný k dokončení zásobníku LAMP.
Nainstalujte požadovaný balíček pro PHP.
# apt install -y php php-mysql libapache2-mod-php php-xml
Ve výchozím nastavení tam nemusí být, povolte modul apache.
# a2enmod php7.4 Output
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Module php7.4 already enabled
Chcete-li otestovat svůj zásobník LAMP, vytvořte skript PHP následujícím způsobem.
vi /var/www/html/info.php
add the code
<?php phpinfo(); ?>
Otevřete webový prohlížeč a podívejte se, zda je služba nainstalována správně nebo ne.
Zde vidíme, že jsme nainstalovali všechny požadované komponenty LAMP. Cenné papíry nebo jiné parametry si můžete nastavit podle svých potřeb. V naší ukázce jsme nenastavili žádná nastavení brány firewall. Doporučuje se však ponechat nastavení zabezpečení nedotčené. Ujistěte se, že máte otevřený pouze požadovaný port a můžete zakázat služby nebo porty, které nejsou vyžadovány.
Krok 5. Optimalizace zdrojů zásobníku LAMP
Protože jsme nainstalovali všechny požadované aplikace, ujistěte se, že všechny fungují při spouštění systému.
Povolte službu apache2, aby běžela i při bootování.
# systemctl enable apache2
Vylaďte MariaDB, aby zůstala zapnutá i po restartu.
# systemctl enable mariadb
Krok 6. Nainstalujte PHPMyAdmin
Stáhnout balíček
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
Rozbalte balíček
# unzip phpMyAdmin-5.1.1-all-languages.zip
Přesuňte balíček phpMyAdmin do /usr/local drive
# mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin
mkdir /usr/share/phpmyamin/tmp
chmod 777 /usr/share/phpmyadmin/tmm
Přidejte disk phpMyAdmin do webové skupiny
# chown -R www-data:www-data /var/share/phpmyadmin
Nyní zkopírujte konfigurační soubor config.sample.nic.php do config.nic.php
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Zde jsme povinni vygenerovat heslo. Pojďme nainstalovat utilitu.
# apt-get install pwgen
Vygenerujte heslo a vygenerujte tajný klíč
# pwgen -s 32 1
přidat tajný klíč do config.inc.php
uložit a ukončit
Importujte create_tables.sql a vytvořte tabulky pro phpMyAdmin.
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p
Přihlaste se do MariaDB.
mysql -u root -p
Přidejte uživatele a udělte oprávnění k databázi phpMyAdmin.
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Nyní vytvořte alias phpmyadmin apache
# vim /etc/apache2/sites-available/phpmyadmin.conf
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Povolte virtuálního hostitele pomocí níže uvedeného příkazu.
a2ensite phpmyadmin
Uložte a ukončete.
Vytvořte pověření MySQL pro phpMyAdmin
MariaDB [(none)]> CREATE USER admin; Query OK, 0 rows affected (0.004 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> EXIT; Bye
Restartujte webovou službu
# systemctl restart apache2
Otevřete panel PHPMyAdmin v místním prohlížeči
Přihlaste se pomocí přihlašovacích údajů vytvořených v předchozím kroku ( admin :heslo ) a nyní můžete konfigurovat své prostředí.
Závěr
Konfiguraci zásobníku LAMP s Ubuntu můžeme uzavřít několika věcmi, které je třeba zvážit. Někdy není pro root povoleno ssh. Ukázali jsme, jak to povolit pro root. Zkontrolujte, zda jste schopni nainstalovat balíček pomocí zrcadla a ne pouze místního DVD. Někdy můžete vyžadovat instalaci balíčku lynx pro službu apache2. Pokusím se vytvořit několik článků na téma ‚zpevnění webových služeb, kde budeme diskutovat o certifikátech SSL, zabezpečení portů a ověřování heslem. Zůstaňte naladěni.