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
10 odkazů
- 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/