GNU/Linux >> Znalost Linux >  >> Debian

Výukový program serveru Debian 9 LAMP s Apache, PHP 7 a MariaDB

LAMP je zkratka pro L inux, A pache, M ySQL, P HP. Tento tutoriál ukazuje, jak můžete nainstalovat webový server Apache na server Debian Stretch (9) s podporou PHP 7 (mod_php) a MariaDB. MariaDB je fork známého databázového serveru MySQL, poskytuje sadu funkcí kompatibilní s MySQL a je o něco rychlejší podle benchmarků, které jsem našel na internetu. MariaDB bude fungovat se všemi aplikacemi, které vyžadují MySQL, jako je Wordpress, Joomla atd.

Nastavení LAMP je dokonalým základem pro systémy CMS jako Joomla, Wordpress nebo Drupal.

1 předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.1.100. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.

2 Instalace MariaDB jako náhrady MySQL

Nejprve nainstalujeme MariaDB takto:

apt-get -y install mariadb-server mariadb-client

Dále zabezpečíme MariaDB pomocí mysql_secure_installation příkaz. Spusťte níže uvedený příkaz a postupujte podle průvodce.

mysql_secure_installation

Doporučený vstup je zobrazen červeně.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <-- Hit return
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] <-- y
New password: <-- Enter the new password for the MariaDB root user
Re-enter new password: <-- Enter the password again
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <-- y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <-- y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Nastavení MariaDB je nyní zabezpečeno.

3 Instalace webového serveru Apache

Apache je dostupný jako balíček Debianu, takže jej můžeme nainstalovat takto:

apt-get -y install apache2

Nyní nasměrujte svůj prohlížeč na http://192.168.1.100 a měli byste vidět zástupnou stránku Apache2 (funguje to!):

Výchozí kořen dokumentu Apache je v Debianu /var/www a konfigurační soubor je /etc/apache2/apache2.conf. Další konfigurace jsou uloženy v podadresářích adresáře /etc/apache2, jako je /etc/apache2/mods-enabled (pro moduly Apache), /etc/apache2/sites-enabled (pro virtuální hostitele) a /etc/apache2/conf - povoleno.

4 Instalace PHP 7.1

PHP a modul Apache PHP můžeme nainstalovat následovně:

apt-get -y install php7.0 libapache2-mod-php7.0

Poté musíme restartovat Apache:

service apache2 restart

5 Testování PHP / Získání podrobností o instalaci PHP

Kořen dokumentu výchozí webové stránky je /var/www/html. Nyní v tomto adresáři vytvoříme malý PHP soubor (info.php) a zavoláme jej v prohlížeči. Soubor zobrazí spoustu užitečných podrobností o naší instalaci PHP, jako je nainstalovaná verze PHP.

nano /var/www/html/info.php
<?php
phpinfo();

Nyní tento soubor nazýváme v prohlížeči (např. http://192.168.1.100/info.php):

Jak vidíte, PHP 7.0 funguje a funguje přes Apache 2.0 Handler, jak je znázorněno na řádku Server API. Pokud se posunete dále dolů, uvidíte všechny moduly, které jsou již povoleny v PHP5. MySQL / MariaDB zde není uveden, což znamená, že zatím nemáme podporu MySQL v PHP5.

6 Získání podpory MySQL a MariaDB v PHP

Abychom získali podporu MySQL v PHP, nainstalujeme balíček php7.0-mysql. Je dobré nainstalovat některé další moduly PHP, stejně jako je můžete potřebovat pro své aplikace. Dostupné moduly PHP 7 můžete hledat takto:

apt-cache search php7.0

Vyberte ty, které potřebujete, a nainstalujte je takto:

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl

Nyní restartujte Apache:

service apache2 restart

7 PHP cache pro zvýšení rychlosti PHP

Pro urychlení PHP by měla být nainstalována Opcache. Zkontrolujte, zda byl správně nainstalován a povolen modul PHP Opcache. Spusťte tento příkaz:

php --version

Výstup bude obsahovat řádek, který jsem označil červeně.

PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Pokud ve výsledku nevidíte modul Opcache, nainstalujte jej pomocí tohoto příkazu:

apt-get -y install php7.0-opcache

Existuje ještě jedna cache, která by mohla být užitečná, jmenuje se APCu. APCu je bezplatná mezipaměť operačních kódů PHP pro ukládání a optimalizaci přechodného kódu PHP.

APCu lze nainstalovat následovně:

apt-get -y install php-apcu

Nyní restartujte Apache:

service apache2 restart

Nyní znovu načtěte http://192.168.1.100/info.php ve svém prohlížeči a znovu přejděte dolů do sekce moduly. Nyní byste tam měli najít spoustu nových modulů, včetně modulu MySQL, který se používá jako ovladač MariaDB:

8 phpMyAdmin

phpMyAdmin je webové rozhraní, přes které můžete spravovat své databáze MySQL a MariaDB. Je to dobrý nápad nainstalovat:

apt-get -y install phpmyadmin

Uvidíte následující otázky:

Web server to reconfigure automatically: <-- apache2

Configure database for phpmyadmin with dbconfig-common?<-- Yes

MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.

Poté můžete přistupovat k phpMyAdmin pod http://192.168.1.100/phpmyadmin/:

9 Povolit přihlášení kořenového adresáře MySQL pro phpMyAdmin

I když se můžete přihlásit jako uživatel root do MariaDB v shellu, přihlášení root nebude fungovat v phpMyAdmin. Chcete-li umožnit uživateli root používat také phpMyAdmin, spusťte v shellu následující příkaz:

echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p
  • Apache:http://httpd.apache.org/
  • PHP:http://www.php.net/
  • MySQL:http://www.mysql.com/
  • Debian:http://www.debian.org/
  • phpMyAdmin:http://www.phpmyadmin.net/

Debian
  1. Jak nastavit Opencart pomocí LAMP (PHP, Apache, Mariadb) na Debianu 11

  2. Jak nainstalovat a nastavit PHP a Apache (LAMP stack) na Debian 11

  3. Nainstalujte a nakonfigurujte Apache a PHP s cgi na Ubuntu nebo Debianu

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

  2. Nastavte Apache a Php pomocí mod_fcgid na Ubuntu/Debian

  3. Nainstalujte Zenario s Apache, PHP a MariaDB na CentOS 7

  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. Nainstalujte Apache, PHP a MySQL na CentOS 7 (LAMP)