Ukážeme vám, jak nainstalovat LAMP na CentOS 7. LAMP je ve skutečnosti zkratka pro zásobník řešení webových služeb sestávající z Linuxu, HTTP serveru Apache, databázových strojů MySQL nebo MariaDB a programovacího jazyka PHP, Perl nebo Python. Všechny komponenty jsou bezplatný a open source software a tato kombinace je vhodná pro vytváření dynamických webových stránek.
Požadavky?
Používáme náš hostovací plán SSD 1 VPS pro toto nastavení, což by mělo být více než dostatečné pro spuštění LAMP a hostit několik dynamických webových stránek pomocí direktiv virtuálního hostitele.
1. Aktualizujte systém
Jako vždy se ujistěte, že máte CentOS 7 VPS je plně aktuální a vy jste na screen
session pomocí následujících příkazů:
## screen -U -S lamp-centos7 ## yum update
2. Nainstalujte MariaDB
MariaDB je výchozí databázový server v CentOS 7, takže pokračujte a nainstalujte jej pomocí yum
pomocí následujícího příkazu:
## yum install mariadb mariadb-server mysql
Po instalaci přidejte bind-address = 127.0.0.1
na /etc/my.cnf.d/server.cnf
pro vazbu MariaDB pouze na localhost:
## vim /etc/my.cnf.d/server.cnf [mysqld] #log-bin=mysql-bin #binlog_format=mixed bind-address = 127.0.0.1
3. Restartujte a nakonfigurujte MariaDB
Restartujte databázový server MariaDB a povolte jeho spuštění při startu systému pomocí:
## systemctl restart mariadb ## systemctl status mariadb ## systemctl enable mariadb
4. Spusťte skript po instalaci MySQL
Nakonec můžete spustit mysql_secure_installation
poinstalační skript pro dokončení nastavení MariaDB. Například:
## mysql_secure_installation Enter current password for root (enter for none): ENTER Set root password? [Y/n] Y 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
5. Nainstalujte Apache
OK, zatím dobrý. Dále pokračujte v instalaci Apache, OpenSSL a mod_ssl pomocí yum
jako v:
## yum install httpd openssl mod_ssl
6. Restartujte a nakonfigurujte Apache
Restartujte Apache a přidejte jej, aby se automaticky spustil při startu vašeho systému pomocí:
## systemctl restart httpd ## systemctl status httpd ## systemctl enable httpd
Otestujte nastavení otevřením, například http://YOUR_SERVER_IP/ ve svém oblíbeném prohlížeči. Měli byste vidět výchozí stránku Apache, například:
Skvělý. Nyní nakonfigurujeme další možnosti Apache , například skryjte jeho číslo verze, jeho banner atd... přidáním následujícího do /etc/httpd/conf.d/options.conf
## vim /etc/httpd/conf.d/options.conf TraceEnable off ## Disable Signature ServerSignature Off ## Disable Banner ServerTokens Prod
Otestujte konfigurační soubor Apache a restartujte webový server, aby se změny projevily:
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
7. Nainstalujte PHP
Abychom mohli spouštět webové aplikace založené na PHP, musíme přidat podporu PHP na webový server Apache , takže nainstalujme některé požadované balíčky pomocí yum
:
## yum install php php-mysql
také možná budete chtít nainstalovat některá další rozšíření PHP vyžadovaná vašimi aplikacemi. Zde je seznam:
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
8. Nakonfigurujte PHP
OK, pokračujme v konfiguraci PHP. Upravte /etc/php.ini
a nastavte následující:
## vim /etc/php.ini date.timezone = America/New_York memory_limit = 64M expose_php = Off
restartujte Apache pomocí systemctl
aby se změny projevily:
## systemctl restart httpd ## systemctl status httpd
Otestujte, zda je modul PHP načten v Apache pomocí:
## httpd -M | grep php also ## php -v
Můžete vytvořit testovací info.php
skript také pomocí následujícího příkazu:
## echo -e "<?php\n\tphpinfo();" > /var/www/html/info.php
a otevřete jej pomocí následujícího příkazu:
## curl -I $(curl -s icanhazip.com)/info.php
9. Nastavte Apache VHosts
Nyní byste museli nastavit směrnice pro virtuální hostitele Apache, abyste mohli hostovat více domén, a to i těch, které využívají SSL, pomocí jedné IP adresy. Vytvořte tedy /etc/httpd/conf.d/vhosts.conf
a přidejte následující:
## cat /etc/httpd/conf.d/vhosts.conf # Load my vhosts IncludeOptional vhosts.d/*.conf
To říká Apache, aby načetl konfigurační soubory končící na .conf
které jsou umístěny v /etc/httpd/vhosts.d
. Jak můžete hádat, toto je místo, kam jsme umístili naše virtuální hostitele, takže si nastavíme jednoho pro domain1.com
a další pro domain2.net
VHOST pro doménu1.com
## cat /etc/httpd/vhosts.d/domain1.com.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain1.com" ServerName domain1.com ServerAlias www.domain1.com ErrorLog "/var/log/httpd/domain1.com-error_log" CustomLog "/var/log/httpd/domain1.com-access_log" combined <Directory "/var/www/html/domain1.com/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
VHOST pro doménu2.net
## cat /etc/httpd/vhosts.d/domain2.net.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain2.net" ServerName domain2.net ServerAlias www.domain2.net ErrorLog "/var/log/httpd/domain2.net-error_log" CustomLog "/var/log/httpd/domain2.net-access_log" combined <Directory "/var/www/html/domain2.net/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
10. Restartujte server Apache
Nakonec restartujte Apache, aby se změny projevily:
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
Samozřejmě nemusíte instalovat LAMP na CentOS 7, pokud používáte jeden z našich hostingových plánů CentOS 7, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám LAMP na CentOS 7 nainstalovali. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek o tom, jak nainstalovat LAMP na CentOS 7, líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.