Tento tutoriál ukazuje, jak můžete nainstalovat webový server Apache2 na server CentOS 7.0 s podporou PHP5 (mod_php) a podporou MySQL. LAMP je zkratka pro L inux, A pache, M ySQL, P HP.
1 předběžná poznámka
V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.
Zde přidám repo EPEL pro instalaci nejnovější phpMyAdmin takto:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
2 Instalace MySQL / MariaDB
MariaDB je fork MySQL původního vývojáře MySQL Monty Widenius. MariaDB je kompatibilní s MySQL a rozhodl jsem se zde použít MariaDB místo MySQL. Chcete-li nainstalovat MySQL, nainstalujeme MariaDB takto:
yum -y install mariadb-server mariadb
Poté vytvoříme spouštěcí odkazy systému pro MySQL (takže se MySQL spustí automaticky při každém spuštění systému) a spustíme server MySQL:
systemctl start mariadb.service
systemctl enable mariadb.service
Nastavte hesla pro kořenový účet MySQL:
mysql_secure_installation[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:řádek 379:find_mysql_client:příkaz nenalezen
POZNÁMKA:SPUŠTĚNÍ VŠECH ČÁSTÍ TOHOTO SKRIPTU SE DOPORUČUJEME
Abyste se mohli přihlásit do MariaDB a zabezpečit ji, budeme potřebovat aktuální
heslo uživatele root. Pokud jste právě nainstalovali MariaDB a
ještě jste nenastavili heslo uživatele root, heslo bude prázdné,
měli byste tedy pouze stisknout zde enter.
Enter aktuální heslo pro root (zadejte pro žádné):<--ENTER
OK, úspěšně použité heslo, pokračujeme...
Nastavení hesla root zajistí, že se nikdo nemůže přihlásit k uživateli MariaDB
root bez řádné autorizace.
Nastavit heslo root? [A/N]
Nové heslo:<--yourmariadbpassword
Znovu zadejte nové heslo:<--yourmariadbpassword
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění...
... Úspěch!
Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje kdokoli
pro přihlášení do MariaDB, aniž by pro něj musel být vytvořen uživatelský účet. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Před přesunem do
produkčního prostředí byste je měli odstranit.
Odebrat anonymní uživatele? [A/N] ><--ENTER
... Úspěch!
Normálně by měl mít root povoleno připojení pouze z 'localhost'. To
zajišťuje, že někdo nemůže uhodnout heslo root ze sítě.
Zakázat vzdálené přihlášení root? [A/N] ><--ENTER
... Úspěch!
Ve výchozím nastavení přichází MariaDB s databází nazvanou „test“, ke které má
kdokoli přístup. Toto je také určeno pouze pro testování a mělo by být odstraněno
před přesunem do produkčního prostředí.
Odebrat testovací databázi a přístup k ní? [A/N] ><--ENTER
– Rušení testovací databáze...
... Úspěch!
– Odebírání oprávnění testovací databázi...
... Úspěch!
Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny
se okamžitě projeví.
Znovu načíst tabulky oprávnění nyní? [A/N] ><--ENTER
... Úspěch!
Úklid...
Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše instalace MariaDB
by nyní měla být zabezpečená.
Děkujeme, že používáte MariaDB!
[[email protected] ~]#
3 Instalace Apache2
CentOS 7 je dodáván s Apache 2.4. Apache2 je přímo dostupný jako balíček CentOS 7.0, takže jej můžeme nainstalovat takto:
yum -y install httpd[[email protected] ~]# yum install httpd
Načtené pluginy:nejrychlejší mirror, langpacks
Rychlosti načítání z hostitelského souboru uloženého v mezipaměti
* základ:ftp.plusline.de
* doplňky:mirror.23media.de
* aktualizace:mirror.23media.de
Balík httpd-2.4.6-17.el7.centos.1.x86_64 je již nainstalován a nejnovější verze
Není co dělat
[[e-mail chráněný] ~]#
Ve výchozím nastavení se nainstaluje apache, pokud ne, nainstalujte jej, jak je uvedeno výše
Nyní nakonfigurujte svůj systém tak, aby spouštěl Apache při spouštění...
systemctl start httpd.service
systemctl enable httpd.service
V CentOS 7.0 používá Firewall-cmd, takže jej přizpůsobím tak, aby umožňoval externí přístup k portu 80 (http) a 443 (https).
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Nyní nasměrujte svůj prohlížeč na http://192.168.0.100 a měli byste vidět zástupnou stránku Apache2:
4 Instalace PHP5
PHP5 a modul Apache PHP5 můžeme nainstalovat následovně:
yum -y install php
Poté musíme restartovat Apache:
systemctl restart httpd.service
5 Testování PHP5 / Získání podrobností o instalaci PHP5
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.
vi /var/www/html/info.php
<?php phpinfo(); ?>
Nyní tento soubor nazýváme v prohlížeči (např. http://192.168.0.100/info.php):
Jak vidíte, PHP5 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 zde není uveden, což znamená, že zatím nemáme podporu MySQL v PHP5.
6 Získání podpory MySQL v PHP5
Abychom získali podporu MySQL v PHP, můžeme nainstalovat balíček php-mysql. Je dobré nainstalovat některé další moduly PHP5, stejně jako je můžete potřebovat pro své aplikace. Dostupné moduly PHP5 můžete vyhledat takto:
yum search php
Vyberte ty, které potřebujete, a nainstalujte je takto:
yum -y install php-mysql
V dalším kroku nainstaluji některé běžné PHP moduly, které vyžadují systémy CMS jako Wordpress, Joomla a Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
Nyní restartujte Apache2:
systemctl restart httpd.service
Nyní znovu načtěte http://192.168.0.100/info.php ve svém prohlížeči a znovu přejděte dolů do sekce modulů. Nyní byste tam měli najít spoustu nových modulů jako curl atd.:
7 instalace phpMyAdmin
phpMyAdmin je webové rozhraní, pomocí kterého můžete spravovat své databáze MySQL.
phpMyAdmin lze nyní nainstalovat následovně:
yum install phpMyAdmin
Nyní nakonfigurujeme phpMyAdmin. Změnili jsme konfiguraci Apache tak, aby phpMyAdmin umožňoval připojení nejen z localhostu (zakomentováním stanzy
vi /etc/httpd/conf.d/phpMyAdmin.conf
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin #<Directory /usr/share/phpMyAdmin/> # <IfModule mod_authz_core.c> # # Apache 2.4 # <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 # </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/> Options none AllowOverride Limit Require all granted </Directory>
[...]
Dále změníme autentizaci v phpMyAdmin z cookie na http:
vi /etc/phpMyAdmin/config.inc.php
[...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...]
Restartujte Apache:
systemctl restart httpd.service
Poté můžete přistupovat k phpMyAdmin pod http://192.168.0.100/phpmyadmin/:
8 odkazů
Apache:http://httpd.apache.org/
PHP:http://www.php.net/
MySQL:http://www.mysql.com/
CentOS:http://www.centos.org/
phpMyAdmin:http://www.phpmyadmin.net/